;ELC   
;;; compiled by simon@mole.gnu.ai.mit.edu on Mon Nov  6 07:27:45 1995
;;; from file /home/gp2/simon/Emacs/lisp/ediff-diff.el
;;; emacs version 19.29.90.3.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (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"))


(require (quote ediff-init))
#@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.
(defvar ediff-shell (byte-code "Á=ƒ Â‡Ã>ƒ Ä‡Å‡" [system-type emx "cmd" (vax-vms axp-vms) "*dcl*" "sh"] 2) (#$ . -514))
#@67 *Program to use for generating the differential of the two files.
(defvar ediff-diff-program "diff" (#$ . -1008))
#@273 *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 ignored, since Ediff doesn't understand this
type of output.
(defvar ediff-diff-options "" (#$ . -1129))
#@121 *Program to use for generating custom diff output for saving it in a file.
This output is not used by Ediff internally.
(defvar ediff-custom-diff-program ediff-diff-program (#$ . -1452))
#@50 *Options to pass to `ediff-custom-diff-program'.
(defvar ediff-custom-diff-options "-c" (#$ . -1645))
#@69 Pattern to match lines produced by diff3 that describe differences.
(defvar ediff-match-diff3-line "^====\\(.?\\)$" (#$ . 1753))
#@105 *Program to be used for three-way comparison.
Must produce output compatible with Unix's diff3 program.
(defvar ediff-diff3-program "diff3" (#$ . -1889))
#@44 *Options to pass to `ediff-diff3-program'.
(defvar ediff-diff3-options "" (#$ . -2049))
#@128 *Regexp that matches normal output lines from `ediff-diff3-program'.
Lines that do not match are assumed to be error messages.
(defvar ediff-diff3-ok-lines-regexp "^\\([1-3]:\\|====\\|  \\|.*Warning *:\\|.*No newline\\|.*missing newline\\)" (#$ . -2144))
#@2 
(defvar ediff-diff-status "" (#$ . 2404))
(byte-code "ÀÁ!ˆÂÁÃÄ#‡" [make-variable-buffer-local ediff-diff-status put permanent-local t] 4)
#@44 *Name of the program that applies patches.
(defvar ediff-patch-program "patch" (#$ . -2549))
#@42 *Options to pass to ediff-patch-program.
(defvar ediff-patch-options "" (#$ . -2648))
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÂÄBÂ‡" [boundp ediff-patch-buf nil current-load-list ediff-patch-diagnostics] 2)
#@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 "ƒ 	‚\f ÂÃ !ƒ\" ƒ 	‚ ÂÃ !Ä>„\" Å‡Æ‡" [ediff-emacs-p window-system device-type selected-device (tty stream) on nix] 2) (#$ . 2855))
(byte-code "ÀÁ!ˆÂÁÃÄ#‡" [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 (#$ . -3454))
(byte-code "ÀÁ!ˆÂÁÃÄ#‡" [make-variable-buffer-local ediff-ignore-similar-regions put permanent-local t] 4)
#@76 Auto-refine only those regions that are smaller than this number of bytes.
(defvar ediff-auto-refine-limit 700 (#$ . 3822))
(byte-code "ÀÁ!ˆÂÁÃÄ#‡" [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\\)" (#$ . 4055))
#@68 Pattern to match lines produced by diff that describe differences.
(defvar ediff-match-diff-line (byte-code "ÀÂ	Ã	Ä°)‡" ["\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)" x "^" "\\([acd]\\)" "$"] 5) (#$ . 4462))
#@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 (#$ . 4670))
(byte-code "ÀÁ!ˆÂÁÃÄ#‡" [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) "ƒ Áƒ Ä!ƒ ÅÄ!!„ ÆÇÈÉ\"!ÊË!ˆÌÎ&ˆÒ\"ˆÔÕ#!‡" [ediff-xemacs-p t synchronize-minibuffers ediff-diff-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-diff" "*" message "Computing differences ..." ediff-exec-process ediff-diff-program synchronize ediff-diff-options file-A file-B ediff-prepare-error-list ediff-diff-ok-lines-regexp ediff-convert-diffs-to-overlays ediff-extract-diffs ediff-word-mode ediff-narrow-bounds] 7])
(defalias 'ediff-setup-fine-diff-regions #[(file-A file-B file-C reg-num) "ƒ Á!ƒ ÂÁ!!„ ÃÄÅÆ\"!Ç‰‰‰	\n\f‰ƒ2 ‚4 \nƒ@ ‚B 	ÑTCƒZ Ö×#ˆ*Ø\nÙƒj ‚l ƒv ‚x …‰ ƒ‡ ‚‰ &ˆÝ	\"ˆƒŸ Þßà#‚£ áà\"ƒÔ „¹ âãA\"ˆ‚Ô „È âäA\"ˆ‚Ô „Ô âåA\"ˆ&çè&#ˆçé&#ˆ\f…ø çê&#.‡" [ediff-fine-diff-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-fine-diff" "*" nil diff-list ok-regexp diff-program diff3-job ediff-3way-job ediff-diff3-program ediff-diff-program ediff-diff3-ok-lines-regexp ediff-diff-ok-lines-regexp "Refining difference region %d ..." reg-num args string ediff-verbose-p apply message ediff-exec-process synchronize file-A file-B file-C ediff-prepare-error-list ediff-extract-diffs3 3way-comparison word-mode ediff-extract-diffs mapcar #[(elt) "ÁÂIˆÃÂI‡" [elt 0 nil 1] 3] #[(elt) "ÁÂIˆÃÂI‡" [elt 2 nil 3] 3] #[(elt) "ÁÂIˆÃÂI‡" [elt 4 nil 5] 3] region-num ediff-set-fine-overlays-in-one-buffer A B C] 8])
(defalias 'ediff-prepare-error-list #[(ok-regexp diff-buff) "ƒ Á!ƒ ÂÁ!!„ ÃÄÅÆ\"!pƒ~ Á!ƒ~ ÂÁ!!ƒ~ ÈŽqˆÉ ˆp\nƒZ Á\n!ƒZ ÂÁ\n!!ƒZ ËŽ\nqˆÌ )‚d Î=†d ÏÐ!)cˆebˆÑ!ˆÔ>ƒz ÑÕ!ˆ)‚‰ Î=„‰ ÏÐ!ˆ)pƒª Á!ƒª ÂÁ!!ƒª ÖŽqˆ× )‚´ Î=†´ ÏÐ!)ØU?…ð Ü ˆÝ!ˆ‰ƒé Á!ƒé ÂÁ!!ƒé ßÁ!!ˆ)Ïà\n\"*‡" [ediff-error-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-errors" "*" StartBuffer ((set-buffer StartBuffer)) erase-buffer diff-buff ((set-buffer StartBuffer)) buffer-string this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" delete-matching-lines ok-regexp system-type (vax-vms axp-vms) "^$" ((set-buffer StartBuffer)) buffer-size 0 ediff-control-buffer error-buf ctl-buf ediff-skip-unsuitable-frames switch-to-buffer buf kill-buffer "Errors in diff output. Diff output is in %S"] 5])
(defalias 'ediff-extract-diffs #[(diff-buffer word-mode &optional bounds) "	\nÃ‰‰Ä‰‰	\n\fƒ# Ï‚$ ÐBƒ< Ò@!ÒA@!pƒk Ô!ƒk ÕÔ!!ƒk ÖŽqˆƒd ‚e ebˆ)‚v Ø=„v ÙÚ!ˆ)p\fƒ¤ Ô\f!ƒ¤ ÕÔ\f!!ƒ¤ ÛŽ\fqˆƒ� ‚ž ebˆ)‚¯ Ø=„¯ ÙÚ!ˆ)ƒö Ô!ƒö ÕÔ!!ƒö pƒê Ô!ƒê ÕÔ!!ƒê ÜŽqˆebˆ)‚õ Ø=„õ ÙÚ!ˆ)pƒ�Ô!ƒ�ÕÔ!!ƒ�ÞŽqˆebˆß Äá#ƒ‹âÃ”Ã•{!#ä”ä•%‰&ƒ?â&%{!‚A#*'è”è•{)âê”ê•{!+ì”ì•%‰&ƒjâ&%{!‚l+*-Ä.Ä/Ä0Ä1Ä2Ä3Ä4Ä5)ö˜ƒž-T-#T‰#'‚¿)÷˜ƒµ'T'+T‰+-‚¿'T'-T-8ù=ƒÑ+2-3‚Ù#2'3ƒOƒÔ!ƒÕÔ!!ƒú#\nZ'#Z+	Z-+Z2Z32ZÄ‰‰‰‰&‚<ú#\nZ'#Z+	Z-+ZÄ‰‰‰‰‰‰&C¤'\n-	3‚†pƒ‰Ô!ƒ‰ÕÔ!!ƒ‰ûŽqˆ#\nZyˆ`.'#Zyˆ`/'\n)‚”Ø=„”ÙÚ!ˆ)p\fƒÏÔ\f!ƒÏÕÔ\f!!ƒÏüŽ\fqˆ+	Zyˆ`0-+Zyˆ`1-	)‚ÚØ=„ÚÙÚ!ˆ)ƒ6Ô!ƒ6ÕÔ!!ƒ6pƒ*Ô!ƒ*ÕÔ!!ƒ*ýŽqˆ2Zyˆ`432Zyˆ`53)‚5Ø=„5ÙÚ!ˆ)ƒpÔ!ƒpÕÔ!!ƒpú./0145Ä‰8ù=ƒgþ‚hÿ8Ä&‚‚ú./01Ä‰‰‰‰‰‰&C¤.‚)‚šØ=„šÙÚ!ˆ).	‡" [ediff-buffer-A ediff-buffer-B ediff-buffer-C 1 nil shift-B shift-A diff-list c-prev b-prev a-prev C-buffer B-buffer A-buffer word-mode words points bounds ediff-overlay-start StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) diff-buffer ((set-buffer StartBuffer)) re-search-forward ediff-match-diff-line t string-to-int a-begin 3 e b a-end 4 diff-type 5 b-begin 7 b-end a-begin-pt a-end-pt b-begin-pt b-end-pt c-begin c-end c-begin-pt c-end-pt "a" "d" ediff-default-variant default-B vector ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) A B] 14])
(defalias 'ediff-convert-diffs-to-overlays #[(diff-list) "ÀÁ\n\"ˆÀÃ\n\"ˆ\fƒ ÀÅ\n\"ˆƒ ÀÇ\n\"ˆƒ+ ÉÊË\nA\"!\fÍÎ!‡" [ediff-set-diff-overlays-in-one-buffer A diff-list B ediff-3way-job C ediff-merge-with-ancestor-job Ancestor ediff-merge-job vconcat mapcar #[(elt) "ÁHÂHÅ\f… ÆÇ\f\"\"*‡" [elt 9 10 state-of-ancestor state-of-merge vector format "%S"] 4] ediff-state-of-merge message "Processing difference regions ... done"] 4])
(defalias 'ediff-set-diff-overlays-in-one-buffer #[(buf-type diff-list) "À\nÃ=ƒ\f \f‚* \nÅ=ƒ ‚* \nÇ=ƒ\" ‚* \nÉ=…* \n\f@Î\nÃ=ƒ> @‚U \nÅ=ƒK A@‚U \nÇ=…U Ð8!Ò\nÃ=ƒe @‚| \nÅ=ƒr A@‚| \nÇ=…| Ð8!ÔÔÔÔÔÔÔÔ\fA‰\fGpƒÆ Þ!ƒÆ ßÞ!!ƒÆ àŽqˆ)‚Ñ !â=„Ñ ãä!ˆ)\fƒ˜	T\f@‰\nÃ=ƒê å‚ÿ \nÅ=ƒô Ð‚ÿ \nÇ=ƒþ æ‚ÿ çH\nÃ=ƒè‚#\nÅ=ƒé‚#\nÇ=ƒ\"ê‚#ëHìH\n=„X\nÉ=„Xí>ƒXî\nîÃÅÇE\"\"@ïð\"‚[Ôñ=ƒípƒˆÞ!ƒˆßÞ!!ƒˆòŽqˆbˆ)‚“!â=„“ãä!ˆ)óT\"óÙ#‰Vƒ±Vƒ½pƒàÞ!ƒàßÞ!!ƒàôŽqˆ`)‚ê!â=†êãä!)õ#ö÷8#ˆöù	#ˆöúû#ˆ<ƒ=‚þÿ !ƒf<ƒ(=‚,þÿ !�@ >„fAƒfBƒf�C \n	D�E ï�F Dè\"è=ƒ]�G ‚`�H \n\"!*\"ˆ�I 	�J \"åUƒ�K �L \n	$ˆ�M Ô‰$C¤\fA‰\f„× �E ï�N \n\"!�O !L.‡" [-1 current-diff buf-type A ediff-buffer-A B ediff-buffer-B C ediff-buffer-C Ancestor ediff-ancestor-buffer buff diff-list diff-list-type ediff-overlay-start ediff-narrow-bounds 2 shift ediff-overlay-end limit nil diff-overlay-list list-element total-diffs begin end pt-saved overlay state-of-diff StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" 0 4 6 1 3 5 7 8 (A B C) delq format "=diff(%S)" words ((set-buffer StartBuffer)) ediff-goto-word ((set-buffer StartBuffer)) ediff-make-bullet-proof-overlay ediff-overlay-put priority ediff-shadow-overlay-priority ediff-diff-num insert-in-front-hooks (ediff-insert-in-front) ediff-emacs-p window-system device-type selected-device (tty stream) ediff-use-faces ediff-highlight-all-diffs ediff-set-overlay-face dif-num intern logand "ediff-even-diff-face-%S" "ediff-odd-diff-face-%S" mod 10 message "Buffer %S: Processing difference region %d of %d" vector "ediff-difference-vector-%S" vconcat] 8])
(defalias 'ediff-make-fine-diffs #[(&optional n flag) "„ 	\nÃWƒ ÄÅ!ˆƒ ÇÉ\nËW†5\nY†5Ì!ÑÒ\"ÑÓ\"ÑÔ\"ÕÒ\"ÕÓ\"ÕÔ\"Ö !â=ƒœ ãäåÒ\"!JHÃHƒœ ãäåÒ\"!JHæHƒ.çTC()*ƒ˜ ëì)(#ˆ*‚.íÖE\"GÃVƒQî!ƒ½ /ƒ½ ðÔÖ#ˆ1ƒô òT„Î Ò‚Þ „× Ó‚Þ ?…Þ ÔD()*ƒð ëì)(#ˆ*‚\"óTƒ Ò‚ƒ	Ó‚…ÔD()*ƒ!ëì)(#ˆ*ƒAƒAƒAãäåÒ\"!JHæôIˆ‚.ãäåÒ\"!JHæÖIˆ‚.Ç=ƒ‰ãäåÒ\"!JHÃH„.\nõ>„.öT÷ø!D()*ƒ…ëì)(#ˆ*‚.ùúÒû#úÒü#=!>%ˆÿ!�@  # ùúÓû#úÓü#A!>%ˆÿ!�B #CƒèùúÔû#úÔü#D!>%ˆÿ!�E # Cƒ\fƒ\f�F Ö$ˆ‚SCƒ$ƒ$�F  Ö$ˆ‚SCƒG„9/ƒGî!ƒG�F  Ö$ˆ‚S�F  $ˆãäåÒ\"!JHÃHGãäåÓ\"!JHÃHGƒãäåÔ\"!JHÃHG‚€Ë\\\\ƒ“ƒ“„®„Ô„ÔCƒ§„ÔË=ƒÔãäåÒ\"!JHæôIˆçTC()*ƒÐëì)(#ˆ*‚.Ë=ƒ!ãäåÒ\"!JHæÖIˆ�G Tƒø�H ‚ƒ�I ‚…�J D()*ƒëì)(#ˆ*‚.ãäåÒ\"!JHæÖIˆ�K !.‡" [n ediff-current-difference ediff-number-of-differences 1 error "No differences found" ediff-word-mode skip flag nix ediff-auto-refine 0 get-buffer-create ediff-tmp-buffer ediff-temp-file-A ediff-temp-file-B ediff-temp-file-C ediff-empty-diff-region-p A B C ediff-whitespace-diff-region-p nil cumulative-fine-diff-length whitespace-C whitespace-B whitespace-A empty-C empty-B empty-A file-C file-B file-A tmp-buffer noforce intern format "ediff-difference-vector-%S" 2 "Only white-space differences in region %d" args string ediff-verbose-p apply message delq ediff-looks-like-combined-merge ediff-merge-job ediff-set-fine-overlays-in-one-buffer ediff-3way-comparison-job "Region %d is empty in all buffers but %S" "Region %d in buffer %S is empty" t (off nix) "Region %d exceeds auto-refine limit. `%s' force-refines" substitute-command-keys "\\[ediff-make-or-kill-fine-diffs]" ediff-wordify ediff-get-diff-posn beg end ediff-buffer-A ediff-control-buffer ediff-make-temp-file "fineDiffA" ediff-buffer-B "fineDiffB" ediff-3way-job ediff-buffer-C "fineDiffC" ediff-setup-fine-diff-regions "Only white-space differences in region %d %s" "in buffers B & C" "in buffers A & C" "in buffers A & B" ediff-set-fine-diff-properties] 12])
(defalias 'ediff-install-fine-diff-if-necessary #[(n) "Á=ƒ6 \nÃÄÅ#ÃÄÇ#ZVƒ0 \nÃÈÅ#ÃÈÇ#ZVƒ0 ÉÊ\"‡ÉË\"‡Ì=…A ÉË\"‡" [ediff-auto-refine on ediff-auto-refine-limit ediff-get-diff-posn A end n beg B ediff-make-fine-diffs noforce skip off] 6])
(defalias 'ediff-set-fine-diff-properties #[(n &optional default) "ƒ 	‚\f ÂÃ !… ƒ 	‚ ÂÃ !Ä>??†H ÆW†H Y†H ÈÉ\n#ˆÈË\n#ˆ\f…H ÈÍ\n#‡" [ediff-emacs-p window-system device-type selected-device (tty stream) n 0 ediff-number-of-differences ediff-set-fine-diff-properties-in-one-buffer A default B ediff-3way-job C] 4])
(defalias 'ediff-set-fine-diff-properties-in-one-buffer #[(buf-type n &optional default) "ÀÁÂ\"!J\fHÅHƒ Æ‚ ÇÀÁÈ\"!!ƒ% É‚4 ÊÀÁË\"!JÌ\"†3 ÉT\fÏÐ\"+‡" [intern format "ediff-difference-vector-%S" buf-type n 1 default face-name "ediff-fine-diff-face-%S" 0 ediff-overlay-get "ediff-current-diff-overlay-%S" priority face fine-diff-vector mapcar #[(overl) "À	\n\"ˆÃ	Ä\f#‡" [ediff-set-overlay-face overl face ediff-overlay-put priority] 4]] 7])
(defalias 'ediff-set-fine-overlays-for-combined-merge #[(diff-list reg-num) "À‰‰Ä@A@#ÄÇ8È8#ÄÉ8Ê8#ËÌÍÎ\"!JHÐÑ\n	#I+‡" [nil overlay3 overlay2 overlay1 ediff-make-bullet-proof-overlay diff-list ediff-buffer-C 2 3 4 5 intern format "ediff-difference-vector-%S" C reg-num 1 vector] 6])
(defalias 'ediff-set-fine-overlays-in-one-buffer #[(buf-type diff-list region-num) "ÀÂÄ#Ç=ƒ ‚2 É=ƒ \n‚2 Ë=ƒ* \f‚2 Í=…2 ÐÐÐÐÐÐØÙÚ\"!JH‰ƒc ÜÝÞH\"ˆ)ØÙÚ\"!JHÞÐIˆ*Ap ƒž á!ƒž âá!!ƒž ãŽqˆbˆ)‚© $å=„© æç!ˆ)(ƒÆ Ë=ƒÆ é!‰ƒÆ ê\"‚Lƒ=	T@‰Ç=ƒÞ ë‚é É=ƒè ì‚é íHÇ=ƒø Þ‚É=ƒî‚ïH„ƒ4ðT\"ðÕ#ñ#C¤A‰„Ë ØÙÚ\"!JHÞò!I.	‡" [-1 current-diff ediff-get-diff-posn buf-type beg region-num reg-start A ediff-buffer-A B ediff-buffer-B C ediff-buffer-C Ancestor ediff-ancestor-buffer buff nil combined-merge-diff-list diff-overlay-list list-element begin end overlay n intern format "ediff-difference-vector-%S" diff-record mapcar ediff-delete-overlay 1 diff-list StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" ediff-merge-job ediff-looks-like-combined-merge ediff-set-fine-overlays-for-combined-merge 0 2 4 3 5 ediff-goto-word ediff-make-bullet-proof-overlay vconcat] 6])
(defalias 'ediff-get-diff3-group #[(file) "ŠÀÁ\nÃQ!ˆÄyˆÅ”Å•{Æ˜ƒ> Ç”ƒ- ÈÄ”Ä•{!ÈÉ”É•{!TD‚H ÈÄ”Ä•{!‰\n‰T)D‚H ÈÄ”Ä•{!T‰D)‡" [re-search-forward "^" file ":\\([0-9]+\\)\\(,\\([0-9]+\\)\\)?\\([ac]\\)$" 1 4 "c" 2 string-to-int 3 x] 5])
(defalias 'ediff-extract-diffs3 #[(diff-buffer word-mode three-way-comp &optional bounds) "	\nÄ‰‰‰Å‰‰‰	\n\fƒ- Ó‚. Ô	B	ƒT Ö@!ÖA@!…R ÖØ8!pƒƒ Ú!ƒƒ ÛÚ!!ƒƒ ÜŽqˆƒ| ‚} ebˆ)‚Ž Þ=„Ž ßà!ˆ)pƒ¾ Ú!ƒ¾ ÛÚ!!ƒ¾ áŽqˆƒ· ‚¸ ebˆ)‚É Þ=„É ßà!ˆ)ƒ\npƒþ Ú!ƒþ ÛÚ!!ƒþ âŽqˆƒ÷ ‚ø ebˆ)‚	Þ=„	ßà!ˆ)ƒPÚ!ƒPÛÚ!!ƒPpƒDÚ!ƒDÛÚ!!ƒDãŽqˆebˆ)‚OÞ=„Oßà!ˆ)p$ƒÚ$!ƒÛÚ$!!ƒåŽ$qˆebˆæ'Åè#ƒÄyˆÄ”Ä•{)„�)ê˜„\fëì!@-ëì!A@.ëï!@0ëï!A@1ëê!@2ëê!A@3)ì˜ƒÂô‚Ï)ï˜ƒÍõ‚Ï6‰7ø>ƒÛù‚Üú;)ì˜ƒéú‚ü)ï˜ƒôù‚ü)ê˜…üü=Å>Å?Å@ÅAÅBÅCÅDÅEÅFÅGÅH23U>ƒ62?3@‚R6�I =ƒJ0?1@‚R-?.@ƒ”	�J -Z.-Z0\fZ10Z?Z@?ZÅ‰‰‰‰&C¤	.1\f@‚\npƒÐÚ!ƒÐÛÚ!!ƒÐ�K Žqˆ-Zyˆ`A.-Zyˆ`B.)‚ÛÞ=„Ûßà!ˆ)pƒÚ!ƒÛÚ!!ƒ�L Žqˆ0\fZyˆ`C10Zyˆ`D1\f)‚#Þ=„#ßà!ˆ)pƒ`Ú!ƒ`ÛÚ!!ƒ`�M Žqˆ?Zyˆ`E@?Zyˆ`F@)‚kÞ=„kßà!ˆ)ƒÉÚ!ƒÉÛÚ!!ƒÉpƒ½Ú!ƒ½ÛÚ!!ƒ½�N Žqˆ2\nZyˆ`G32Zyˆ`H3\n)‚ÈÞ=„Èßà!ˆ)	ƒë�J ABCDEFÅ‰=Å‰&C‚�J ABCDEFGH;7>&C¤	.)‚q)‚Þ=„ßà!ˆ)	.\f‡" [ediff-buffer-A ediff-buffer-B ediff-buffer-C ediff-ancestor-buffer 1 nil shift-C shift-B shift-A diff-list anc-prev c-prev b-prev a-prev anc-buffer C-buffer B-buffer A-buffer word-mode words points bounds ediff-overlay-start three-way-comp 2 StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) diff-buffer ((set-buffer StartBuffer)) re-search-forward ediff-match-diff3-line t agreement "3" ediff-get-diff3-group "1" a-begin a-end "2" b-begin b-end c-or-anc-begin c-or-anc-end prefer-A prefer-B ediff-default-variant state-of-merge (default-A prefer-A) B A state-of-diff-merge C 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 default-B vector ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ((set-buffer StartBuffer))] 14])
(defalias 'ediff-setup-diff-regions3 #[(file-A file-B file-C) "ƒ Áƒ Ä!ƒ ÅÄ!!„ ÆÇÈÉ\"!ÊË!ˆÌÎ&ˆÓ\"ˆÕÖ$!‡" [ediff-xemacs-p t synchronize-minibuffers ediff-diff-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-diff" "*" message "Computing differences ..." ediff-exec-process ediff-diff3-program synchronize ediff-diff3-options file-A file-B file-C ediff-prepare-error-list ediff-diff3-ok-lines-regexp ediff-convert-diffs-to-overlays ediff-extract-diffs3 ediff-word-mode ediff-3way-comparison-job ediff-narrow-bounds] 8])
(defalias 'ediff-exec-process #[(program buffer synch &rest args) "À ÂÃ\f@\"ƒ \fAÅÆ\f\"ÇÈÉ\fÊ#!ËŽ\fÆŠqˆÐ ˆ\fÒ=„< ƒJ ÔÕÆÆ\f&‚r ×!‰ƒY Ø!ˆÔÙÚ\f%ÛÝÞ\"ˆßà\"-‡" [match-data data string-match "^[ 	]*$" args delq nil ediff-split-string mapconcat identity " " ((store-match-data data)) default-directory proc directory buffer erase-buffer system-type emx synch apply call-process program get-buffer-process kill-process start-process "Custom Diff" (":%s") mode-line-process set-process-sentinel ediff-process-sentinel set-process-filter ediff-process-filter] 8])
(defalias 'ediff-process-filter #[(proc string) "pÁ\n!ÄÆ!È!	ÊŽqˆ`dU„  `dbˆË\f!.‡" [obuf process-buffer proc buffer nil opoint get-buffer-window window window-start pos ((byte-code "À	\n\"ˆƒ\f bˆ\fq‡" [set-window-start window pos opoint obuf] 3)) insert-before-markers string] 2])
(defalias 'ediff-process-sentinel #[(process signal) "À	!Â>… ÃÄ	!!… ŠÄ	!qˆÅ)Ç	!‡" [process-status process (exit signal) buffer-name process-buffer nil mode-line-process 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 (quote ediff-forward-word) (#$ . -20372))
#@113 *Characters constituting white space.
These characters are ignored when differing regions are split into words.
(defvar ediff-whitespace " \n	\f" (#$ . -20562))
#@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---_" (#$ . -20730))
#@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.," (#$ . -20944))
#@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 "`'?!:;\"{}[]()" (#$ . -21153))
#@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) (#$ . -21371))
#@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 "ÁwÂV† ÁwÂV† \fÁwÂV† ÁwÂV‡" [ediff-word-1 nil 0 ediff-word-2 ediff-word-3 ediff-word-4] 2 (#$ . 21641)])
(defalias 'ediff-wordify #[(beg end in-buffer out-buffer &optional control-buf) "À‰Šqˆ\f{qˆÇ ˆ	cˆebˆÀwˆe`|ˆm?…u 	ƒ` p\n	ƒP Ë	!ƒP ÌË	!!ƒP ÍŽ	qˆ)‚Z Ð=†Z ÑÒ!) ˆ‚d  ˆ`Àwˆ\n`|ˆÓcˆ‚\" +‡" [nil string sv-point in-buffer beg end out-buffer erase-buffer ediff-whitespace control-buf StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-forward-word-function this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" "\n"] 3])
(defalias 'ediff-copy-to-buffer #[(beg end in-buffer out-buffer) "ÀŠ\nqˆ\f{qˆÆ ˆ	cˆeb*‡" [nil string in-buffer beg end out-buffer erase-buffer] 2])
(defalias 'ediff-goto-word #[(n buf &optional flag) "pƒL Ä!ƒL ÅÄ!!ƒL ÆŽqˆÈwˆ	ÊVƒ8 	 ˆÈwˆ	S‰	‚\" ƒG 	ÌVƒG 	 ˆ`)‚V Î=†V ÏÐ!*‡" [ediff-forward-word-function fwd-word-fun StartBuffer buf get-buffer buffer-name ((set-buffer StartBuffer)) ediff-whitespace nil n 1 flag 0 this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 4])
(provide (quote ediff-diff))
