;ELC   
;;; Compiled by rms@psilocin.gnu.org on Mon May  4 23:30:26 1998
;;; from file /gd/gnu/emacs/lisp/ediff-diff.el
;;; in Emacs version 20.2.92.10
;;; with bytecomp version 2.41
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`ediff-diff.el' was compiled for Emacs 19.29 or later"))


(byte-code "\303\304!\210\305B\306\307!\210\310\304\311\312	\313\n\314&\207" [current-load-list :prefix :group provide ediff-diff ediff-default-variant require ediff-init custom-declare-group nil "Diff related utilities" "ediff-" ediff] 8)
#@366 *The shell used to run diff and patch.  If user's .profile or
.cshrc files are set up correctly, any shell will do.  However, some people
set $prompt or other things incorrectly, which leads to undesirable output
messages.  These may cause Ediff to fail.  In such a case, set ediff-shell
to a shell that you are not using or, better, fix your shell's startup file.
(custom-declare-variable 'ediff-shell '(cond ((eq system-type 'emx) "cmd") ((memq system-type '(ms-dos windows-nt windows-95)) shell-file-name) ((memq system-type '(vax-vms axp-vms)) "*dcl*") (t "sh")) '(#$ . -780) :type 'string :group 'ediff-diff)
#@119 *Utility to use to determine if two files are identical.
It must return code 0, if its arguments are identical files.
(custom-declare-variable 'ediff-cmp-program '"cmp" '(#$ . -1401) :type 'string :group 'ediff-diff)
#@67 *Program to use for generating the differential of the two files.
(custom-declare-variable 'ediff-diff-program '"diff" '(#$ . -1624) :type 'string :group 'ediff-diff)
#@225 *Options to pass to `ediff-diff-program'. 
If diff(1) is used as `ediff-diff-program', then the most useful options are
`-w', to ignore space, and `-i', to ignore case of letters.
At present, the option `-c' is not allowed.
(custom-declare-variable 'ediff-diff-options '"" '(#$ . -1798) :type 'string :group 'ediff-diff)
#@121 *Program to use for generating custom diff output for saving it in a file.
This output is not used by Ediff internally.
(custom-declare-variable 'ediff-custom-diff-program 'ediff-diff-program '(#$ . -2126) :type 'string :group 'ediff-diff)
#@50 *Options to pass to `ediff-custom-diff-program'.
(custom-declare-variable 'ediff-custom-diff-options '"-c" '(#$ . -2372) :type 'string :group 'ediff-diff)
#@69 Pattern to match lines produced by diff3 that describe differences.
(defvar ediff-match-diff3-line "^====\\(.?\\)$" (#$ . 2533))
#@105 *Program to be used for three-way comparison.
Must produce output compatible with Unix's diff3 program.
(custom-declare-variable 'ediff-diff3-program '"diff3" '(#$ . -2669) :type 'string :group 'ediff-diff)
#@44 *Options to pass to `ediff-diff3-program'.
(custom-declare-variable 'ediff-diff3-options '"" '(#$ . -2882) :type 'string :group 'ediff-diff)
#@128 *Regexp that matches normal output lines from `ediff-diff3-program'.
Lines that do not match are assumed to be error messages.
(custom-declare-variable 'ediff-diff3-ok-lines-regexp '"^\\([1-3]:\\|====\\|  \\|.*Warning *:\\|.*No newline\\|.*missing newline\\|^$\\)" '(#$ . -3030) :type 'regexp :group 'ediff-diff)
#@2 
(defvar ediff-diff-status "" (#$ . 3349))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-diff-status put permanent-local t] 4)
#@324 If `on', Ediff auto-highlights fine diffs for the current diff region.
If `off', auto-highlighting is not used. If `nix', no fine diffs are shown
at all, unless the user force-refines the region by hitting `*'.

This variable can be set either in .emacs or toggled interactively.
Use `setq-default' if setting it in .emacs
(defvar ediff-auto-refine (byte-code "\300 \203 \301\207\302\207" [ediff-has-face-support-p on nix] 1) (#$ . 3519))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-auto-refine put permanent-local t] 4)
#@201 *If t, skip over difference regions that differ only in the white space and line breaks.
This variable can be set either in .emacs or toggled interactively.
Use `setq-default' if setting it in .emacs
(defvar ediff-ignore-similar-regions nil (#$ . -4086))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-ignore-similar-regions put permanent-local t] 4)
#@64 *Auto-refine only the regions of this size (in bytes) or less.
(defvar ediff-auto-refine-limit 1400 (#$ . -4478))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-auto-refine-limit put permanent-local t] 4)
#@260 Regexp that matches normal output lines from `ediff-diff-program'.
This is mostly lifted from Emerge, except that Ediff also considers
warnings and `Missing newline'-type messages to be normal output.
Lines that do not match are assumed to be error messages.
(defvar ediff-diff-ok-lines-regexp "^\\([0-9,]+[acd][0-9,]+?$\\|[<>] \\|---\\|.*Warning *:\\|.*No +newline\\|.*missing +newline\\|^?$\\)" (#$ . 4725))
#@68 Pattern to match lines produced by diff that describe differences.
(defvar ediff-match-diff-line (byte-code "\301\302\303\304\260)\207" [x "\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)" "^" "\\([acd]\\)" "?$"] 5) (#$ . 5143))
#@402 value is a function symbol depending on the kind of job is to be done.
For 2-way jobs and for ediff-merge, it should be `ediff-setup-diff-regions'.
For jobs requiring diff3, it should be `ediff-setup-diff-regions3'.

The function should take three mandatory arguments, file-A, file-B, and
file-C. It may ignore file C for diff2 jobs. It should also take
one optional arguments, diff-number to refine.
(defvar ediff-setup-diff-regions-function nil (#$ . 5371))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-setup-diff-regions-function put permanent-local t] 4)
(defalias 'ediff-setup-diff-regions #[(file-A file-B file-C) "\306\307\"\203 \310\311!\210	\203 \312	!\203 \313\312	!!\204$ \314\315\316\317\"!\320	\n#\210\321\f	\"\210\322\323	#!\207" [ediff-diff-options ediff-diff-buffer file-A file-B ediff-diff-ok-lines-regexp ediff-word-mode string-match "c" error "Option `-c' is not allowed in `ediff-diff-options'" get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-diff" "*" ediff-make-diff2-buffer ediff-prepare-error-list ediff-convert-diffs-to-overlays ediff-extract-diffs ediff-narrow-bounds] 5])
(defalias 'ediff-make-diff2-buffer #[(diff-buffer file1 file2) "\306	\307\")\n\306	\307\")\211\247\204$ \310\311\312!\"\210\313\314!\210\315\202\253 \247\2048 \310\311\312\n!\"\210\313\314!\210\315\202\253 \f\316W\203M \310\317\312!\"\210\313\314!\210\315\202\253 \316W\203f \310\320\312\n!\"\210\313\314!\210\310\321!\210\315\202\253 \310\322\323!\323\n!#\210\324\325\n&\210\310\321!\210\203\240 \326!\203\240 \327\326!!\203\240 rq\210\330 )\202\253 \331=\206\253 \332!*\207" [file1 filename file2 file2-size file1-size ediff-diff-program ediff-file-attributes 7 message "Can't find file: %s" ediff-abbreviate-file-name sit-for 2 1 0 "Can't diff remote files: %s" "Can't diff remote file: %s" "" "Computing differences between %s and %s ..." file-name-nondirectory ediff-exec-process synchronize get-buffer buffer-name buffer-size ediff-quit error diff-buffer ediff-diff-options this-command ediff-KILLED-VITAL-BUFFER] 8])
(defalias 'ediff-setup-fine-diff-regions #[(file-A file-B file-C reg-num) "\203 \306!\203 \307\306!!\204 \310\311\312\313\"!\314\211\211\211\211 \211\203/ !\2021 \"\203; #\202= $\203G %\202I &\315'TC()*\203` \316\317)(#\210*\320\f\321+\203p +\202r ,,\203| ,\202~ +\205\216 -\203\214 -\202\216 ,&\210\322\n\"\210\323\314()*\203\251 \316\317)(#\210*\203\266 \324\325\326#\202\272 \327\326\"\203\346 +\204\315 \330\331	A\"\210\202\346 ,\204\333 \330\332	A\"\210\202\346 -\204\346 \330\333	A\"\210	'.\334\335	.#\210\334\336	.#\210 \205\334\337	.#.\207" [ediff-fine-diff-buffer diff-list ok-regexp diff-options diff-program diff3-job get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-fine-diff" "*" nil "Refining difference region %d ..." apply message ediff-exec-process synchronize ediff-prepare-error-list "" ediff-extract-diffs3 3way-comparison word-mode ediff-extract-diffs mapcar #[(elt) "\301\302I\210\303\302I\207" [elt 0 nil 1] 3] #[(elt) "\301\302I\210\303\302I\207" [elt 2 nil 3] 3] #[(elt) "\301\302I\210\303\302I\207" [elt 4 nil 5] 3] ediff-set-fine-overlays-in-one-buffer A B C ediff-3way-job ediff-diff3-program ediff-diff-program ediff-diff3-options ediff-diff-options ediff-diff3-ok-lines-regexp ediff-diff-ok-lines-regexp reg-num args string ediff-verbose-p file-A file-B file-C region-num] 9])
(defalias 'ediff-prepare-error-list #[(ok-regexp diff-buff) "\203 \306!\203 \307\306!!\204 \310\311\312\313\"!\203n \306!\203n \307\306!!\203n rq\210\314 \210	\203N \306	!\203N \307\306	!!\203N r	q\210\315 )\202W \n\316=\206W \317!c\210eb\210\320\f!\210\321>\203j \320\322!\210)\202x \n\316=\204x \317!\210\203\224 \306!\203\224 \307\306!!\203\224 rq\210\323 )\202\235 \n\316=\206\235 \317!\324U?\205\327 \325 \210\326!\210\211\203\321 \306!\203\321 \307\306!!\203\321 \327\306!!\210)\317\330	\"*\207" [ediff-error-buffer diff-buff this-command ediff-KILLED-VITAL-BUFFER ok-regexp system-type get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-errors" "*" erase-buffer buffer-string ediff-quit error delete-matching-lines (vax-vms axp-vms) "^$" buffer-size 0 ediff-skip-unsuitable-frames switch-to-buffer kill-buffer "Errors in diff output. Diff output is in %S" ediff-control-buffer error-buf ctl-buf buf] 5])
(defalias 'ediff-extract-diffs #[(diff-buffer word-mode &optional bounds) "	\n\306\211\211\307\211\211 !\"#$\203! \310\202\" \311B%\203g %@&\312&!\205F '\203B \313&!\202F \314&!)%A@&\312&!\205e '\203a \313&!\202e \314&!)#\203\220 \315#!\203\220 \316\315#!!\203\220 r#q\210\f\203\211 \f\202\212 eb\210)\202\234 (\317=\204\234 \320)!\210\"\203\305 \315\"!\203\305 \316\315\"!!\203\305 r\"q\210\203\276 \202\277 eb\210)\202\321 (\317=\204\321 \320)!\210!\203\315!!\203\316\315!!!\203!\203\315!!\203\316\315!!!\203r!q\210eb\210)\202(\317=\204\320)!\210*\203\230\315*!\203\230\316\315*!!\203\230r*q\210eb\210\321+\307\322#\203\224\323\306\224\306\225{!,\324\224\324\225-\211.\203X\323.-{!\202Z,*/\325\224\325\225{0\323\326\224\326\225{!1\327\224\327\225-\211.\203\203\323.-{!\202\2051*2\3073\3074\3075\3076\3077\3078\3079\307:0\330\230\203\2672T2,T\211,/\202\3300\331\230\203\316/T/1T\21112\202\330/T/2T2;\332=\203\3521728\202\362,7/8$\203f!\2036\315!!\2036\316\315!!!\2036\333, Z/,Z1Z21Z7Z87Z\307\211\211\211\211&\202T\333, Z/,Z1Z21Z\307\211\211\211\211\211\211&C\244/ 28\202\217#\203\234\315#!\203\234\316\315#!!\203\234r#q\210, Zy\210`3/,Zy\210`4/ )\202\250(\317=\204\250\320)!\210\"\203\336\315\"!\203\336\316\315\"!!\203\336r\"q\2101Zy\210`521Zy\210`62)\202\352(\317=\204\352\320)!\210!\203A\315!!\203A\316\315!!!\203A!\2035\315!!\2035\316\315!!!\2035r!q\2107Zy\210`987Zy\210`:8)\202A(\317=\204A\320)!\210!\203z\315!!\203z\316\315!!!\203z\33334569:\307\211;\332=\203q\334\202r\335;\307&\202\214\3333456\307\211\211\211\211\211\211&C\244.\2020)\202\244(\317=\204\244\320)!\210.	\207" [ediff-buffer-A ediff-buffer-B ediff-buffer-C shift-B shift-A diff-list 1 nil words points ediff-overlayp overlay-start extent-start-position get-buffer buffer-name ediff-quit error re-search-forward t string-to-int 3 4 5 7 "a" "d" default-B vector A B c-prev b-prev a-prev C-buffer B-buffer A-buffer word-mode bounds overl ediff-emacs-p this-command ediff-KILLED-VITAL-BUFFER diff-buffer ediff-match-diff-line a-begin e b a-end diff-type b-begin b-end a-begin-pt a-end-pt b-begin-pt b-end-pt c-begin c-end c-begin-pt c-end-pt ediff-default-variant] 14])
(defalias 'ediff-convert-diffs-to-overlays #[(diff-list) "\305\306\"\210\305\307\"\210	\203 \305\310\"\210\n\203 \305\311\"\210\203( \312\313\314A\"!\315\316!\207" [diff-list ediff-3way-job ediff-merge-with-ancestor-job ediff-merge-job ediff-state-of-merge ediff-set-diff-overlays-in-one-buffer A B C Ancestor vconcat mapcar #[(elt) "\303H\304H\305\n\205 \306\307\n\"	\"*\207" [elt state-of-ancestor state-of-merge 9 10 vector format "%S"] 4] message "Processing difference regions ... done"] 4])
(defalias 'ediff-set-diff-overlays-in-one-buffer #[(buf-type diff-list) "\306	\307=\203\f \n\202' 	\310=\203 \202' 	\311=\203  \f\202' 	\312=\205' 34@5	\307=\203: 6@\202Q 	\310=\203G 6A@\202Q 	\311=\205Q \313687\3147!\205j 8\203f \3157!\202j \3167!)9	\307=\203y 6@\202\220 	\310=\203\206 6A@\202\220 	\311=\205\220 \313687\3147!\205\251 8\203\245 \3177!\202\251 \3207!):\321;\321<\321=\321>\321$\321?\321@\321A4A\2114G=3\203\357 \3223!\203\357 \323\3223!!\203\357 r3q\2109?)\202\373 B\324=\204\373 \325C!\2104\203\204T4@\211<	\307=\203\326\202(	\310=\203\313\202(	\311=\203'\327\202(\330H><	\307=\2037\331\202L	\310=\203A\332\202L	\311=\203K\333\202L\334H$<\335HA	A=\204\201	\312=\204\201A\336>\203\201\337	\337A\307\310\311E\"\"@A\340\341A\"A\202\204\321A5\342=\2033\203\255\3223!\203\255\323\3223!!\203\255r3q\210?b\210)\202\271B\324=\204\271\325C!\210\343>T3\">\343$3\344#\211$:V\203\326:$>$V\203\342$>3\203\3223!\203\323\3223!!\203r3q\210`)\202\fB\324=\206\f\325C!?\345>$3#@\346@\347D#\210\346@\350#\210\351 \203\\E\203\\F\203\\\352@	G\211\353G\331\"\331=\203NH\202PIJ\354	J\"A,\"\210\355\356\"\326U\203m\357\360	=$\210;\361@\321\211A$C\244;4A\2114\204 	KJ\354	J\"A*\362;!L.\207" [current-diff buf-type ediff-buffer-A ediff-buffer-B ediff-buffer-C ediff-ancestor-buffer -1 A B C Ancestor 2 ediff-overlayp overlay-start extent-start-position overlay-end extent-end-position nil get-buffer buffer-name ediff-quit error 0 4 6 1 3 5 7 8 (A B C) delq format "=diff(%S)" words ediff-goto-word end ediff-make-bullet-proof-overlay ediff-overlay-put priority ediff-diff-num ediff-has-face-support-p ediff-set-overlay-face logand assoc mod 10 message "Buffer %S: Processing difference region %d of %d" vector vconcat buff diff-list diff-list-type ediff-narrow-bounds overl ediff-emacs-p shift limit diff-overlay-list list-element total-diffs begin pt-saved overlay state-of-diff this-command ediff-KILLED-VITAL-BUFFER ediff-shadow-overlay-priority ediff-use-faces ediff-highlight-all-diffs dif-num ediff-even-diff-face-alist ediff-odd-diff-face-alist alist ediff-difference-vector-alist] 8])
(defalias 'ediff-make-fine-diffs #[(&optional n flag) "\204 	\n\306W\203 \307!\210\f\203 \310\3112\312W\206\340\nY\206\340\3133!456\314\315\"\314\316\"\314\317\"\320\315\"\320\316\"\320\317\"\321789:;<=>?@A\322\321=<;E\"G\306V\203%\323!\203 B\203 \324\317\321#\210C\203\266 \325T=\204\220 \315\202\240 <\204\231 \316\202\240 ;?\205\240 \317DDEF\203\262 \326\327ED#\210*\202\344 \330T=\203\302 \315\202\321 <\203\313 \316\202\321 ;\205\321 \317DDEF\203\343 \326\327ED#\210*:\203\f9\203\f8\203\f\315GHI\331IH\"A*JH\332\333I\210\202\333\315GHI\331IH\"A*JH\332\321I\210\202\333\334=\203\272\315GHI\331IH\"A*JH\306H\203\272\315GHI\331IH\"A*JH\332H\203\333\327\335T\315GHI\331IH\"A*JH\332H\315=\203z\336\202\265\315GHI\331IH\"A*JH\332H\316=\203\227\337\202\265\315GHI\331IH\"A*JH\332H\317=\203\264\340\202\265\341#\210\202\333\310=\203\360\342\315G\"JH\306H\204\3332\343>\204\333\344T\345\346!DDEF\203\354\326\327ED#\210*\202\333\347\350\315\351#\350\315\352#JAK%\210\353A\354@#@\347\350\316\351#\350\316\352#LAK%\210\353A\355?#?M\203I\347\350\317\351#\350\317\352#NAK%\210\353A\356>#>@4?5>6M\203k:\203k\357\321?>$\210\202\241M\203\2019\203\201\357@\321>$\210\202\241M\203\2278\203\227\357@?\321$\210\202\241\357@?>$\210\315GHI\331IH\"A*JH\306HG\316GHI\331IH\"A*JH\306HG\\>\203\356B\204\356\317GHI\331IH\"A*JH\306HG\202\357\312\\7:\2039\2038\204:\204K9\204KM\2038\204K7\312=\203K\315GHI\331IH\"A*JH\332\333I\210\360TCDEF\203G\326\327ED#\210*\202\3337\312=\203\305\335T:\203t\315GHI\331IH\"A*JH\332\315I\210\336\202\2579\203\223\315GHI\331IH\"A*JH\332\316I\210\337\202\2578\205\257\315GHI\331IH\"A*JH\332\317I\210\340DDEF\203\301\326\327ED#\210*\202\333\315GHI\331IH\"A*JH\332\321I\210\361!.\207" [n ediff-current-difference ediff-number-of-differences ediff-NO-DIFFERENCES ediff-word-mode flag 1 error skip nix 0 get-buffer-create ediff-empty-diff-region-p A B C ediff-whitespace-diff-region-p nil delq ediff-looks-like-combined-merge ediff-set-fine-overlays-in-one-buffer "Region %d is empty in all buffers but %S" apply message "Region %d in buffer %S is empty" assoc 2 t noforce "Only white-space differences in region %d %s" "in buffers B & C" "in buffers A & C" "in buffers A & B" "" ediff-get-symbol-from-alist (off nix) "Region %d exceeds auto-refine limit. Type `%s' to refine" substitute-command-keys "\\[ediff-make-or-kill-fine-diffs]" ediff-wordify ediff-get-diff-posn beg end ediff-make-temp-file "fineDiffA" "fineDiffB" "fineDiffC" ediff-setup-fine-diff-regions "Only white-space differences in region %d" ediff-set-fine-diff-properties ediff-auto-refine ediff-tmp-buffer ediff-temp-file-A ediff-temp-file-B ediff-temp-file-C cumulative-fine-diff-length whitespace-C whitespace-B whitespace-A empty-C empty-B empty-A file-C file-B file-A tmp-buffer ediff-merge-job ediff-3way-comparison-job args string ediff-verbose-p ediff-difference-vector-alist alist buf-type ediff-buffer-A ediff-control-buffer ediff-buffer-B ediff-3way-job ediff-buffer-C] 12])
(defalias 'ediff-install-fine-diff-if-necessary #[(n) "\303=\2030 	\304\305\306\n#\304\305\307\n#ZV\203+ 	\304\310\306\n#\304\310\307\n#ZV\203+ \311\n\312\"\207\311\n\313\"\207\314=\205: \311\n\313\"\207" [ediff-auto-refine ediff-auto-refine-limit n on ediff-get-diff-posn A end beg B ediff-make-fine-diffs noforce skip off] 6])
(defalias 'ediff-set-fine-diff-properties #[(n &optional default) "\304 ?\206' \305W\206' 	Y\206' \306\307\n#\210\306\310\n#\210\205' \306\311\n#\207" [n ediff-number-of-differences default ediff-3way-job ediff-has-face-support-p 0 ediff-set-fine-diff-properties-in-one-buffer A B C] 4])
(defalias 'ediff-set-fine-diff-properties-in-one-buffer #[(buf-type n &optional default) "	\306\n\"A*JH\307H\f\203 \304\202# \310\306\n\"A*!\f\203+ \311\202? \312\306\n\"A*J\313\"\206> \311T\314\315\"+\207" [buf-type ediff-difference-vector-alist alist n default ediff-fine-diff-face-alist assoc 1 face-name 0 ediff-overlay-get priority mapcar #[(overl) "\303	\"\210\304\302\n#\207" [overl face priority ediff-set-overlay-face ediff-overlay-put] 4] ediff-current-diff-overlay-alist face fine-diff-vector] 6])
(defalias 'ediff-set-fine-overlays-for-combined-merge #[(diff-list reg-num) "\306\211\211\307@A@\f#\307\3108\3118\f#\307\3128\3138\f#\314\315\"A*JH\316\317\n	#I+\207" [overlay3 overlay2 overlay1 diff-list ediff-buffer-C ediff-difference-vector-alist nil ediff-make-bullet-proof-overlay 2 3 4 5 C assoc 1 vector alist buf-type reg-num] 6])
(defalias 'ediff-set-fine-overlays-in-one-buffer #[(buf-type diff-list region-num) "\306\307	\310\n#	\311=\203 \f\202/ 	\312=\203 \202/ 	\313=\203' !\202/ 	\314=\205/ \"#\315$\315%\315&\315'\315\315(\n	)	*+\316	+\"A*J)H\211,\203g \317\320,\321H\"\210)	*+\316	+\"A*J)H\321\315I\210*-A-#\203\244 \322#!\203\244 \323\322#!!\203\244 r#q\210b\210)\202\260 .\324=\204\260 \325/!\2100\203\314 	\313=\203\314 \326\n!\211$\203\314 \327$\n\"\202Y-\203CT-@\211&	\311=\203\344 \330\202\357 	\312=\203\356 \331\202\357 \332H'&	\311=\203\376 \321\202		\312=\203\333\202	\334H'\204\203:\335'T#\"'\335#\336#\337'##(%(C\244%-A\211-\204\321 	*+\316	+\"A*J\nH\321\340%!I.	\207" [current-diff buf-type region-num reg-start ediff-buffer-A ediff-buffer-B -1 ediff-get-diff-posn beg A B C Ancestor nil assoc mapcar ediff-delete-overlay 1 get-buffer buffer-name ediff-quit error ediff-looks-like-combined-merge ediff-set-fine-overlays-for-combined-merge 0 2 4 3 5 ediff-goto-word end ediff-make-bullet-proof-overlay vconcat ediff-buffer-C ediff-ancestor-buffer buff combined-merge-diff-list diff-overlay-list list-element begin overlay n ediff-difference-vector-alist alist diff-record diff-list this-command ediff-KILLED-VITAL-BUFFER ediff-merge-job] 5])
(defalias 'ediff-get-diff3-group #[(file) "\212\302\303\304Q!\210\305y\210\306\224\306\225{\307\230\203= \310\224\203- \311\305\224\305\225{!\311\312\224\312\225{!TD\202G \311\305\224\305\225{!\211\211T)D\202G \311\305\224\305\225{!T\211D)\207" [file x re-search-forward "^" ":\\([0-9]+\\)\\(,\\([0-9]+\\)\\)?\\([ac]\\)$" 1 4 "c" 2 string-to-int 3] 5])
(defalias 'ediff-extract-diffs3 #[(diff-buffer word-mode three-way-comp &optional bounds) "	\n\306\211\211\211\307\211\211\211 !\"#$%&'()*\203+ \310\202, \311!B!+\203\230 +@,\312,!\205R -\203N \313,!\202R \314,!) +A@,\312,!\205r -\203n \313,!\202r \314,!).\205\227 \315+8,\312,!\205\226 -\203\222 \313,!\202\226 \314,!))\203\303 \316)!\203\303 \317\316)!!\203\303 r)q\210 \203\274  \202\275 eb\210)\202\317 /\320=\204\317 \3210!\210(\203\370 \316(!\203\370 \317\316(!!\203\370 r(q\210\203\361 \202\362 eb\210)\202/\320=\204\3210!\210.\203>'\2032\316'!\2032\317\316'!!\2032r'q\210\f\203+\f\202,eb\210)\202>/\320=\204>\3210!\210&\203\200\316&!\203\200\317\316&!!\203\200&\203t\316&!\203t\317\316&!!\203tr&q\210eb\210)\202\200/\320=\204\200\3210!\2101\203 \3161!\203 \317\3161!!\203 r1q\210eb\210\3222\307\323#\203\306y\210\306\224\306\225{3.\204\2743\324\230\204\325\326!@4\325\326!A@5\325\327!@6\325\327!A@7\325\324!@8\325\324!A@93\326\230\203\356\330\202\3733\327\230\203\371\331\202\373:\211;\332>\203\333\202\334<3\326\230\203\334\202(3\327\230\203 \333\202(3\324\230\205(\335=\307>\307?\307@\307A\307B\307C\307D\307E\307F\307G\307H89U>.\203b8?9@\202|:\336=\203t6?7@\202|4?5@*\203\274!\3374%Z54Z6$Z76Z?#Z@?Z\307\211\211\211\211&C\244!5%7$@#\202)\203\362\316)!\203\362\317\316)!!\203\362r)q\2104%Zy\210`A54Zy\210`B5%)\202\376/\320=\204\376\3210!\210(\2034\316(!\2034\317\316(!!\2034r(q\2106$Zy\210`C76Zy\210`D7$)\202@/\320=\204@\3210!\210'\203v\316'!\203v\317\316'!!\203vr'q\210?#Zy\210`E@?Zy\210`F@#)\202\202/\320=\204\202\3210!\210&\203\331\316&!\203\331\317\316&!!\203\331&\203\315\316&!\203\315\317\316&!!\203\315r&q\2108\"Zy\210`G98Zy\210`H9\")\202\331/\320=\204\331\3210!\210!.\203\371\337ABCDEF\307\211=\307\211&C\202\337ABCDEFGH<;>&C\244!.)\202\235)\202,/\320=\204,\3210!\210!.\f\207" [ediff-buffer-A ediff-buffer-B ediff-buffer-C ediff-ancestor-buffer shift-C shift-B 1 nil words points ediff-overlayp overlay-start extent-start-position 2 get-buffer buffer-name ediff-quit error re-search-forward t "3" ediff-get-diff3-group "1" "2" prefer-A prefer-B (default-A prefer-A) B A C default-B vector shift-A diff-list anc-prev c-prev b-prev a-prev anc-buffer C-buffer B-buffer A-buffer word-mode bounds overl ediff-emacs-p three-way-comp this-command ediff-KILLED-VITAL-BUFFER diff-buffer ediff-match-diff3-line agreement a-begin a-end b-begin b-end c-or-anc-begin c-or-anc-end ediff-default-variant state-of-merge state-of-diff-merge state-of-diff-comparison state-of-ancestor c-begin c-end a-begin-pt a-end-pt b-begin-pt b-end-pt c-begin-pt c-end-pt anc-begin-pt anc-end-pt] 14])
(defalias 'ediff-setup-diff-regions3 #[(file-A file-B file-C) "\203 \306!\203 \307\306!!\204 \310\311\312\313\"!\314\315!\210\316	\317\n\f&\210\320\"\210\321\322$!\207" [ediff-diff-buffer ediff-diff3-program ediff-diff3-options file-A file-B file-C get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-diff" "*" message "Computing differences ..." ediff-exec-process synchronize ediff-prepare-error-list ediff-convert-diffs-to-overlays ediff-extract-diffs3 ediff-diff3-ok-lines-regexp ediff-word-mode ediff-3way-comparison-job ediff-narrow-bounds] 8])
(defalias 'ediff-exec-process #[(program buffer synch options &rest files) "\306 \307\310\311\n!\"\312\313\314\307\"\"\315\216\f\307\212q\210\316 \210\317>\2042 \203@ \320\321\307\307&\202c \322!\211\203M \323!\210\320\324\325%\326 \327\330\"\210\331\332\".\207" [args data options files default-directory proc match-data nil append split-string delete "" delq ((store-match-data data)) erase-buffer (emx ms-dos windows-nt windows-95) apply call-process get-buffer-process kill-process start-process "Custom Diff" (":%s") set-process-sentinel ediff-process-sentinel set-process-filter ediff-process-filter directory buffer system-type synch program mode-line-process] 8])
(defalias 'ediff-process-filter #[(proc string) "p\306	!\307\310\n!\311\f!\312\216\nq\210`dU\204 `db\210\313\f!.\207" [obuf proc buffer opoint window pos process-buffer nil get-buffer-window window-start ((byte-code "\304	\"\210\n\203\f \nb\210q\207" [window pos opoint obuf set-window-start] 3)) insert-before-markers string] 2])
(defalias 'ediff-process-sentinel #[(process signal) "\302!\303>\205 \304\305!!\205 \212\305!q\210\306)\307!\207" [process mode-line-process process-status (exit signal) buffer-name process-buffer nil delete-process] 3])
#@106 *Function to call to move to the next word.
Used for splitting difference regions into individual words.
(defvar ediff-forward-word-function 'ediff-forward-word (#$ . -26287))
#@113 *Characters constituting white space.
These characters are ignored when differing regions are split into words.
(defvar ediff-whitespace " \n	\f" (#$ . -26470))
#@159 *Characters that constitute words of type 1.
More precisely, [ediff-word-1] is a regexp that matches type 1 words.
See `ediff-forward-word' for more details.
(defvar ediff-word-1 "a-zA-Z---_" (#$ . -26638))
#@159 *Characters that constitute words of type 2.
More precisely, [ediff-word-2] is a regexp that matches type 2 words.
See `ediff-forward-word' for more details.
(defvar ediff-word-2 "0-9.," (#$ . -26852))
#@159 *Characters that constitute words of type 3.
More precisely, [ediff-word-3] is a regexp that matches type 3 words.
See `ediff-forward-word' for more details.
(defvar ediff-word-3 "`'?!:;\"{}[]()" (#$ . -27061))
#@159 *Characters that constitute words of type 4.
More precisely, [ediff-word-4] is a regexp that matches type 4 words.
See `ediff-forward-word' for more details.
(defvar ediff-word-4 (concat "^" ediff-word-1 ediff-word-2 ediff-word-3 ediff-whitespace) (#$ . -27279))
#@265 Move point one word forward.
There are four types of words, each of which consists entirely of
characters in `ediff-word-1', `ediff-word-2', `ediff-word-3', or
`ediff-word-4'.  Words are recognized by passing these in turn as the
argument to `skip-chars-forward'.
(defalias 'ediff-forward-word #[nil "\304w\305V\206 	\304w\305V\206 \n\304w\305V\206 \304w\305V\207" [ediff-word-1 ediff-word-2 ediff-word-3 ediff-word-4 nil 0] 2 (#$ . 27549)])
(defalias 'ediff-wordify #[(beg end in-buffer out-buffer &optional control-buf) "\306\211\212\nq\210\307\f\"q\210\310 \210c\210eb\210\306w\210e`|\210m?\205q \203\\ \203L \311!\203L \312\311!!\203L rq\210)\202W \313=\206W \314! \210\202`  \210`\306w\210	`|\210\315c\210\202\" +\207" [string sv-point in-buffer beg end out-buffer nil buffer-substring-no-properties erase-buffer get-buffer buffer-name ediff-quit error "\n" ediff-whitespace control-buf ediff-forward-word-function this-command ediff-KILLED-VITAL-BUFFER] 3])
(defalias 'ediff-copy-to-buffer #[(beg end in-buffer out-buffer) "\305\212	q\210\n{\fq\210\306 \210c\210eb*\207" [string in-buffer beg end out-buffer nil erase-buffer] 2])
(defalias 'ediff-goto-word #[(n buf &optional flag) "\n\203B \306\n!\203B \307\306\n!!\203B r\nq\210\310w\210\f\311V\2030 	 \210\310w\210\fS\211\202 \203= \f\312V\203= 	 \210`)\202M \313=\206M \314!)\207" [ediff-forward-word-function fwd-word-fun buf ediff-whitespace n flag get-buffer buffer-name nil 1 0 ediff-quit error this-command ediff-KILLED-VITAL-BUFFER] 4])
#@41 T if F1 and F2 have identical contents.
(defalias 'ediff-same-file-contents #[(f1 f2) "\304\305\211\211	\n&\211\247\205 \306=)\207" [ediff-cmp-program f1 f2 res call-process nil 0] 8 (#$ . 29107)])
