;ELC   
;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Wed Jul 17 15:42:43 1996
;;; from file /gd/gnu/emacs/19.0/lisp/ediff-mult.el
;;; emacs version 19.31.94.1.
;;; 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-mult.el' was compiled for Emacs 19.29 or later"))


(require (quote ediff-init))
#@2 
(defvar ediff-meta-buffer nil (#$ . 512))
(byte-code "!#" [make-variable-buffer-local ediff-meta-buffer put permanent-local t] 4)
#@2 
(defvar ediff-parent-meta-buffer nil (#$ . 656))
(byte-code "!#! B\nBǇ" [make-variable-buffer-local ediff-parent-meta-buffer put permanent-local t boundp ediff-registry-buffer nil current-load-list "This is an Ediff Session Group Panel: %s\n\nUseful commands:\n     button2, `v', RET over a session line:   start that Ediff session\n     `M':	in any session invoked from here, brings back this group panel\n     `R':	display the registry of active Ediff sessions\n     `h':	mark session for hiding (toggle)\n     `x':	hide marked sessions; with prefix arg--unhide hidden sessions\n     `m':	mark session for a non-hiding operation (toggle)\n     SPC:	next session\n     DEL:	previous session\n     `E':	browse Ediff on-line manual\n     `q':	quit this session group\n" ediff-meta-buffer-message] 4)
#@33 The keymap for the meta buffer.
(defvar ediff-meta-buffer-map nil (#$ . 1490))
(byte-code "!#" [make-variable-buffer-local ediff-meta-buffer-map put permanent-local t] 4)
#@83 The keymap to be installed in the buffer showing differences between
directories.
(defvar ediff-dir-diffs-buffer-map (make-sparse-keymap) (#$ . 1675))
#@2 
(defvar ediff-meta-action-function nil (#$ . 1831))
(byte-code "!#" [make-variable-buffer-local ediff-meta-action-function put permanent-local t] 4)
#@2 
(defvar ediff-meta-redraw-function nil (#$ . 1994))
(byte-code "!#" [make-variable-buffer-local ediff-meta-redraw-function put permanent-local t] 4)
#@2 
(defvar ediff-session-action-function nil (#$ . 2157))
(byte-code "!#" [make-variable-buffer-local ediff-session-action-function put permanent-local t] 4)
#@2 
(defvar ediff-metajob-name nil (#$ . 2326))
(byte-code "!#" [make-variable-buffer-local ediff-metajob-name put permanent-local t] 4)
#@2 
(defvar ediff-meta-diff-buffer nil (#$ . 2473))
(byte-code "!#" [make-variable-buffer-local ediff-meta-diff-buffer put permanent-local t] 4)
#@2 
(defvar ediff-filtering-regexp-history nil (#$ . 2628))
#@2 
(defvar ediff-meta-list nil (#$ . 2690))
(byte-code "!#" [make-variable-buffer-local ediff-meta-list put permanent-local t] 4)
#@2 
(defvar ediff-dir-difference-list nil (#$ . 2831))
(byte-code "!#" [make-variable-buffer-local ediff-dir-difference-list put permanent-local t] 4)
#@2 
(defvar ediff-dir-diffs-buffer nil (#$ . 2992))
(byte-code "!#! BǇ" [make-variable-buffer-local ediff-dir-diffs-buffer put permanent-local t boundp ediff-session-registry nil current-load-list] 4)
#@61 *Hooks run just after the registry control panel is set up.
(defvar ediff-registry-setup-hook nil (#$ . -3217))
#@101 *Hooks run just after a meta-buffer controlling a session group, such as
ediff-directories, is run.
(defvar ediff-session-group-setup-hook nil (#$ . -3336))
#@53 *Hooks run just after the registry buffer is shown.
(defvar ediff-show-registry-hook nil (#$ . -3499))
#@56 *Hooks run just after a session group buffer is shown.
(defvar ediff-show-session-group-hook nil (#$ . -3608))
#@2 
(defvar ediff-meta-patchbufer nil (#$ . 3724))
(byte-code "!#" [make-variable-buffer-local ediff-meta-patchbufer put permanent-local t] 4)
(defalias 'ediff-get-group-buffer #[(meta-list) "@@" [meta-list] 1])
(defalias 'ediff-get-group-regexp #[(meta-list) "@A@" [meta-list] 1])
(defalias 'ediff-get-group-objA #[(meta-list) "	@8" [2 meta-list] 2])
(defalias 'ediff-get-group-objB #[(meta-list) "	@8" [3 meta-list] 2])
(defalias 'ediff-get-group-objC #[(meta-list) "	@8" [4 meta-list] 2])
(defalias 'ediff-get-session-buffer #[(elt) "@" [elt] 1])
(defalias 'ediff-get-session-status #[(elt) "A@" [elt] 1])
(defalias 'ediff-set-session-status #[(session-info new-status) "A	" [session-info new-status] 2])
(defalias 'ediff-get-session-objA #[(elt) "	8" [2 elt] 2])
(defalias 'ediff-get-session-objB #[(elt) "	8" [3 elt] 2])
(defalias 'ediff-get-session-objC #[(elt) "	8" [4 elt] 2])
(defalias 'ediff-get-session-objA-name #[(elt) "	8@" [2 elt] 2])
(defalias 'ediff-get-session-objB-name #[(elt) "	8@" [3 elt] 2])
(defalias 'ediff-get-session-objC-name #[(elt) "	8@" [4 elt] 2])
(defalias 'ediff-get-file-eqstatus #[(elt) "A@" [elt] 1])
(put (quote ediff-get-file-eqstatus) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'ediff-set-file-eqstatus #[(elt value) "A	" [elt value] 2])
(put (quote ediff-set-file-eqstatus) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'ediff-setup-meta-map #[nil " 	!	#	#	#	#	#	#	#	#	# J 	#U 	#d 	#k 	#	!" [make-sparse-keymap ediff-meta-buffer-map suppress-keymap define-key "q" ediff-quit-meta-buffer "R" ediff-show-registry "E" ediff-documentation "v" ediff-meta-action-function "" " " ediff-next-meta-item "" ediff-previous-meta-item [delete] [backspace] ediff-one-filegroup-metajob "=" ediff-meta-mark-equal-files ediff-no-emacs-help-in-control-buffer "" ediff-emacs-p [mouse-2] [button2] use-local-map] 4])
#@516 This mode controls all operations on Ediff session groups.
It is entered through one of the following commands:
	`ediff-directories'
	`edirs'
	`ediff-directories3'
	`edirs3'
	`ediff-merge-directories'
	`edirs-merge'
	`ediff-merge-directories-with-ancestor'
	`edirs-merge-with-ancestor'
	`ediff-directory-revisions'
	`edir-revisions'
	`ediff-merge-directory-revisions'
	`edir-merge-revisions'
	`ediff-merge-directory-revisions-with-ancestor'
	`edir-merge-revisions-with-ancestor'

Commands:
\{ediff-meta-buffer-map}
(defalias 'ediff-meta-mode #[nil " É" [kill-all-local-variables ediff-meta-mode major-mode "MetaEdiff" mode-name] 2 (#$ . 5731)])
(byte-code "	!	#	#	#	#	#" [suppress-keymap ediff-dir-diffs-buffer-map define-key "q" ediff-bury-dir-diffs-buffer " " next-line "" previous-line [delete] [backspace]] 4)
#@140 Move to the next item in Ediff registry or session group buffer.
Moves in circular fashion. With numeric prefix arg, skip this many items.
(defalias 'ediff-next-meta-item #[(count) " W S  " [count 1 0 ediff-next-meta-item1] 2 (#$ . 6582) "p"])
(defalias 'ediff-next-meta-item1 #[nil "`! 	b=) p	#4 #4 x4 wV4 !)" [nil pos ediff-next-meta-overlay-start ediff-metajob-name ediff-registry ediff-get-meta-info noerror search-forward "*Ediff" t "a-zA-Z*" "-+?H* 	0-9" 0 backward-char 1] 5])
#@144 Move to the previous item in Ediff registry or session group buffer.
Moves in circular fashion. With numeric prefix arg, skip this many items.
(defalias 'ediff-previous-meta-item #[(count) " W S  " [count 1 0 ediff-previous-meta-item1] 2 (#$ . 7118) "p"])
(defalias 'ediff-previous-meta-item1 #[nil "`! 	b=) p	#4 #4 x4 wV4 !)" [nil pos ediff-previous-meta-overlay-start ediff-metajob-name ediff-registry ediff-get-meta-info noerror search-forward "*Ediff" t "a-zA-Z*" "-+?H* 	0-9" 0 backward-char 1] 5])
(defalias 'ediff-intersect-directories #[(jobname diff-var regexp dir1 dir2 &optional dir3 comparison-func) " 	\n\f!#\n!#	;J !\f#\n\"\n\n\"\n\n	#\"u # >) \"!\"\n	###\"\"!\"\"\"\fFB#L\fF\".B" [comparison-func string= nil difflist auxdir3 auxdir2 auxdir1 common lis3 lis2 lis1 file-name-as-directory dir1 directory-files regexp dir2 dir3 delete "." ".." ediff-intersection mapcar #[(elt) "	\nP!\nP! \f? ? \f*' \n\"" [file-directory-p auxdir1 elt auxdir2 b a delq common] 5] jobname metajob ediff-metajob-name (ediff-directories3 ediff-filegroups3) #[(elt) "	\nP!\nP! \f? ? \f*' \n\"" [file-directory-p auxdir1 elt auxdir3 b a delq common] 5] sort ediff-copy-list string-lessp ediff-set-difference ediff-union #[(elt) "B" [elt 1] 2] #[(elt) "@	 A_@ A_@) A_" [elt lis1 2 lis2 3 lis3 5] 3] diff-var #[(elt) "	P\n	P \f	PE" [auxdir1 elt auxdir2 lis3 auxdir3] 4]] 9])
(defalias 'ediff-get-directory-files-under-revision #[(jobname regexp dir1) "!	#\fN \f@\fA	P!- \nB 	Q!= \nB 	R! \nB \n\"\n\"\n!\"	F\n\",B" [nil auxdir1 common elt lis1 file-name-as-directory dir1 directory-files regexp file-directory-p file-exists-p ",v" "RCS/" delete "." ".." sort ediff-copy-list string-lessp mapcar #[(elt) "	PE" [auxdir1 elt nil] 3]] 5])
(defalias 'ediff-prepare-meta-buffer #[(action-func meta-list meta-buffer-name redraw-function jobname &optional startup-hooks) "	\"	!p\f\f!\f!!Ȏ\fq \n\f\f =O \f#] \f@BA\"B\f=j \fB\f!!!\n= \f$@B$AB$! $!###- >) # - >) ###= ! !)9=<!)\f*" [ediff-unique-buffer-name meta-buffer-name "*" get-buffer-create meta-buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-meta-mode action-func ediff-meta-action-function redraw-function ediff-meta-redraw-function jobname ediff-metajob-name ediff-meta-buffer ediff-setup-meta-map ediff-registry ediff-registry-buffer meta-list ediff-meta-list define-key ediff-meta-buffer-map "M" ediff-show-meta-buff-from-registry mapcar #[(elt) "\"BB" [nil mapcar #[(obj) "D" [obj nil] 2] elt] 5] ediff-session-registry t buffer-read-only set-buffer-modified-p nil run-hooks startup-hooks ediff-filegroup-action ediff-dir-difference-list ediff-one-filegroup-metajob ediff-draw-dir-diffs "h" ediff-mark-for-hiding "x" ediff-hide-marked-sessions "m" ediff-mark-for-operation metajob (ediff-directories ediff-directory-revisions ediff-merge-directories ediff-merge-directories-with-ancestor ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) "P" ediff-collect-custom-diffs (ediff-multifile-patch) ediff-meta-show-patch "u" ediff-up-meta-hierarchy "D" ediff-show-dir-diffs ediff-registry-setup-hook ediff-session-group-setup-hook this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 5])
(defalias 'ediff-redraw-directory-group-buffer #[(meta-list) "	!ĉ	\n\fpf!f!!fՎq` !\"c	!>)l cz >)z cc  ; GV \"cc	A  @ @!= A  c	X	@	AT!= !\f!!\n!	`\f)\f(\f!(\f!!()c!3c!!\n!	!`# !b)q7=q:!." [ediff-get-group-buffer meta-list t 0 nil buffer-read-only tmp-list point pt f3 f2 f1 session-buf elt regexp sessionNum empty meta-buf StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) erase-buffer format ediff-meta-buffer-message ediff-abbrev-jobname ediff-metajob-name ediff-get-group-regexp metajob (ediff-directories ediff-directory-revisions ediff-merge-directories ediff-merge-directories-with-ancestor ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) "     `P':	collect custom diffs of all marked sessions\n" (ediff-multifile-patch) "     `P':	show patch appropriately for the context (session or group)\n" "     `u':	show parent session group\n" ediff-one-filegroup-metajob "     `D':	show differences among directories\n" "     `=':	mark identical files in each session\n\n" "Filter-through regular expression: %s\n" "\n\n        Size   Last modified           Name\n    -----------------------------------------------------------------------\n\n" ediff-get-session-status 73 "     ******   ******   This session group has no members\n" ediff-get-session-buffer ediff-get-session-objA ediff-get-session-objB ediff-get-session-objC " " "+" "-" "  Session " int-to-string ":\n" ediff-meta-insert-file-info ediff-set-meta-overlay set-buffer-modified-p this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 14])
(defalias 'ediff-problematic-session-p #[(session) "	!	!	!;> !> ;> !> \f;> \f!> 	\n>)> ̂? +" [ediff-get-session-objA-name session ediff-get-session-objB-name ediff-get-session-objC-name f3 f2 f1 file-directory-p nil metajob ediff-metajob-name (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor) ancestor-is-dir] 5])
(defalias 'ediff-meta-insert-file-info #[(fileinfo) "	@	A@);4 !4 		\")		\");{ D ςE WR ӂT \"W` Ԃe \f!!!u !!y !%c," [-1 fileinfo elt "*file doesn't exist*" file-modtime feq fname file-size file-exists-p filename ediff-file-attributes 7 5 format "%s  %s   %-20s   %s\n" "=" " " "%10s" 0 "remote" "file" ediff-format-date decode-time file-directory-p file-name-as-directory ediff-abbreviate-file-name] 9])
#@28 Months' associative array.
(defconst ediff-months (quote ((1 . "Jan") (2 . "Feb") (3 . "Mar") (4 . "Apr") (5 . "May") (6 . "Jun") (7 . "Jul") (8 . "Aug") (9 . "Sep") (10 . "Oct") (11 . "Nov") (12 . "Dec"))) (#$ . 13507))
(defalias 'ediff-format-date #[(time) "\f8\"A\f8\f8\f8!\fA@!\f@!&" [format "%s %2d %4d %s:%s:%s" assoc 4 time ediff-months 3 5 ediff-fill-leading-zero 2] 9])
(defalias 'ediff-fill-leading-zero #[(num) "W \"!" [num 10 format "0%d" number-to-string] 3])
(put (quote ediff-fill-leading-zero) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'ediff-draw-dir-diffs #[(diff-list) " !\"!!!!!!;/ !!\"A!p!!!ߎq!! #cc; GV \"cc!!\"!!\"#c !!\"\"c c#c; \"c c c@@@AA\"U#P!!!\"\"c)\"c\"USP!H!J!\"\"cY\"c;\"UP!~!!\"\"c\"cc !)?@ =A!.\f" [diff-list error "Lost difference info on these directories" ediff-unique-buffer-name "*Ediff File Group Differences" "*" buf-name ediff-get-group-regexp regexp ediff-abbreviate-file-name ediff-get-group-objA dir1 ediff-get-group-objB dir2 ediff-get-group-objC dir3 ediff-get-group-buffer meta-buf make-string 26 45 underline nil file code buffer-read-only get-buffer-create ediff-dir-diffs-buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) use-local-map ediff-dir-diffs-buffer-map erase-buffer ediff-meta-buffer "		*** Directory Differences ***\n" "\nUseful commands:\n     `q': hide this buffer\n     SPC: next line\n     DEL: previous line\n\n" 0 format "Filter-through regular expression: %s\n" "\n" "\n%-27s%-26s" ediff-truncate-string-left file-name-as-directory 25 " %-25s\n" "%s%s" "%s\n\n" "\n\n" "\n	***  No differences  ***\n" mod 2 "%-27s" file-directory-p 24 "---" 3 "%-26s" 5 " %-25s" t set-buffer-modified-p this-command ediff-quit ediff-KILLED-VITAL-BUFFER] 8])
#@72 Bury the directory difference buffer. Display the meta buffer instead.
(defalias 'ediff-bury-dir-diffs-buffer #[nil " ! \n!  \"*" [ediff-meta-buffer nil wind buf bury-buffer ediff-get-visible-buffer-window select-window set-window-buffer selected-window] 3 (#$ . 15604) nil])
#@70 Display differences among the directories involved in session group.
(defalias 'ediff-show-dir-diffs #[nil "	 \n>) 	 \n>))! !6 !6 !!; !\f! \f\"eb)" [nil metajob ediff-metajob-name (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) (ediff-multifile-patch) error "This command is inapplicable in the present context" ediff-dir-diffs-buffer get-buffer buffer-name ediff-draw-dir-diffs ediff-dir-difference-list buf other-window 1 set-window-buffer selected-window] 3 (#$ . 15905) nil])
#@40 Go to the parent session group buffer.
(defalias 'ediff-up-meta-hierarchy #[nil " ! !! !!" [ediff-parent-meta-buffer get-buffer buffer-name ediff-show-meta-buffer error "This session group has no parent"] 3 (#$ . 16494) nil])
(defalias 'ediff-redraw-registry-buffer #[(&optional ignore) "p		!	!!Ď	q`ŉ	\n\f c\"Q c@AU !U !!U p ! !! ؎q	 =?) = !)`\n!	!#c!!!; ! !!; ! !$c\n`#U p!!!q+>+!>+!!>+!?-]-!]-!!]-!^.n/n炋00!0!!0!2\"3U32U3T\"\f8	)=!)`\n\f!	!\"\n`#U !b.=!)" [StartBuffer ediff-registry-buffer get-buffer buffer-name ((set-buffer StartBuffer)) nil buffer-read-only registry-list meta-list job-name pt total-diffs cur-diff bufCname bufBname bufAname elt point erase-buffer "This is a registry of all active Ediff sessions.\n\nUseful commands:\n     button2, `v', RET over a session record:  switch to that session\n     `M' over a session record:  display the associated session group\n     `R' in any Ediff session:   display session registry\n     SPC:	next session\n     DEL:	previous session\n     `E':	browse Ediff on-line manual\n     `q':	bury registry\n\n\n		Active Ediff Sessions:\n		----------------------\n\n" mapcar #[(elt) " ! !!? \f\"" [elt get-buffer buffer-name delq ediff-session-registry] 3] ediff-session-registry "       ******* No active Ediff sessions *******\n" ((set-buffer StartBuffer)) ediff-metajob-name ediff-meta-list ediff-registry this-command ediff-quit error ediff-KILLED-VITAL-BUFFER format "  *group*	%s: %s\n" ediff-abbrev-jobname "		   %s   %s   %s\n" ediff-abbreviate-file-name ediff-get-group-objA ediff-get-group-objB "" ediff-get-group-objC ediff-set-meta-overlay ((set-buffer StartBuffer)) ediff-buffer-A "!!!killed buffer!!!" ediff-buffer-B ediff-3way-comparison-job ediff-merge-job ediff-buffer-C "%-4d" ediff-number-of-differences ediff-current-difference -1 "   _" "   $" "%4d" ediff-job-name "/" "	" ": %s" "\n		   " "   " "\n" set-buffer-modified-p] 12])
(defalias 'ediff-set-meta-overlay #[(b e prop) "\f\" 	# 	#	#)" [nil overl ediff-make-overlay b e ediff-emacs-p ediff-overlay-put mouse-face highlight t ediff-meta-info prop] 4])
#@51 Mark session for hiding. With prefix arg, unmark.
(defalias 'ediff-mark-for-hiding #[(unmark) "	!	!\f\n\"!!=  \f\f. \"Q K !K !!K !\"\"\fZ !\f!," [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info ediff-get-session-buffer session-buf ediff-get-session-status 72 t unmark ediff-set-session-status nil get-buffer buffer-name error "Can't hide active session, %s" ediff-next-meta-item 1 ediff-update-meta-buffer] 4 (#$ . 19009) "P"])
#@62 Mark session for a group operation. With prefix arg, unmark.
(defalias 'ediff-mark-for-operation #[(unmark) "	!	!\f\n\"!= \n\n( \". \"\n7 !\f!+" [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info ediff-get-session-status 42 t unmark ediff-set-session-status nil ediff-next-meta-item 1 ediff-update-meta-buffer] 3 (#$ . 19546) "P"])
#@48 Hide marked sessions. With prefix arg, unhide.
(defalias 'ediff-hide-marked-sessions #[(unhide) "	!	A\n Â \n Ă Ɖ	\n\fm @A!!\f=+ \nT\n=c !c 	+ \"+ \nV| !  \n ! !	 !." [ediff-get-group-buffer ediff-meta-list unhide 73 72 0 nil elt session-buf active-sessions-exist numMarked to from meta-list grp-buf ediff-get-session-buffer ediff-get-session-status buffer-live-p t ediff-set-session-status ediff-update-meta-buffer beep message "Nothing to reveal..." "Nothing to hide..." "Note: didn't hide active sessions!"] 8 (#$ . 19963) "P"])
(defalias 'ediff-operate-on-marked-sessions #[(operation) "	!	AÉ	\n	A 	@	A	T!= T\f\") \n!." [ediff-get-group-buffer ediff-meta-list 42 0 nil elt sessionNum numMarked marksym meta-list grp-buf ediff-get-session-status operation ediff-update-meta-buffer] 6])
(defalias 'ediff-append-custom-diff #[(session sessionNum) " 	 !\f!ǉ	\n\fm \f!m \f!!m p\f` \f!` \f!!` Ў\fq\f=\\  )l =l !) ! !! ! ! !! qdb!c) \n> !	q !\"\f!\f!%\")qdb	!c) '\"-" [ediff-collect-diffs-metajob error "Sorry, I don't do this for everyone..." ediff-get-session-buffer session ediff-meta-diff-buffer ediff-metajob-name nil custom-diff-buf tmp-buf metajob meta-diff-buff session-buf get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-control-buffer ediff-compute-custom-diffs-maybe ediff-custom-diff-buffer this-command ediff-quit ediff-KILLED-VITAL-BUFFER "Ediff: something wrong--no multiple diffs buffer" insert-buffer "\n" (ediff-directories ediff-merge-directories ediff-merge-directories-with-ancestor) get-buffer-create ediff-tmp-buffer erase-buffer shell-command format "%s %s %s %s" ediff-custom-diff-program ediff-custom-diff-options ediff-get-session-objA-name ediff-get-session-objB-name t "Can't make context diff for Session %d" sessionNum] 9])
#@300 Collect custom diffs of marked sessions in buffer `*Ediff Multifile Diffs*'.
This operation is defined only for `ediff-directories' and
`ediff-directory-revisions', since its intent is to produce
multifile patches. For `ediff-directory-revisions', we insist that
all marked sessions must be active.
(defalias 'ediff-collect-custom-diffs #[nil " ! !! \"!p: !: !!: Ȏq )F \n=F !)!VT \" !" [ediff-meta-diff-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*Ediff Multifile Diffs" "*" StartBuffer ((set-buffer StartBuffer)) erase-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER ediff-operate-on-marked-sessions ediff-append-custom-diff 0 display-buffer not-this-window beep message "No marked sessions found"] 4 (#$ . 22026) nil])
#@63 Show the multi-file patch associated with this group session.
(defalias 'ediff-meta-show-patch #[nil "	!	!\f\n#	 	! 	!! p\f	q 	!q 	!!q ͎	qP ~Z !!}!q 	!\"*| =| !) !," [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info noerror info ediff-meta-patchbufer patchbuffer get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-get-session-objB-name ediff-get-session-objC-name get-buffer-create ediff-tmp-buffer erase-buffer insert-buffer display-buffer not-this-window this-command ediff-quit error ediff-KILLED-VITAL-BUFFER "The patch buffer wasn't found"] 5 (#$ . 22852) nil])
#@54 Execute appropriate action for the selected session.
(defalias 'ediff-filegroup-action #[nil "	!	!\f\n\"	\n\f!!	!\n!!>X  !T \"\f!X !p\fp\f!p\f!!pݎ\fq\nb	! \n; \n! ; 	! ߃  ! !! !l#\f	\n\f%&,DEDBBFD&l/ǉ/ &>)// &>))\\/&>)\\	!\\4!4!!4!l#\f	\f%&,DEDBBFD%l!!!p!!!q 7!):=<!)l! !	\npED@ BBFD#l!l/ǉ/&>)//&>))%	pEDA BBFD\"l/&B >)C%	\npEDC BBFD#l/&B >)l%	\npEDD BBFD$){:={<!.	" [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info nil session-buf file1 file2 file3 regexp ediff-get-session-buffer ediff-get-session-objA-name ediff-get-session-objB-name ediff-get-session-objC-name ediff-get-session-status (73) beep y-or-n-p "This session is marked as hidden, unmark? " ediff-set-session-status ediff-update-meta-buffer error "Aborted" StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) file-directory-p t ediff-show-meta-buffer read-string "Filter through regular expression: " ediff-filtering-regexp-history ediff-directories-internal ediff-session-action-function ediff-metajob-name list lambda setq ediff-parent-meta-buffer quote ediff-meta-buffer setcar (ediff-meta-buffer) metajob (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) (ediff-multifile-patch) (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) ediff-directory-revisions-internal (ediff-meta-buffer) ((set-buffer StartBuffer)) mouse-pixel-position ediff-mouse-pixel-position ediff-recenter no-rehighlight this-command ediff-quit ediff-KILLED-VITAL-BUFFER ediff-problematic-session-p "This session's ancestor is a directory, merge without the ancestor? " ediff-merge-files (ediff-control-buffer) (ediff-control-buffer) (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor ediff-directories3 ediff-filegroups3) (ediff-control-buffer) (ediff-control-buffer)] 14 (#$ . 23557) nil])
#@31 Switch to a selected session.
(defalias 'ediff-registry-action #[nil "	!	!\f\n\" ! !! p	I !I !!I ʎq!)=T =T !)` ! p	 ! !! ӎq !) = !)  ! p	\f \f! \f!! ܎\fq\nb) = !," [ediff-event-point last-command-event pos ediff-event-buffer buf ediff-get-meta-info ctl-buf get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) key-binding "q" ediff-quit-meta-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER ediff-show-meta-buffer ((set-buffer StartBuffer)) mouse-pixel-position ediff-mouse-pixel-position ediff-recenter no-rehighlight beep message "You've selected a stale session --- try again" ediff-update-registry ((set-buffer StartBuffer))] 4 (#$ . 25878) nil])
#@32 Show the session group buffer.
(defalias 'ediff-show-meta-buffer #[(&optional meta-buf) "\f\f \f \f!  !6 \f2 \f!2 \f!!6 !\f!p\f \f! \f!! ώ\fq\f!q 	e !\f\"! ! \f\"! ! \f\"! ! \f\"! !   !! \f\" ! \f\"*  = \"!) \f!!!\n!\n!!+" [nil silent frame wind meta-buf t ediff-meta-buffer bufferp error "This Ediff session is not part of a session group" get-buffer buffer-name "Can't find this session's group panel -- session itself is ok" ediff-cleanup-meta-buffer StartBuffer ((set-buffer StartBuffer)) ediff-get-visible-buffer-window message "Already showing the group panel for this session" set-window-buffer select-window window-live-p ediff-window-C ediff-window-A ediff-window-B ediff-registry-buffer ediff-window-display-p other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable this-command ediff-quit ediff-KILLED-VITAL-BUFFER window-frame raise-frame ediff-reset-mouse run-hooks ediff-show-session-group-hook] 3 (#$ . 26683) nil])
#@64 Display the session group buffer for a selected session group.
(defalias 'ediff-show-meta-buff-from-registry #[nil "	!	!\f\n\"p5 !5 !!5 ˎq )@ =@ !-" [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info meta-or-session-buf StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-show-meta-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 4 (#$ . 27806) nil])
#@27 Display Ediff's registry.
(defalias 'ediff-show-registry #[nil " 	 	! 	!! !Ɖp		 	! 	!! ʎ	q	!U !	\"! !j 	\"! ! 	\"! ! 	\"! !   !! 	\" ! 	\"* = !)  	!!!!!*" [ediff-update-registry ediff-registry-buffer get-buffer buffer-name error "No active Ediff sessions or corrupted session registry" nil frame wind StartBuffer ((set-buffer StartBuffer)) ediff-get-visible-buffer-window message "Already showing the registry" set-window-buffer select-window window-live-p ediff-window-C ediff-window-A ediff-window-B ediff-meta-buffer ediff-window-display-p other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable this-command ediff-quit ediff-KILLED-VITAL-BUFFER window-frame raise-frame ediff-reset-mouse run-hooks ediff-show-registry-hook] 3 (#$ . 28277) nil])
(defalias (quote eregistry) (quote ediff-show-registry))
(defalias 'ediff-update-meta-buffer #[(meta-buf) "pp] p!] p!!] Îpq\fY \f!Y \f!!Y p\fM \f!M \f!!M Ŏ\fq!)X =X !))h =h !)" [StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) meta-buf ((set-buffer StartBuffer)) ediff-meta-redraw-function ediff-meta-list this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 3])
(defalias 'ediff-update-registry #[nil "pp< p!< p!!< Îpq\f0 \f!0 \f!!0  8 %)G =G !)" [StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-registry-buffer ediff-redraw-registry-buffer ediff-prepare-meta-buffer ediff-registry-action ediff-session-registry "*Ediff Registry" ediff-registry this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 6])
(defalias 'ediff-cleanup-meta-buffer #[(meta-buffer) "X !X !!X pL !L !!L Ďq!H !H !!H !)W =W \n!)" [meta-buffer get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-update-meta-buffer ediff-parent-meta-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 3])
(defalias 'ediff-safe-to-quit #[(meta-buffer) " ! !! !p\nt !t !!t ˎqAn n !f !!f !!!f A> ) = !," [meta-buffer get-buffer buffer-name ediff-meta-list t nil buffer-read-only cont lis ediff-update-meta-buffer StartBuffer ((set-buffer StartBuffer)) ediff-get-group-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 4])
#@229 If no unprocessed sessions in the group, delete the meta buffer.
If no session is in progress, ask to confirm before deleting meta buffer.
Otherwise, bury the meta buffer.
If this is a session registry buffer then just bury it.
(defalias 'ediff-quit-meta-buffer #[nil "p	=   !!4 !4 !!D !@  D !!\nc !c !!c !!)\f~ !~ !!~ !!) ! !! !  -" [buf ediff-dir-diffs-buffer dir-diffs-buffer ediff-meta-diff-buffer meta-diff-buffer ediff-parent-meta-buffer parent-buf ediff-registry-buffer dont-show-registry bury-buffer ediff-cleanup-meta-buffer ediff-safe-to-quit y-or-n-p "Quit this session group? " message "" ediff-dispose-of-meta-buffer error "This session group has active sessions---cannot exit" get-buffer buffer-name kill-buffer t ediff-show-meta-buffer ediff-show-registry] 4 (#$ . 30770) nil])
(defalias 'ediff-dispose-of-meta-buffer #[(buf) "	\n\"p	< 	!< 	!!< Ǝ	q8 !8 !!8 !)H 	=H \f!)	!" [delq buf ediff-session-registry StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-dir-diffs-buffer kill-buffer this-command ediff-quit error ediff-KILLED-VITAL-BUFFER] 3])
(defalias 'ediff-get-meta-info #[(buf point &optional noerror) "\f  ! !! pu !u !!u Ɏq\nM \f#I 	\"q \f!\n\"n \n@n \n@\"n \nAZ \n@) = !)  ?  !+" [nil tmp olist result point buf get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-xemacs-p extent-at ediff-meta-info ediff-overlay-get overlays-at mapcar #[(elt) "	\"" [overlay-get elt ediff-meta-info] 3] overlay-get invisible this-command ediff-quit error ediff-KILLED-VITAL-BUFFER noerror ediff-update-registry "No session info in this line"] 5])
(defalias 'ediff-next-meta-overlay-start #[(point) "m eb\n0 \fp# 	!\" p!	, 	!I dI \f!@F 	\"F 	!I \f!)" [nil overl ediff-xemacs-p extent-at point ediff-meta-info next-extent extent-start-position overlays-at overlay-get overlay-end next-overlay-change] 5])
(defalias 'ediff-previous-meta-overlay-start #[(point) "o db\n0 \fp# 	!\" p!	, 	!Y eY \f!@D 	\"D 	!oK \fS\f!\f!@X e\f)" [nil overl ediff-xemacs-p extent-at point ediff-meta-info previous-extent extent-start-position overlays-at overlay-get overlay-start previous-overlay-change] 5])
(defalias 'ediff-patch-file-form-meta #[(file &optional startup-hooks) "	!	!\f\n\"\n\f!* \"2 !\"!\n!!\f\nY \n!Y \n!!b \nb !p ! !! ێq~\f}#* =  !." [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info ediff-meta-patchbufer meta-patchbuf nil session-buf beg-marker end-marker file-directory-p file string-match "/dev/null" error "`%s' is not an ordinary file" file-name-as-directory ediff-get-session-buffer ediff-get-session-objB-name ediff-get-session-objC-name get-buffer buffer-name "Patch has been already applied to this file--cannot be repeated!" StartBuffer ((set-buffer StartBuffer)) ediff-patch-file-internal startup-hooks this-command ediff-quit ediff-KILLED-VITAL-BUFFER] 4])
#@130 Run though the session list and mark identical files.
This is used only for sessions that involve 2 or 3 files at the same time.
(defalias 'ediff-meta-mark-equal-files #[nil "A@f \n!\n!\n!\nA\n*\f\nA\n*\nA\n*\f\"\f>)] \"\f\"A -p!" [ediff-meta-list nil elt fileinfo3 fileinfo2 fileinfo1 list ediff-get-session-objA ediff-get-session-objB ediff-get-session-objC value ediff-mark-if-equal metajob ediff-metajob-name (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor ediff-directories3 ediff-filegroups3) ediff-update-meta-buffer] 6 (#$ . 34037) nil])
(defalias 'ediff-mark-if-equal #[(fileinfo1 fileinfo2) "	!@!7 \f@!7 	@\f@#U7 	A*\f	A*" [get-buffer-create ediff-tmp-buffer file-directory-p fileinfo1 fileinfo2 ediff-make-diff2-buffer 0 t value elt] 5])
(byte-code "!!" [provide ediff-mult require ediff-util] 2)
