;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Fri Nov 24 22:55:29 1995
;;; from file /home/fsf/rms/e19/lisp/ediff-mult.el
;;; emacs version 19.29.91.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-mult.el' was compiled for Emacs 19.29 or later"))


(require (quote ediff-init))
#@2 
(defvar ediff-meta-buffer nil (#$ . 506))
(byte-code "!#" [make-variable-buffer-local ediff-meta-buffer put permanent-local t] 4)
#@2 
(defvar ediff-parent-meta-buffer nil (#$ . 650))
(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:    bring back this buffer\n     `R':	display the registry of active Ediff sessions\n     `h':	mark session for hiding; with prefix arg--unmark\n     `x':	hide marked sessions; with prefix arg--unhide hidden sessions\n     `m':	mark session for non-hiding operation; with prefix arg--unmark\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 (#$ . 1510))
(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) (#$ . 1695))
#@2 
(defvar ediff-meta-action-function nil (#$ . 1851))
(byte-code "!#" [make-variable-buffer-local ediff-meta-action-function put permanent-local t] 4)
#@2 
(defvar ediff-meta-redraw-function nil (#$ . 2014))
(byte-code "!#" [make-variable-buffer-local ediff-meta-redraw-function put permanent-local t] 4)
#@2 
(defvar ediff-session-action-function nil (#$ . 2177))
(byte-code "!#" [make-variable-buffer-local ediff-session-action-function put permanent-local t] 4)
#@2 
(defvar ediff-metajob-name nil (#$ . 2346))
(byte-code "!#" [make-variable-buffer-local ediff-metajob-name put permanent-local t] 4)
#@2 
(defvar ediff-meta-diff-buffer nil (#$ . 2493))
(byte-code "!#" [make-variable-buffer-local ediff-meta-diff-buffer put permanent-local t] 4)
#@2 
(defvar ediff-filtering-regexp-history nil (#$ . 2648))
#@2 
(defvar ediff-meta-list nil (#$ . 2710))
(byte-code "!#" [make-variable-buffer-local ediff-meta-list put permanent-local t] 4)
#@2 
(defvar ediff-dir-difference-list nil (#$ . 2851))
(byte-code "!#" [make-variable-buffer-local ediff-dir-difference-list put permanent-local t] 4)
#@2 
(defvar ediff-dir-diffs-buffer nil (#$ . 3012))
(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 (#$ . -3237))
#@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 (#$ . -3356))
#@53 *Hooks run just after the registry buffer is shown.
(defvar ediff-show-registry-hook nil (#$ . -3519))
#@56 *Hooks run just after a session group buffer is shown.
(defvar ediff-show-session-group-hook nil (#$ . -3628))
(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-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-set-session-status #[(session-info new-status) "A	" [session-info new-status] 2])
(defalias 'ediff-setup-meta-map #[nil " 	!	#	#	#	#	#	#	#	#	#J 	#Y 	#` 	#	!" [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-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 (#$ . 5001)])
(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 (#$ . 5852) "p"])
(defalias 'ediff-next-meta-item1 #[nil "`! 	b=! #, x, wV, !)" [nil pos ediff-next-meta-overlay-start ediff-metajob-name ediff-registry 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 (#$ . 6352) "p"])
(defalias 'ediff-previous-meta-item1 #[nil "`! 	b=! #, x, wV, !)" [nil pos ediff-previous-meta-overlay-start ediff-metajob-name ediff-registry 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	 ĉ	\n\f!#\f!#;T !#\n\f\"\f\f\"\f\f\n$		\"\n 	\n\n$	 >) 	\"	!\"	\f\n$\n\n$	\n$\"\"!\"\"\"FB&LF	\".B" [require cl comparison-func string= nil difflist auxdir3 auxdir2 auxdir1 common lis3 lis2 lis1 file-name-as-directory dir1 directory-files regexp dir2 dir3 delete "." ".." intersection :test 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 copy-list string-lessp set-difference 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) "!!\n#G @AP!7 \fB Q! \fB \f\"\f\"\f!\"\nF\f\",B" [require cl nil auxdir1 common elt lis1 file-name-as-directory dir1 directory-files regexp file-directory-p file-exists-p ",v" delete "." ".." sort copy-list string-lessp mapcar #[(elt) "	PE" [auxdir1 elt nil] 3]] 4])
(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$! $!###-- >) >) ###= ! !) 8= !)\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 elt] 3] ediff-session-registry t buffer-read-only set-buffer-modified-p nil run-hooks startup-hooks ediff-dir-action ediff-dir-difference-list ediff-dir1-metajob ediff-draw-dir-diffs "h" ediff-mark-for-hiding "x" ediff-hide-marked-sessions "m" ediff-mark-for-operation metajob (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) (ediff-directories ediff-directory-revisions) "P" ediff-collect-custom-diffs "u" ediff-up-meta-hierarchy "D" ediff-show-dir-diffs ediff-registry-setup-hook ediff-session-group-setup-hook this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 5])
(defalias 'ediff-redraw-directory-group-buffer #[(meta-list) "	!ĉ	\n\fpZ!Z!!ZՎq` !\"c	!ĉg >)q >)x cc; GV \"cc	A  @ @!= A  c	L	@	AT!= !\f!!\n!	`\f\f\f!\f!!c!'c!!\n!	!`# !b)d3=d!." [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-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) (ediff-directories ediff-directory-revisions) "     `P':	collect custom diffs of all marked sessions\n" "     `u':	show parent session group\n     `D':	display differences among the contents of directories\n\n" "Filter-through regular expression: %s\n" "\n\n        Size  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 "You've killed an essential Ediff buffer---Please quit Ediff"] 14])
(defalias 'ediff-problematic-session-p #[(session) "	!	!	!;> !> ;> !> \f;> \f!> 	\n>)> ̂? +" [ediff-get-session-objA session ediff-get-session-objB ediff-get-session-objC 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 #[(file) ";k !8!@ ;, BC\n!); \f7 !; \"*!i ;Y BC\n!)h \fd !h \"*#c" [file format "  %10d  %s\n" 7 file-attributes file-directory-p file-name-as-directory nil dir "" directory-abbrev-alist abbreviate-file-name ediff-emacs-p t] 7])
(defalias 'ediff-draw-dir-diffs #[(diff-list) " !\"!!\f;0 BC\f!)A < \f!A \f\"*!\f;a BC\f!)r m \f!r \f\"*!; \f; BC\f!)  \f! \f\"*!\"\fA! p! ! !! !!! q&! (cc;GV\"cc!\f;5BC\f!)FA\f!F\f\"*\"!\f;hBC\f!)yt\f!y\f\"*\"#c!\f;BC\f!)\f!\f\"*\"\"cc#c;\"ccc@@\f@AA\"UI\fP!\f!\f\f;/BC\f!)@;\f!@\f\"*\"\"cO\"c\"U\fP!m\f!o\f\f;BC\f!)\f!\f\"*\"\"c\"c;@ \"UA \fP!\f!\f\f;BC\f!)\f!\f\"*\"\"cA \"ccB !)/CD =/E !.\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-get-group-objA nil dir file "" directory-abbrev-alist abbreviate-file-name ediff-emacs-p t dir1 ediff-get-group-objB dir2 ediff-get-group-objC dir3 ediff-get-group-buffer meta-buf make-string 26 45 underline 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" set-buffer-modified-p this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff"] 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 (#$ . 14257) nil])
#@70 Display differences among the directories involved in session group.
(defalias 'ediff-show-dir-diffs #[nil "	 \n>* !( !( !!- \n!! \"eb)" [nil metajob ediff-metajob-name (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) 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 (#$ . 14558) 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 (#$ . 15107) nil])
(defalias 'ediff-redraw-registry-buffer #[(&optional ignore) "p	{	!{	!!{Ď	q`ŉ	\n\f c\"Q cm@AU !U !!U p ! !! ؎q	 =?) = !)r`\n!	!#c!%&%; %BC(&!) * &! &\"*!%&%;%BC(&!)/**&!/&\"*!8%&%;R%BC(&!)c*^&!c&\"*$c\n`#U p(!(!!(q00!0!!0!22!2!!2!3455!5!!5!7\"8U\f87U8T\"\f=	)3=3!)`\n\f!@ 	!\"A B B C \n`#U D !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 "You've killed an essential Ediff buffer---Please quit Ediff" format "  *group*	%s: %s\n" ediff-abbrev-jobname "		   %s   %s   %s\n" ediff-get-group-objA dir file "" directory-abbrev-alist abbreviate-file-name ediff-emacs-p t 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\"!	\" \"E ? !? !!? !\"\"\f!," [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info ediff-get-session-buffer session-buf unmark ediff-set-session-status nil get-buffer buffer-name error "Can't hide active session, %s" 72 ediff-update-meta-buffer] 4 (#$ . 17823) "P"])
#@62 Mark session for a group operation. With prefix arg, unmark.
(defalias 'ediff-mark-for-operation #[(unmark) "	!	!\f\n\" \"\" \"\f!+" [ediff-event-point last-command-event pos ediff-event-buffer meta-buf ediff-get-meta-info info unmark ediff-set-session-status nil 42 ediff-update-meta-buffer] 3 (#$ . 18287) "P"])
#@48 Hide marked sessions. With prefix arg, unhide.
(defalias 'ediff-hide-marked-sessions #[(unhide) "	!	A\n Â \n Ă 	\n\fM @A!\n=% T	\"% V[ \f!k  \nh !k !." [ediff-get-group-buffer ediff-meta-list unhide 73 72 0 nil elt numMarked to from meta-list grp-buf ediff-get-session-status ediff-set-session-status ediff-update-meta-buffer beep message "Nothing to reveal..." "Nothing to hide..."] 6 (#$ . 18631) "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\fi \f!i \f!!i p\f] \f!] \f!!] Ў\fq\f=Y )h =h !)~ !~ !! ! ! !! 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-custom-diff-buffer this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff" "Ediff: something wrong--no multiple diffs buffer" insert-buffer "\n" ediff-directories 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 ediff-get-session-objB t "Session %d is marked but inactive--can't make its diff" 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 )E \n=E !)!VS \" !" [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 "You've killed an essential Ediff buffer---Please quit Ediff" ediff-operate-on-marked-sessions ediff-append-custom-diff 0 display-buffer not-this-window beep message "No marked sessions found"] 4 (#$ . 20476) nil])
#@54 Execute appropriate action for the selected session.
(defalias 'ediff-dir-action #[nil "	!	!\f\n\"	\n\f!!	!\n!!>X  !T \"\f!X !p\f>\f!>\f!!>ݎ\fq\nb	! \n; \n! ; 	! ߃  ! !! !:#\f	\n\f%&,DEDBBFD&:/ǉ/ &>*@	!@!!!!:#\f	\f%&,DEDBBFD%:!!!p~!~!!~q 5!)8=!):! !	\npEDBBFD#:!:/ǉ/&>*%	pEDBBFD\":/&@ >)%	\npEDA BBFD#:/&@ >):%	\npEDB BBFD$)H8=H!.	" [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 ediff-get-session-objB ediff-get-session-objC ediff-get-session-status (72 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-directory-revisions-internal (ediff-meta-buffer) ((set-buffer StartBuffer)) mouse-pixel-position ediff-mouse-pixel-position ediff-recenter no-rehighlight this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff" 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 (#$ . 21337) nil])
#@31 Switch to a selected session.
(defalias 'ediff-registry-action #[nil "	!	!\f\n\" ! !! p	I !I !!I ʎq!)=S =S !)_ ! 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 "You've killed an essential Ediff buffer---Please quit Ediff" 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 (#$ . 23492) 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\"*\n$=\n!) !=&* !>=\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-emacs-p window-system device-type selected-device (tty stream) other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff" window-frame raise-frame ediff-reset-mouse run-hooks ediff-show-session-group-hook] 3 (#$ . 24330) 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 "You've killed an essential Ediff buffer---Please quit Ediff"] 4 (#$ . 25589) 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-emacs-p window-system device-type selected-device (tty stream) other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff" window-frame raise-frame ediff-reset-mouse run-hooks ediff-show-registry-hook] 3 (#$ . 26095) nil])
(defalias (quote eregistry) (quote ediff-show-registry))
(defalias 'ediff-update-meta-buffer #[(meta-buf) "pp\\ p!\\ p!!\\ Îpq\fX \f!X \f!!X p\fM \f!M \f!!M Ŏ\fq!)W =W !))f =f !)" [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 "You've killed an essential Ediff buffer---Please quit Ediff"] 3])
(defalias 'ediff-update-registry #[nil "pp< p!< p!!< Îpq\f0 \f!0 \f!!0  8 %)F =F !)" [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 "You've killed an essential Ediff buffer---Please quit Ediff"] 6])
(defalias 'ediff-cleanup-meta-buffer #[(meta-buffer) "W !W !!W pL !L !!L Ďq!H !H !!H !)V =V !)" [meta-buffer get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-update-meta-buffer ediff-parent-meta-buffer this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 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 "You've killed an essential Ediff buffer---Please quit Ediff"] 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	=   !!0 !0 !F !<  F   !!\ne !e !!e !!)\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? " ediff-dispose-of-meta-buffer beep message "Group has active sessions, panel not deleted" get-buffer buffer-name kill-buffer t ediff-show-meta-buffer ediff-show-registry] 4 (#$ . 28872) nil])
(defalias 'ediff-dispose-of-meta-buffer #[(buf) "	\n\"p	< 	!< 	!!< Ǝ	q8 !8 !!8 !)G 	=G !)	!" [delq buf ediff-session-registry StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-dir-diffs-buffer kill-buffer this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 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 "You've killed an essential Ediff buffer---Please quit Ediff" noerror ediff-update-registry "No session info in this line"] 5])
(defalias 'ediff-next-meta-overlay-start #[(point) "\n) \fp# 	! p!	% 	!J dJ \fdU1 e\f!@G 	\"G 	!J \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) "\n) \fp# 	! p!	% 	!P dP \f!@A 	\"A 	!!D \f!eUO dP \f)" [nil overl ediff-xemacs-p extent-at point ediff-meta-info previous-extent extent-start-position overlays-at overlay-get previous-overlay-change overlay-start] 5])
(byte-code "!!" [provide ediff-mult require ediff-util] 2)
