;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:41 2007 ;;; from file /home/cyd/emacs/lisp/ediff-mult.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (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-mult.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305\306\307&\210\310\311!\207" [custom-declare-group ediff-mult nil "Multi-file and multi-buffer processing in Ediff." :prefix "ediff-" :group ediff require ediff-init] 8) #@2  (defvar ediff-meta-buffer nil (#$ . 772)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-buffer put permanent-local t] 4) #@2  (defvar ediff-parent-meta-buffer nil (#$ . 940)) (byte-code "\301\302!\210\303\302\304\305#\210\306B\307\306!\204\310\306\311\"\210\312B\313\314!\207" [current-load-list make-variable-buffer-local ediff-parent-meta-buffer put permanent-local t ediff-registry-buffer default-boundp set-default nil ediff-meta-buffer-message (lambda (#1=#:defconst-tmp-var) (defconst ediff-meta-buffer-message #1#)) "This is an Ediff Session Group Panel: %s\n\nUseful commands:\n button2, v, or RET over session record: start that Ediff session\n M: in sessions 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\n m: mark session for a non-hiding operation (toggle)\n uh/um: unmark all sessions marked for hiding/operation\n n,SPC: next session\n p,DEL: previous session\n E: browse Ediff on-line manual\n T: toggle truncation of long file names\n q: quit this session group\n"] 4) #@33 The keymap for the meta buffer. (defvar ediff-meta-buffer-map nil (#$ . 1992)) (byte-code "\300\301!\210\302\301\303\304#\207" [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) (#$ . 2201)) #@2  (defvar ediff-meta-action-function nil (#$ . 2357)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-action-function put permanent-local t] 4) #@2  (defvar ediff-meta-redraw-function nil (#$ . 2544)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-redraw-function put permanent-local t] 4) #@2  (defvar ediff-session-action-function nil (#$ . 2731)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-session-action-function put permanent-local t] 4) #@2  (defvar ediff-metajob-name nil (#$ . 2924)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-metajob-name put permanent-local t] 4) #@2  (defvar ediff-meta-diff-buffer nil (#$ . 3095)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-diff-buffer put permanent-local t] 4) #@2  (defvar ediff-recurse-to-subdirectories nil (#$ . 3274)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-recurse-to-subdirectories put permanent-local t] 4) #@2  (defvar ediff-filtering-regexp-history nil (#$ . 3471)) #@161 The default regular expression used as a filename filter in multifile comparisons. Should be a sexp. For instance (car ediff-filtering-regexp-history) or nil. (custom-declare-variable 'ediff-default-filtering-regexp 'nil '(#$ . 3535) :type 'sexp :group 'ediff-mult) #@2  (defvar ediff-meta-list nil (#$ . 3807)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-list put permanent-local t] 4) #@2  (defvar ediff-meta-session-number nil (#$ . 3972)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-session-number put permanent-local t] 4) #@2  (defvar ediff-dir-difference-list nil (#$ . 4157)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-dir-difference-list put permanent-local t] 4) #@2  (defvar ediff-dir-diffs-buffer nil (#$ . 4342)) (byte-code "\301\302!\210\303\302\304\305#\210\306B\307\306!\204\310\306\311\"\210\311\207" [current-load-list make-variable-buffer-local ediff-dir-diffs-buffer put permanent-local t ediff-session-registry default-boundp set-default nil] 4) #@130 *If non-nil, truncate long file names in the session group buffers. This can be toggled with `ediff-toggle-filename-truncation'. (custom-declare-variable 'ediff-meta-truncate-filenames 't '(#$ . -4643) :type 'boolean :group 'ediff-mult) #@45 *Hooks run just after setting up meta mode. (custom-declare-variable 'ediff-meta-mode-hook 'nil '(#$ . -4886) :type 'hook :group 'ediff-mult) #@61 *Hooks run just after the registry control panel is set up. (custom-declare-variable 'ediff-registry-setup-hook 'nil '(#$ . -5034) :type 'hook :group 'ediff-mult) #@278 *Hooks to run before Ediff arranges the window for group-level operations. It is used by commands such as `ediff-directories'. This hook can be used to save the previous window config, which can be restored on `ediff-quit', `ediff-suspend', or `ediff-quit-session-group-hook'. (custom-declare-variable 'ediff-before-session-group-setup-hooks 'nil '(#$ . -5204) :type 'hook :group 'ediff-hook) #@101 *Hooks run just after a meta-buffer controlling a session group, such as ediff-directories, is run. (custom-declare-variable 'ediff-after-session-group-setup-hook 'nil '(#$ . -5604) :type 'hook :group 'ediff-mult) #@49 *Hooks run just before exiting a session group. (custom-declare-variable 'ediff-quit-session-group-hook 'nil '(#$ . -5824) :type 'hook :group 'ediff-mult) #@53 *Hooks run just after the registry buffer is shown. (custom-declare-variable 'ediff-show-registry-hook 'nil '(#$ . -5985) :type 'hook :group 'ediff-mult) #@56 *Hooks run just after a session group buffer is shown. (custom-declare-variable 'ediff-show-session-group-hook ''(delete-other-windows) '(#$ . -6145) :type 'hook :group 'ediff-mult) #@225 *Hooks run just after setting up the `ediff-meta-buffer-map'. This keymap controls key bindings in the meta buffer and is a local variable. This means that you can set different bindings for different kinds of meta buffers. (custom-declare-variable 'ediff-meta-buffer-keymap-setup-hook 'nil '(#$ . -6334) :type 'hook :group 'ediff-mult) #@2  (defvar ediff-meta-patchbufer nil (#$ . 6676)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-meta-patchbufer put permanent-local t] 4) (defalias 'ediff-get-group-buffer #[(meta-list) "@@\207" [meta-list] 1]) (put 'ediff-get-group-buffer 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-regexp #[(meta-list) "@A@\207" [meta-list] 1]) (put 'ediff-get-group-regexp 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-objA #[(meta-list) "\301@8\207" [meta-list 2] 2]) (put 'ediff-get-group-objA 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-objB #[(meta-list) "\301@8\207" [meta-list 3] 2]) (put 'ediff-get-group-objB 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-objC #[(meta-list) "\301@8\207" [meta-list 4] 2]) (put 'ediff-get-group-objC 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-merge-autostore-dir #[(meta-list) "\301@8\207" [meta-list 5] 2]) (put 'ediff-get-group-merge-autostore-dir 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-group-comparison-func #[(meta-list) "\301@8\207" [meta-list 6] 2]) (put 'ediff-get-group-comparison-func 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-buffer #[(elt) "@\207" [elt] 1]) (put 'ediff-get-session-buffer 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-status #[(elt) "A@\207" [elt] 1]) (put 'ediff-get-session-status 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-set-session-status #[(session-info new-status) "A \240\207" [session-info new-status] 2]) (put 'ediff-set-session-status 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objA #[(elt) "\3018\207" [elt 2] 2]) (put 'ediff-get-session-objA 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objB #[(elt) "\3018\207" [elt 3] 2]) (put 'ediff-get-session-objB 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objC #[(elt) "\3018\207" [elt 4] 2]) (put 'ediff-get-session-objC 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objA-name #[(elt) "\3018@\207" [elt 2] 2]) (put 'ediff-get-session-objA-name 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objB-name #[(elt) "\3018@\207" [elt 3] 2]) (put 'ediff-get-session-objB-name 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-session-objC-name #[(elt) "\3018@\207" [elt 4] 2]) (put 'ediff-get-session-objC-name 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-get-file-eqstatus #[(elt) "A@\207" [elt] 1]) (put 'ediff-get-file-eqstatus 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-set-file-eqstatus #[(elt value) "A \240\207" [elt value] 2]) (put 'ediff-set-file-eqstatus 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-make-new-meta-list-element #[(obj1 obj2 obj3) "\303\211\303D \303D\n\303D\257\207" [obj1 obj2 obj3 nil] 6]) (defalias 'ediff-make-new-meta-list-header #[(regexp objA objB objC merge-auto-store-dir comparison-func) " \n \f \257\207" [regexp objA objB objC merge-auto-store-dir comparison-func] 6]) (defalias 'ediff-get-session-activity-marker #[(session) "\211@)\211\204\303\202%\n\203$\304\n!\203$\305\304\n!!\203$\306\202%\307)\207" [session elt session-buf nil get-buffer buffer-name 43 45] 4]) (defalias 'ediff-meta-session-p #[(session-info) "\302 8@);\205D\303\302 8@)!\205D\304 8@);\205D\303\304 8@)!\205D\305 8@);\203C\303\305 8@)!\207\306\207" [session-info elt 2 file-directory-p 3 4 t] 3]) (defalias 'ediff-setup-meta-map #[nil "\305 \306!\210\307\310\311#\210\307\312\313#\210\307\314\315#\210\307\316\317#\210\307\320 #\210\307\321 #\210\307\322\323#\210\307\324\323#\210\307\325\326#\210\307\327\326#\210\307\330\326#\210\307\331\326#\210\332\333\n!\206Z\334\n!)\204v\307\335\332#\210\307\336\337#\210\307\340\337#\210\307\341\337#\210 \203\200\307\342\326#\210\f\203\215\307\343 #\210\202\223\307\344 #\210\345!\210\346\347!\207" [ediff-meta-buffer-map ediff-meta-action-function metajob ediff-no-emacs-help-in-control-buffer ediff-emacs-p make-sparse-keymap suppress-keymap define-key "q" ediff-quit-meta-buffer "T" ediff-toggle-filename-truncation "R" ediff-show-registry "E" ediff-documentation "v" " " " " ediff-next-meta-item "n" "" ediff-previous-meta-item "p" [delete] [backspace] nil ediff-revision-metajob ediff-patch-metajob "=" "==" ediff-meta-mark-equal-files "=m" "=h" "" [mouse-2] [button2] use-local-map run-hooks ediff-meta-buffer-keymap-setup-hook] 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 "\302 \210\303\304\305\306!\207" [major-mode mode-name kill-all-local-variables ediff-meta-mode "MetaEdiff" run-hooks ediff-meta-mode-hook] 2 (#$ . 11350)]) (byte-code "\302!\210\303\304\305#\210\303\306\307#\210\303\310\307#\210\303\311\312#\210\303\313\312#\210\303\314\315#\210 \2035\303\316\315#\210\202;\303\317\315#\210\303\320\312#\210\303\321\312#\207" [ediff-dir-diffs-buffer-map ediff-emacs-p suppress-keymap define-key "q" ediff-bury-dir-diffs-buffer " " next-line "n" "" previous-line "p" "C" ediff-dir-diff-copy-file [mouse-2] [button2] [delete] [backspace]] 4) #@141 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) "\204\302\303\304W\2051S\305 \210\306`!\211\203\307 \310\"\203\305 \210\306`!\211\204\202)\207" [count overl 1 nil 0 ediff-next-meta-item1 ediff-get-meta-overlay-at-pos ediff-overlay-get invisible] 4 (#$ . 12496) "p"]) (defalias 'ediff-next-meta-item1 #[nil "\302\303`!\211\203 b\210 \304=\203)\305p\306#\2053\307\310\302\311#\2053\312\302x\2023\313\302w\314V\2053\315u)\207" [pos ediff-metajob-name nil ediff-next-meta-overlay-start ediff-registry ediff-get-meta-info noerror search-forward "*Ediff" t "a-zA-Z*" "-+?H* 0-9" 0 -1] 5]) #@145 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) "\204\302\303\304W\2051S\305 \210\306`!\211\203\307 \310\"\203\305 \210\306`!\211\204\202)\207" [count overl 1 nil 0 ediff-previous-meta-item1 ediff-get-meta-overlay-at-pos ediff-overlay-get invisible] 4 (#$ . 13250) "p"]) (defalias 'ediff-previous-meta-item1 #[nil "\302\303`!\211\203 b\210 \304=\203)\305p\306#\2053\307\310\302\311#\2053\312\302x\2023\313\302w\314V\2053\315u)\207" [pos ediff-metajob-name nil ediff-previous-meta-overlay-start ediff-registry ediff-get-meta-info noerror search-forward "*Ediff" t "a-zA-Z*" "-+?H* 0-9" 0 -1] 5]) (defalias 'ediff-add-slash-if-directory #[(dir file) "\302 P!\203\f\303 !\207 \207" [dir file file-directory-p file-name-as-directory] 3]) (put 'ediff-add-slash-if-directory 'byte-optimizer 'byte-compile-inline-expand) #@153 Toggle truncation of long file names in session group buffers. Set `ediff-meta-truncate-filenames' variable if you want to change the default behavior. (defalias 'ediff-toggle-filename-truncation #[nil "?\301p\302\"\207" [ediff-meta-truncate-filenames ediff-update-meta-buffer must-redraw] 3 (#$ . 14245) nil]) (byte-code "\301B\304\301!\204\305\301\306\"\210\302B\304\302!\204\305\302\307\"\210\303B\304\303!\204-\305\303\310\"\210\311B\304\311!\204@\305\311 \n_ _\"\210\301\207" [current-load-list ediff-membership-code1 ediff-membership-code2 ediff-membership-code3 default-boundp set-default 2 3 5 ediff-product-of-memcodes] 4) (defalias 'ediff-intersect-directories #[(jobname regexp dir1 dir2 &optional dir3 merge-autostore-dir comparison-func) "\206\306\307\211\211\211\211\211\211\211\211 \310!!\311 \307\"# \312\313 \" \312\314 \" \315\316 \" \310#!\311\f\307\"#\312\313\"\312\314\"\315\317\"$;\203\210\310$!\311 \307\"#\312\313\"\312\314\"\315\320\"%\211&;\205\226&\321\230?)\203\240\310%!%\322 #\203\307'\211(\206\270)\323>)\203\307\322#\324\325!\326\"\327\330\211 ###\312\313 \"\324\325\312\314 \"!\326\"\315\331 \"\315\332 \"\210\333\" \f %& B\333\" \f %&\315\334\"B\211 . B\207" [comparison-func difflist common-part auxdir3 auxdir2 auxdir1 string= nil file-name-as-directory directory-files delete "." ".." mapcar #[(elt) " \304 \nP!\203\305\n!\202\n*\207" [auxdir1 elt file dir file-directory-p file-name-as-directory] 3] #[(elt) " \304 \nP!\203\305\n!\202\n*\207" [auxdir2 elt file dir file-directory-p file-name-as-directory] 3] #[(elt) " \304 \nP!\203\305\n!\202\n*\207" [auxdir3 elt file dir file-directory-p file-name-as-directory] 3] "" ediff-intersection (ediff-directories3 ediff-filegroups3) sort ediff-copy-list string-lessp ediff-set-difference ediff-union #[(elt) "\301B\207" [elt 1] 2] #[(elt) "@ \235\203\211A\n_\241\210@ \235\203\211A\f_\241\210@ \235\205*\211A_\241\207" [elt lis1 ediff-membership-code1 lis2 ediff-membership-code2 lis3 ediff-membership-code3] 3] ediff-make-new-meta-list-header #[(elt) "\306\307 P!\307\n P! \2053\f  \310 P!\203#\311 !\202$ *\312\f P!\2053\307\f P!#\207" [auxdir1 elt auxdir2 lis3 auxdir3 file ediff-make-new-meta-list-element expand-file-name file-directory-p file-name-as-directory file-exists-p dir] 6] common lis3 lis2 lis1 dir1 regexp dir2 dir3 merge-autostore-dir string jobname metajob ediff-metajob-name] 10]) (defalias 'ediff-get-directory-files-under-revision #[(jobname regexp dir1 &optional merge-autostore-dir) "\306\211\211\211\307\f!\310\306 #\211;\205 \311\230?)\203*\307! \203\222 @ A\312\nP!\203\\\n\312P!\203S\307!\202U* B\202*\313\314!\203q\315\nP!\203q\n B\202*\316\n\317Q!\203\201\n B\202*\316\320\n\317R!\203*\n B\202*\321\322 \"\321\323 \"\321\324 \"\321\325 \"\326\327 !\330\"\331 \306\211\306&\332\333 \",B\207" [auxdir1 common elt lis1 dir1 regexp nil file-name-as-directory directory-files "" file-directory-p featurep vc-hooks vc-backend file-exists-p ",v" "RCS/" delete "./" "../" "RCS" "CVS" sort ediff-copy-list string-lessp ediff-make-new-meta-list-header mapcar #[(elt) "\302\303 P!\304\211#\207" [auxdir1 elt ediff-make-new-meta-list-element expand-file-name nil] 4] merge-autostore-dir string file dir] 8]) (defalias 'ediff-prepare-meta-buffer #[(action-func meta-list meta-buffer-name redraw-function jobname &optional startup-hooks) "\306\307\"\310!\211\203\311 !\203\312\311 !!\203r q\210\313 \210\n\f23 4\314 \2103\315=\203H 567\3168\317\320#\210\202S 6@B6AB7 5=\204` 9B9\f7!\210\321:\322\323!\210\324\325!\210\n\326=\203 ;@B;AB;2<\327)\203\335\3168\346\347#\210\202\3642\211<\206\3473\350>)\203\364\3168\346\351#\210\3168\352\353#\210\3168\354\355#\2103\315=\203\324\356!\210\202\324\357!\210)\202$=\360=\204$\361>!\210 *\207" [meta-buffer-name meta-buffer action-func ediff-meta-action-function redraw-function ediff-meta-redraw-function ediff-unique-buffer-name "*" get-buffer-create get-buffer buffer-name ediff-meta-mode ediff-setup-meta-map ediff-registry define-key "M" ediff-show-meta-buff-from-registry t set-buffer-modified-p nil run-hooks startup-hooks ediff-filegroup-action ediff-revision-metajob ediff-patch-metajob ediff-draw-dir-diffs "h" ediff-mark-for-hiding-at-pos "x" ediff-hide-marked-sessions "m" ediff-mark-for-operation-at-pos "u" "um" ediff-unmark-all-for-operation "uh" ediff-unmark-all-for-hiding (ediff-directories ediff-merge-directories ediff-merge-directories-with-ancestor ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) "P" ediff-collect-custom-diffs (ediff-multifile-patch) ediff-meta-show-patch "^" ediff-up-meta-hierarchy "D" ediff-show-dir-diffs ediff-registry-setup-hook ediff-after-session-group-setup-hook ediff-quit error jobname ediff-metajob-name ediff-meta-buffer ediff-registry-buffer meta-list ediff-meta-list ediff-meta-buffer-map ediff-session-registry buffer-read-only ediff-dir-difference-list metajob this-command ediff-KILLED-VITAL-BUFFER] 5]) (defalias 'ediff-insert-session-activity-marker-in-meta-buffer #[(session) "\301!\206\302c\207" [session ediff-get-session-activity-marker " "] 2]) (defalias 'ediff-insert-session-status-in-meta-buffer #[(session) "\211A@)\206\n\302c\207" [session elt " "] 2]) (defalias 'ediff-replace-session-activity-marker-in-meta-buffer #[(point new-marker) "\306!\307 \310\"\311\n!\312 \204 \204\313 \314 !\205$\315 !)b\210`f =?\2059 c\210\316\317!\210\320\312!,\207" [point overl session-info activity-marker buffer-read-only new-marker ediff-get-meta-overlay-at-pos ediff-overlay-get ediff-meta-info ediff-get-session-activity-marker nil 32 ediff-overlayp overlay-start delete-char 1 set-buffer-modified-p] 3]) (defalias 'ediff-replace-session-status-in-meta-buffer #[(point new-status) "\306!\307 \310\"\211\211A@)\311\206\f\206\312 \313 !\205)\314 !)b\210\315u\210`f=?\205Cc\210\316\315!\210\317\311!,\207" [point overl session-info elt status buffer-read-only ediff-get-meta-overlay-at-pos ediff-overlay-get ediff-meta-info nil 32 ediff-overlayp overlay-start 1 delete-char set-buffer-modified-p new-status] 4]) (defalias 'ediff-insert-session-info-in-meta-buffer #[(session-info sessionNum) "\306 8)\307 8)\310 8)`\211A@)\311=\312!\210\313!\210\314\315!\316\261\210\317!\210\317 !\210\317\f!\210\320 `\n%-\207" [session-info elt hidden pt f3 f2 2 3 4 73 ediff-insert-session-activity-marker-in-meta-buffer ediff-insert-session-status-in-meta-buffer " Session " int-to-string ":\n" ediff-meta-insert-file-info1 ediff-set-meta-overlay f1 sessionNum] 7]) (defalias 'ediff-redraw-directory-group-buffer #[(meta-list) "\211@@)\306\307\310\211\211\211\211\211+,-\211.\203>\311.!\203>\312\311.!!\203>r.q\210`\313 \210\314\315\316\317\211\"\"\210\320/\3210!\"c\210\211@A@)+\322@8)\31010\323>)\203m\324c\210\202{\31010\325>)\203{\326c\210\327c\210\3101\3301!\206\214\3311!)\204\227\332\333\334\335\261\210\336c\210+;\203\257+G\307V\203\257\320\337+\"c\210\340!\2102\203\332\31010\341>)\203\332\f\2113;\205\3203\342\230?)\203\332\320\343\f\"c\210\344c\210A\211\211\203-\203\n@\203\377\n@\211A@)\345=\204\377\310-\nA\211\204\346-\203\346c\210\2031@A,T, \211A@)\345=\204\347 ,\"\210\202\350\310!\210 b\210.)\202I4\351=\206I\3525!. \207" [meta-list buffer-read-only tmp-list point merge-autostore-dir elt t 0 nil get-buffer buffer-name erase-buffer mapcar delete-overlay overlays-in 1 format ediff-abbrev-jobname 5 (ediff-directories ediff-merge-directories ediff-merge-directories-with-ancestor ediff-directory-revisions 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" " ^: show parent session group\n" ediff-revision-metajob ediff-patch-metajob " D: show differences among directories\n" " ==: for each session, show which files are identical\n" " =h: like ==, but also marks those sessions for hiding\n" " =m: like ==, but also marks those sessions for operation\n\n" "\n" "*** Filter-through regular expression: %s\n" ediff-insert-dirs-in-meta-buffer (ediff-merge-directories ediff-merge-directories-with-ancestor ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor ediff-merge-filegroups-with-ancestor) "" "\nMerge results are automatically stored in:\n %s\n" "\n\n Size Last modified Name\n ----------------------------------------------\n\n" 73 " ****** ****** This session group has no members\n" ediff-insert-session-info-in-meta-buffer set-buffer-modified-p ediff-quit error regexp sessionNum empty meta-buf ediff-meta-buffer-message ediff-metajob-name metajob ediff-autostore-merges string this-command ediff-KILLED-VITAL-BUFFER] 10]) (defalias 'ediff-update-markers-in-dir-meta-buffer #[(meta-list) "\211@@)\306\211\211\211\211\203\233\307 !\203\233\310\307 !!\203\233r q\210`eb\210\311 \210o\204\220\312 `\313#\314`!\f\203\212\f\211A@)\315=\203X\n\203\212\316\n\317\320#\210\202\212\f\211A@)\321=\203x\n\203x\322\n\317\"\203x\316\n\317\306#\210\202\212\323`\324\f!\"\210\325`\f\211A@)\"\210\311 \210\202-\326\306!\210 b\210)\202\247\327=\204\247\330!\210 -\207" [meta-list buffer-read-only overl point session-info meta-buf nil get-buffer buffer-name ediff-next-meta-item1 ediff-get-meta-info no-error ediff-get-meta-overlay-at-pos 73 ediff-overlay-put invisible t 72 ediff-overlay-get ediff-replace-session-activity-marker-in-meta-buffer ediff-get-session-activity-marker ediff-replace-session-status-in-meta-buffer set-buffer-modified-p ediff-quit error elt this-command ediff-KILLED-VITAL-BUFFER] 6]) (defalias 'ediff-update-session-marker-in-dir-meta-buffer #[(session-num) "\306\211\211\211\307 \310 @ A\"\311\306\312\313 \"\"@\211\204$\314\315\f\"\210\316 \317\" \320 !\2054\321 !)b\210\322`\323\n!\"\210\324`\n\211A@)\"\210,\325 \207" [buffer-read-only overl session-info buffer-meta-overlays session-num elt nil overlay-lists append delq mapcar #[(overl) "\302\303\"\205\302\304\" =\205\207" [overl session-num ediff-overlay-get ediff-meta-info ediff-meta-session-number] 3] error "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" ediff-overlay-get ediff-meta-info ediff-overlayp overlay-start ediff-replace-session-activity-marker-in-meta-buffer ediff-get-session-activity-marker ediff-replace-session-status-in-meta-buffer ediff-next-meta-item1] 6]) (defalias 'ediff-problematic-session-p #[(session) "\306 8@)\307 8@)\310 8@)\211;\203G\311\f!\204G ;\203G\311 !\204G\n;\2039\311\n!\203G\312 \313>)\203G\314\202H\312+\207" [session elt f3 f2 f1 metajob 2 3 4 file-directory-p nil (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor) ancestor-is-dir ediff-metajob-name] 5]) (defalias 'ediff-meta-insert-file-info1 #[(fileinfo) "@\211A@)\n\203\306 \307Z\202\310\311\211\211;\204'\312\202U\313!\203S\314!\203N \315 \316\") \315 \317\")\202U\312\202U\320;\205\261\321\322\203f\323\202g\324\321\325 \320U\203s\326\202~ \320W\203}\326\202~ \" \320U\203\211\327\202\230 \320W\203\223\330\202\230\331\332\f!!;\204\250 \320W\203\250\333\202\257\334\335! \"%c-\207" [fileinfo elt ediff-meta-truncate-filenames file-size file-modtime max-filename-width window-width 41 500 nil -2 ediff-listable-file file-exists-p ediff-file-attributes 7 5 -1 format "%s %s %-20s %s\n" "=" " " "%10s" "--" "*remote file*" "*file doesn't exist*" ediff-format-date decode-time "-------" ediff-truncate-string-left ediff-abbreviate-file-name feq fname filename] 9]) #@28 Months' associative array. (defconst ediff-months '((1 . "Jan") (2 . "Feb") (3 . "Mar") (4 . "Apr") (5 . "May") (6 . "Jun") (7 . "Jul") (8 . "Aug") (9 . "Sep") (10 . "Oct") (11 . "Nov") (12 . "Dec")) (#$ . 26543)) (defalias 'ediff-fill-leading-zero #[(num) "\301W\203 \302\303\"\207\304!\207" [num 10 format "0%d" number-to-string] 3]) (put 'ediff-fill-leading-zero 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-format-date #[(time) "\303\304\305\3068 \"A\3078\3108\3118\211\312W\203 \303\313\n\"\202#\314\n!)A@\211\312W\2035\303\313\n\"\2028\314\n!)@\211\312W\203I\303\313\n\"\202L\314\n!)&\207" [time ediff-months num format "%s %2d %4d %s:%s:%s" assoc 4 3 5 2 10 "0%d" number-to-string] 11]) (defalias 'ediff-insert-dirs-in-meta-buffer #[(meta-list) "\304\305@8)!\306@8)\211;\205\304\n!\307@8)\211;\205+\304 !\310 \311\261\210\n\203<\312\n\311\261\210 \203F\313 \311\261\210\311c-\207" [meta-list dir1 dir2 dir3 ediff-abbreviate-file-name 2 3 4 "*** Directory A: " "\n" "*** Directory B: " "*** Directory C: "] 4]) (defalias 'ediff-draw-dir-diffs #[(diff-list &optional buf-name) "\204\306\307!\210 \206\310\311\312\"\211@A@)\313\314\n@8)!\313\315\n@8)!\316\n@8)\2117;\205?\3137!7\211@@)8\317\320\321\"9\322\211:;\322\211<=A\323 !\211>\203\324>!\203\325\324>!!\203r>q\210`<\326?!\210\327 \2108@\330c\210\331c\210\332\333\f\"c\210 \203\241\332\334 \"c\2107\203\255\332\3357\"c\210 ;\203\277 G\336V\203\277\332\337 \"c\210\340c\210\332\341\342\343#c\2107\203\327\332\344\345\"c\210\202\332\340c\210\332\3469\211#c\2107;\203\362\332\3479\"c\210\202\365\350c\210\204\374\351c\210\203\363@@:@A;A\352;A\"\336U\203O`B\332\353\354\313\355\f:P!\203/\356:!\2021:!\357\"\"c\210\360B`8:\f:P\f 7\257#\210)\202U\332\353\361\"c\210\352;C\"\336U\203\227`B\332\362\354\313\355 :P!\203w\356:!\202y:!\357\"\"c\210\360B`8: :P\f 7\257#\210)\202\235\332\362\361\"c\2107;\203\355\352;D\"\336U\203\347`B\332\363\354\313\3557:P!\203\306\356:!\202\310:!\357\"\"c\210\360B`8:7:P\f 7\257#\210)\202\355\332\363\361\"c\210\340c\210\202\374\364=\365\322!\210)\202\3045\322=\204\304\3236!\210`,\344+\345\3070!\324\346\326\f!\"\261\210\347/\350.\350-\351\261\210\335 `0#\210\202T\352\310!\2101b. \2075\322=\206\3236!\207" [ediff-registry-buffer buffer-read-only registry-list meta-list job-name pt get-buffer buffer-name nil erase-buffer mapcar delete-overlay overlays-in 1 "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 n,SPC: next session\n p,DEL: previous session\n E: browse Ediff on-line manual\n q: bury registry\n\n\n Active Ediff Sessions:\n ----------------------\n\n" #[(elt) "\205\302!\205\303\302!!?\205\304 \"\211\207" [elt ediff-session-registry get-buffer buffer-name delq] 3] " ******* No active Ediff sessions *******\n" ediff-registry ediff-quit error format " *group* %s: %s\n" ediff-abbrev-jobname " %s %s %s\n" ediff-abbreviate-file-name 2 3 "" 4 ediff-set-meta-overlay "!!!killed buffer!!!" "%-4d" -1 " _" " $" "%4d" "/" " " ": %s" "\n " " " "\n" set-buffer-modified-p total-diffs cur-diff bufCname bufBname bufAname elt point ediff-session-registry ediff-metajob-name ediff-meta-list this-command ediff-KILLED-VITAL-BUFFER ediff-buffer-A ediff-buffer-B ediff-3way-comparison-job ediff-merge-job ediff-buffer-C ediff-number-of-differences ediff-current-difference ediff-job-name] 12]) (defalias 'ediff-set-meta-overlay #[(b e prop &optional session-number hidden) "\306\307 \n\" \203\310\311\312#\210\202\310\312\313#\210\310\314\f#\210\310\315 #\210\310\316\313#\210\247\2058\310\317#)\207" [overl b e ediff-emacs-p prop hidden nil ediff-make-overlay ediff-overlay-put mouse-face highlight t ediff-meta-info invisible follow-link ediff-meta-session-number session-number] 4]) #@52 Mark session for hiding. With prefix arg, unmark. (defalias 'ediff-mark-for-hiding-at-pos #[(unmark) "\306!\307!\310\n \" \311\f\203'\312\f!\203'\313\312\f!!\203'\f\202(p\211\203I\312\f!\203I\313\312\f!!\203Ir\fq\210\314\315 !\316\")\202T\317=\206T\320!*\321 \"\210\322\323!\210\212\324\n\311#-\207" [last-command-event pos meta-buf info meta-buffer point ediff-event-point ediff-event-buffer ediff-get-meta-info nil get-buffer buffer-name ediff-overlay-get ediff-get-meta-overlay-at-pos ediff-meta-session-number ediff-quit error ediff-mark-session-for-hiding ediff-next-meta-item 1 ediff-update-meta-buffer this-command ediff-KILLED-VITAL-BUFFER session-number unmark] 5 (#$ . 35695) "P"]) (defalias 'ediff-mark-session-for-hiding #[(info unmark) "\211@)\306\f\307=\203\306\202)\211A@)\310=\203#\311\202)\f\203)\311\n\204J\f\203?\306\211\nA \240\210*\202J\310\211\nA \240\210**\f\207" [info elt ignore session-buf unmark new-status nil mark 72 t session-info] 3]) #@63 Mark session for a group operation. With prefix arg, unmark. (defalias 'ediff-mark-for-operation-at-pos #[(unmark) "\306!\307!\310\n \" \311\f\203'\312\f!\203'\313\312\f!!\203'\f\202(p\211\203I\312\f!\203I\313\312\f!!\203Ir\fq\210\314\315 !\316\")\202T\317=\206T\320!*\321 \"\210\322\323!\210\212\324\n\311#-\207" [last-command-event pos meta-buf info meta-buffer point ediff-event-point ediff-event-buffer ediff-get-meta-info nil get-buffer buffer-name ediff-overlay-get ediff-get-meta-overlay-at-pos ediff-meta-session-number ediff-quit error ediff-mark-session-for-operation ediff-next-meta-item 1 ediff-update-meta-buffer this-command ediff-KILLED-VITAL-BUFFER session-number unmark] 5 (#$ . 36719) "P"]) (defalias 'ediff-mark-session-for-operation #[(info unmark) "\306 \307=\203 \306\202#\n\211A@)\310=\203\311\202# \203#\311\204B \2038\n\306\211A\f\240\210*\202B\n\310\211A\f\240\210*) \207" [ignore unmark info elt new-status session-info nil mark 42 t] 3]) #@49 Hide marked sessions. With prefix arg, unhide. (defalias 'ediff-hide-marked-sessions #[(unhide) "\211@@)A\n\203\306\202\307\n\203\307\202\306\310\311\211\211 \203n @ A \211@) \211A@)=\203*T\306=\203]\312\f!\203]\313\202* \211A\240\210*\202*\310V\203~\314\315\"\210\202\220\316 \210\n\203\214\317\320!\210\202\220\317\321!\210 \205\227\317\322!.\207" [ediff-meta-list meta-list unhide elt session-buf active-sessions-exist 73 72 0 nil buffer-live-p t ediff-update-meta-buffer must-redraw beep message "Nothing to reveal..." "Nothing to hide..." "Note: Ediff didn't hide active sessions!" numMarked to from grp-buf new-status session-info] 9 (#$ . 37738) "P"]) (defalias 'ediff-operate-on-marked-sessions #[(operation) "\211@@)A\306\307\211\n\310\211 \203\243 @ AT \211A@)=\203F\212T \"\210)\202\311 !\203 \211@)\211\203\312 \211@)\211!\203\313\312 \211@)\211!!\203\f\203\222\312\f!\203\222\313\312\f!!\203\222r\fq\210 \314!)\202\235\315=\206\235\316!\\\202\317\320\"\210.\207" [ediff-meta-list meta-list ediff-meta-diff-buffer elt session-buf diff-buffer 42 0 nil ediff-meta-session-p get-buffer buffer-name ediff-operate-on-marked-sessions ediff-quit error ediff-update-meta-buffer must-redraw sessionNum numMarked marksym grp-buf operation this-command ediff-KILLED-VITAL-BUFFER] 9]) (defalias 'ediff-append-custom-diff #[(session sessionNum) "\306 \307>)\204 \310\311!\210\n\211@)\f \306\211\211\203j\312!\203j\313\312!!\203j\203^\312!\203^\313\312!!\203^rq\210 =\203Z\314 \210!)\202j\"\315=\204j\310#!\210\203\312!\203\313\312!!\204\203\310\316!\210 \203\247\312 !\203\247\313\312 !!\203\247\212q\210db\210\317 !\210\320c)\202\321>\203\355\212\322$!\211q\210\323 \210\324\325\326\327%!&\327\n\330 8@)!\327\n\331 8@)!%\332\"\210)\212q\210db\210\317!\210\320c)\202\211'\203\f\312'!\203\f\313\312'!!\203\f\333\312'!!\210)\310\334(\"-\207" [metajob ediff-metajob-name session elt ediff-meta-diff-buffer custom-diff-buf nil (ediff-directories ediff-merge-directories ediff-merge-directories-with-ancestor ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) error "Can't compute multifile patch in this context" get-buffer buffer-name ediff-compute-custom-diffs-maybe ediff-quit "Ediff: something wrong--killed multiple diff's buffer" insert-buffer-substring "\n" (ediff-directories ediff-merge-directories ediff-merge-directories-with-ancestor) get-buffer-create erase-buffer shell-command format "%s %s %s %s" shell-quote-argument 2 3 t kill-buffer "Session %d compares versions of file. Such session must be active to enable multifile patch collection" tmp-buf meta-diff-buff session-buf ediff-control-buffer ediff-custom-diff-buffer this-command ediff-KILLED-VITAL-BUFFER ediff-tmp-buffer ediff-custom-diff-program ediff-custom-diff-options buf sessionNum] 10]) #@301 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 "\n\203\306\n!\203\307\306\n!!\204\310\311\312\313\"!\n\203:\306\n!\203:\307\306\n!!\203:r\nq\210\314\315 \210)\202D\f\316=\204D\317 !\210\320\321!\322V\203\213\323\n\324\"\210\n\203q\306\n!\203q\307\306\n!!\203qr\nq\210\325\314!\210\326)\202{\f\316=\204{\317 !\210\327\330!\205\221r\nq\210\330 )\202\221\331 \210\332\333!)\207" [ediff-coding-system-for-read coding-system-for-read ediff-meta-diff-buffer buffer-read-only this-command ediff-KILLED-VITAL-BUFFER get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*Ediff Multifile Diffs" "*" nil erase-buffer ediff-quit error ediff-operate-on-marked-sessions ediff-append-custom-diff 0 display-buffer not-this-window set-buffer-modified-p t fboundp diff-mode beep message "No marked sessions found"] 4 (#$ . 40778) nil]) #@63 Show the multi-file patch associated with this group session. (defalias 'ediff-meta-show-patch #[nil "\306!\307!\310\n \311#\f\211\203}\312 !\203}\313\312 !!\203} \203o\312 !\203o\313\312 !!\203or q\210\214 \204B~\210\202V \3148@) \3158@)}\210\316!q\210\317 \210\320 !\210eb\210\321\322\"*\202\200\323=\206\200\324!\202\200\324\325!,\207" [last-command-event pos meta-buf info ediff-meta-patchbufer patchbuffer ediff-event-point ediff-event-buffer ediff-get-meta-info noerror get-buffer buffer-name 3 4 get-buffer-create erase-buffer insert-buffer-substring display-buffer not-this-window ediff-quit error "The patch buffer wasn't found" elt ediff-tmp-buffer this-command ediff-KILLED-VITAL-BUFFER] 5 (#$ . 41937) nil]) #@52 Execute appropriate action for a selected session. (defalias 'ediff-filegroup-action #[nil "\306!\307!\310\n \"\211\211@) \n@A@\2033\311@!\2033\312\311@!!\2033@\2024p\211@\203Z\311@!\203Z\312\311@!!\203Zr@q\210\313\314A!\315\")\202eB\316=\206e\317C!*D\320E!F\321\211GH\321\211IJ\321K \322\f8@)H \323\f8@)I \324\f8@)J \211A@)\325>\203\307\326 \210\327\330!\203\303 \321L\211MAL\240\210*\331\n\321D#\210\202\307\317\332!\210\n\203\211\311\n!\203\211\312\311\n!!\203\211r\nq\210NO\333O@8)G b\210\334 !\203L \203\n\311 !\203\n\312\311 !!\203\n\335 !\202\205\336F;\203\337\340F\"\202\341\321\342\320E!$K\343HIJKPQ\344\345\321\346\347\350)\203\263\356H!\203\263 \203\210\311 !\203\210\312\311 !!\203\210\335 !\202\205\336\341\321\342#K\357HKPQ\344\345\321\346\347\350)\204#PHI\344\345\321\367\201[\345\321\371\372pD\335pDEEE\201\\BBB\346\374p\315D\257\346\375G\211T;\205T\376\230?)\205GU\377H!QE\351\350 D\201]BB\257D#\202\205\321RQ\201Z>)\205\205PHIJ\344\345\321\367\201^\345\321\371\372pD\335pDEEE\201_BBB\346\375G\211T;\205bT\376\230?)\205oGU\377H!QE\346\374p\315D\257\351\350 D\201`BB\257D$)\202\224B\316=\206\224\317C!. \207" [last-command-event pos meta-buf info elt session-buf ediff-event-point ediff-event-buffer ediff-get-meta-info get-buffer buffer-name ediff-overlay-get ediff-get-meta-overlay-at-pos ediff-meta-session-number ediff-quit error eval nil 2 3 4 (73) beep y-or-n-p "This session is marked as hidden, unmark? " ediff-update-meta-buffer "Aborted" 5 ediff-meta-session-p ediff-show-meta-buffer read-string format "Filter through regular expression (default %s): " "Filter through regular expression: " ediff-filtering-regexp-history ediff-directories-internal list lambda setq ediff-parent-meta-buffer quote setcar (ediff-meta-buffer) ediff-revision-metajob ediff-patch-metajob (ediff-directory-revisions ediff-merge-directory-revisions ediff-merge-directory-revisions-with-ancestor) file-directory-p ediff-directory-revisions-internal (ediff-meta-buffer) mouse-pixel-position ediff-recenter no-rehighlight ediff-problematic-session-p "This session has no ancestor. Merge without the ancestor? " ediff-merge-files add-hook 'ediff-after-quit-hook-internal if ediff-buffer-live-p (nil 'local) ediff-meta-buffer ediff-merge-store-file "" file-name-nondirectory meta-buffer point this-command ediff-KILLED-VITAL-BUFFER session-number ediff-default-filtering-regexp default-regexp merge-autostore-dir file1 file2 file3 regexp new-status session-info ediff-meta-list meta-list ediff-session-action-function ediff-metajob-name metajob ediff-mouse-pixel-position string ediff-merge-filename-prefix (ediff-control-buffer) 'ediff-after-quit-hook-internal (nil 'local) (ediff-control-buffer) (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor ediff-directories3 ediff-filegroups3) 'ediff-after-quit-hook-internal (nil 'local) (ediff-control-buffer) 'ediff-after-quit-hook-internal (nil 'local) (ediff-control-buffer)] 17 (#$ . 42696) nil]) #@31 Switch to a selected session. (defalias 'ediff-registry-action #[nil "\306!\307!\310\n \"\211\203\201\311 !\203\201\312\311 !!\203\201 \203>\311 !\203>\312\311 !!\203>r q\210\313\314!)\315=\202G\f\316=\204J\317 !\203R\320 \321\"\210\202\213 \203t\311 !\203t\312\311 !!\203tr q\210\322 \323\324!\210)\202\213\f\316=\204\213\317 !\210\202\213\325 \210\326\327!\210\330 \210\n\203\247\311\n!\203\247\312\311\n!!\203\247r\nq\210 b)\202\260\f\316=\206\260\317 !+\207" [last-command-event pos buf ctl-buf this-command ediff-KILLED-VITAL-BUFFER ediff-event-point ediff-event-buffer ediff-get-meta-info get-buffer buffer-name key-binding "q" ediff-quit-meta-buffer ediff-quit error ediff-show-meta-buffer t mouse-pixel-position ediff-recenter no-rehighlight beep message "You've selected a stale session --- try again" ediff-update-registry ediff-mouse-pixel-position] 4 (#$ . 46554) nil]) #@32 Show the session group buffer. (defalias 'ediff-show-meta-buffer #[(&optional meta-buf session-number) "\306\307!\210\310\211\211 \203\311 \206\f\312 !\204#\313\314!\210\2029 \2035\315 !\2035\316\315 !!\2049\313\317!\210 \247\203G\320 \310 #\210\202O \204O\321 !\210 \203\361\315 !\203\361\316\315 !!\203\361r q\210\212\322 !\211\203\202\204v\323\324!\210\325\n \"\210\326\n!\210\202\355\327%\211!\203\230\325% \"\210\326\n!\210\202\355\327&\211!\203\256\325& \"\210\326\n!\210\202\355\327'\211!\203\304\325' \"\210\326\n!\210\202\355\322(!\211\203\343\330 \203\343\326\n!\210\331\332!\210\325\333 \"\210\202\355\334\335!\210\325\333 \"\210*\202\375)\336=\204\375\313*!\210\330 \203\327\322 !\211!\203\337\n!\340 !\210\341 !\210\342\343!\210\306\344!+\207" [silent frame wind meta-buf ediff-meta-buffer session-number run-hooks ediff-before-directory-setup-hooks nil t 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-update-meta-buffer ediff-cleanup-meta-buffer ediff-get-visible-buffer-window message "Already showing the group panel for this session" set-window-buffer select-window window-live-p ediff-window-display-p other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable ediff-quit window-frame raise-frame ediff-reset-mouse sit-for 0 ediff-show-session-group-hook ediff-window-C ediff-window-A ediff-window-B ediff-registry-buffer this-command ediff-KILLED-VITAL-BUFFER] 4 (#$ . 47470) nil]) (defalias 'ediff-show-current-session-meta-buffer #[nil "\301\302\"\207" [ediff-meta-session-number ediff-show-meta-buffer nil] 3 nil nil]) #@64 Display the session group buffer for a selected session group. (defalias 'ediff-show-meta-buff-from-registry #[nil "\306!\307!\310\n \"\211\211\203-\311\f!\203-\312\311\f!!\203-r\fq\210\313\314\315\")\2027 \316=\2067\317!,\207" [last-command-event pos meta-buf info meta-or-session-buf this-command ediff-event-point ediff-event-buffer ediff-get-meta-info get-buffer buffer-name ediff-show-meta-buffer nil t ediff-quit error ediff-KILLED-VITAL-BUFFER] 4 (#$ . 49205) nil]) #@27 Display Ediff's registry. (defalias 'ediff-show-registry #[nil "\306 \210\203\307!\203\310\307!!\204\311\312!\210\313\211\203\257\307!\203\257\310\307!!\203\257rq\210\212\314!\211\203L\315\316!\210\317\n\"\210\320\n!\210\202\253\321 !\203^\317 \"\210\320 !\210\202\253\321\f!\203p\317\f\"\210\320\f!\210\202\253\321 !\203\202\317 \"\210\320 !\210\202\253\314!\211\203\241\322 \203\241\320\n!\210\323\324!\210\317\325 \"\210\202\253\326\327!\210\317\325 \"\210*\202\273\330=\204\273\311 !\210\322 \203\316\331\314!!\332 !\210\333 !\210\334\335!*\207" [ediff-registry-buffer frame wind ediff-window-C ediff-window-A ediff-window-B ediff-update-registry get-buffer buffer-name error "No active Ediff sessions or corrupted session registry" nil ediff-get-visible-buffer-window message "Already showing the registry" set-window-buffer select-window window-live-p ediff-window-display-p other-window 1 selected-window ediff-skip-unsuitable-frames ok-unsplittable ediff-quit window-frame raise-frame ediff-reset-mouse run-hooks ediff-show-registry-hook ediff-meta-buffer this-command ediff-KILLED-VITAL-BUFFER] 3 (#$ . 49697) nil]) (defalias 'eregistry 'ediff-show-registry) (defalias 'ediff-update-meta-buffer #[(meta-buf &optional must-redraw session-number) "\205m\306!\205m\307\306!!\205m\203b\306!\203b\307\306!!\203brq\210\310\n\2035 \f!\210\202E \247\203A\311 !\210\202E\312\f!\210\313`!\211\205`\314 \315\"\205`\316 \210\313`!\211\204M\310*\207\317=\206m\320!\207" [meta-buf overl must-redraw ediff-meta-redraw-function ediff-meta-list session-number get-buffer buffer-name nil ediff-update-session-marker-in-dir-meta-buffer ediff-update-markers-in-dir-meta-buffer ediff-get-meta-overlay-at-pos ediff-overlay-get invisible ediff-next-meta-item1 ediff-quit error this-command ediff-KILLED-VITAL-BUFFER] 4]) (defalias 'ediff-update-registry #[nil "p\2036\304p!\2036\305\304p!!\2036rpq\210\203-\304!\203-\305\304!!\203-\306 \2024\307\310 \311\306\312%)\207\n\313=\206?\314 !\207" [ediff-registry-buffer ediff-session-registry this-command ediff-KILLED-VITAL-BUFFER get-buffer buffer-name ediff-redraw-registry-buffer ediff-prepare-meta-buffer ediff-registry-action "*Ediff Registry" ediff-registry ediff-quit error] 6]) (defalias 'ediff-cleanup-meta-buffer #[(meta-buffer) "\205N\305!\205N\306\305!!\205N\203E\305!\203E\306\305!!\203Erq\210\307!\210 \205C\305 !\205C\306\305 !!\205C\307 \310\n#)\207 \311=\206N\312\f!\207" [meta-buffer ediff-parent-meta-buffer ediff-meta-session-number this-command ediff-KILLED-VITAL-BUFFER get-buffer buffer-name ediff-update-meta-buffer nil ediff-quit error] 4]) (defalias 'ediff-safe-to-quit #[(meta-buffer) "\205s\306!\205s\307\306!!\205s \310\311\203g\306!\203g\307\306!!\203grq\210\fA \203b\f\203b\f\211@@)\203\\\306\f\211@@)!\203\\\307\306\f\211@@)!!\203\\\311\fA\2021 )\202r\f\312=\206r\313 !+\207" [meta-buffer ediff-meta-list buffer-read-only cont lis meta-list get-buffer buffer-name t nil ediff-quit error this-command ediff-KILLED-VITAL-BUFFER] 4]) #@224 If the group has no active session, 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   =\211\203\306 \210\202\245\307!\2038\310\311!\2038\312\313!\210\314\315!\210\316!\210\202H\307!\203D\306 \210\202H\317\320!\210\321\322#\210\n\211\203j\323!\203j\324\323!!\203j\325\323!!\210)\f\211\203\205\323!\203\205\324\323!!\203\205\325\323!!\210)\203\245\323!\203\245\324\323!!\203\245\326\327\"\210\206\254\330 .\207" [buf ediff-dir-diffs-buffer dir-diffs-buffer ediff-meta-diff-buffer meta-diff-buffer ediff-meta-session-number bury-buffer ediff-safe-to-quit y-or-n-p "Quit this session group? " run-hooks ediff-quit-session-group-hook message "" ediff-dispose-of-meta-buffer error "This session group has active sessions---cannot exit" ediff-update-meta-buffer nil get-buffer buffer-name kill-buffer t ediff-show-meta-buffer ediff-show-registry session-number ediff-parent-meta-buffer parent-buf ediff-registry-buffer dont-show-registry] 5 (#$ . 52836) nil]) (defalias 'ediff-dispose-of-meta-buffer #[(buf) "\305 \"\2035\306!\2035\307\306!!\2035rq\210\n\2031\306\n!\2031\307\306\n!!\2031\310\n!\210)\202? \311=\204?\312\f!\210\310!\207" [buf ediff-session-registry ediff-dir-diffs-buffer this-command ediff-KILLED-VITAL-BUFFER delq get-buffer buffer-name kill-buffer ediff-quit error] 3]) (defalias 'ediff-get-meta-info #[(buf point &optional noerror) "\306\211\211 \203]\f\203]\307\f!\203]\310\307\f!!\203]\f\203R\307\f!\203R\310\307\f!!\203Rr\fq\210\311 !\312\313 \"\211\203K @\204K A\211\204? @)\202] \314=\204]\315!\210\n\203e\n\202q?\205q\316 \210\315\317!+\207" [tmp olist result point buf this-command nil get-buffer buffer-name overlays-at mapcar #[(elt) "\301\302\"?\205\f\301\303\"\207" [elt overlay-get invisible ediff-meta-info] 3] ediff-quit error ediff-update-registry "No session info in this line" ediff-KILLED-VITAL-BUFFER noerror] 4]) (defalias 'ediff-get-meta-overlay-at-pos #[(point) "\303!\211@\211\203\304\n\305\"\204 A\211@\211\204 \n*\207" [point overl-list overl overlays-at overlay-get ediff-meta-info] 4]) (defalias 'ediff-get-session-number-at-pos #[(point &optional meta-buffer) "\203\304!\203\305\304!!\203\202p\211\2036\304!\2036\305\304!!\2036rq\210\306\307 !\310\")\207\n\311=\206?\312 !\207" [meta-buffer point this-command ediff-KILLED-VITAL-BUFFER get-buffer buffer-name ediff-overlay-get ediff-get-meta-overlay-at-pos ediff-meta-session-number ediff-quit error] 4]) (put 'ediff-get-session-number-at-pos 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ediff-next-meta-overlay-start #[(point) "m\203eb\207\302!\211\203\303 !\202\304!)\207" [point overl ediff-get-meta-overlay-at-pos overlay-end next-overlay-change] 3]) (defalias 'ediff-previous-meta-overlay-start #[(point) "o\203db\207\302!\211\203\303 !o\204S\304!\305!@\204'e)\207" [point overl ediff-get-meta-overlay-at-pos overlay-start previous-overlay-change overlays-at] 3]) (defalias 'ediff-patch-file-form-meta #[(file &optional startup-hooks) "\306!\307!\310\n \"\f\311\211\311\312!\204'\313\314\"\203/\315\316\317!\"\210 \211@) \3208@) \3218@)\203b\322!\203b\323\322!!\204k\203k\315\324!\210 \203\225\322 !\203\225\323\322 !!\203\225r q\210\214~\210}\210\325 #*\202\240\326=\206\240\315!.\207" [last-command-event pos meta-buf info ediff-meta-patchbufer meta-patchbuf ediff-event-point ediff-event-buffer ediff-get-meta-info nil file-directory-p string-match "/dev/null" error "`%s' is not an ordinary file" file-name-as-directory 3 4 get-buffer buffer-name "Patch has already been applied to this file -- can't repeat!" ediff-patch-file-internal ediff-quit session-buf beg-marker end-marker file elt startup-hooks this-command ediff-KILLED-VITAL-BUFFER] 5]) #@43 Unmark all sessions marked for operation. (defalias 'ediff-unmark-all-for-operation #[nil "A\303\211@\211\203\304 \305\"\210\nA\211\202*\306p\307\"\207" [ediff-meta-list elt list nil ediff-mark-session-for-operation unmark ediff-update-meta-buffer must-redraw] 4 (#$ . 56912) nil]) #@40 Unmark all sessions marked for hiding. (defalias 'ediff-unmark-all-for-hiding #[nil "A\303\211@\211\203\304 \305\"\210\nA\211\202*\306p\307\"\207" [ediff-meta-list elt list nil ediff-mark-session-for-hiding unmark ediff-update-meta-buffer must-redraw] 4 (#$ . 57209) nil]) #@348 Run through the session list and mark identical files. This is used only for sessions that involve 2 or 3 files at the same time. ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark for operation, or simply indicate which are equal files. If it is nil, then `last-command-char' is used to decide which action to take. (defalias 'ediff-meta-mark-equal-files #[(&optional action) "\204 \nA\306\211\211\211\211\211\211\307\310!\210@\211\203\310 \311 8) \312 8) \313 8)\306\211A\240\210* \306\211A\240\210*\f\306\211A\240\210*\314\211\314\315 \"\204w\306\306\316>)\203\227\315\f\"\204\215\306\315 \f\"\204\227\306\203\277\203\277\203\277\317=\203\264\320 \321\"\210\202\277\322=\203\277\323 \321\"\210A\211\202\"\307\324!\210.\306\325p\326\"\207" [action last-command-char ediff-meta-list elt fileinfo3 fileinfo2 nil message "Comparing files ..." 2 3 4 t ediff-mark-if-equal (ediff-merge-directories-with-ancestor ediff-merge-filegroups-with-ancestor ediff-directories3 ediff-filegroups3) 104 ediff-mark-session-for-hiding mark 109 ediff-mark-session-for-operation "Comparing files ... Done" ediff-update-meta-buffer must-redraw fileinfo1 marked3 marked2 marked1 list value metajob ediff-metajob-name ediff-recurse-to-subdirectories] 9 (#$ . 57498) nil]) (defalias 'ediff-mark-if-equal #[(fileinfo1 fileinfo2) "@ @\211;\205*\n;\205*\306 \n\"\205*\307\211A\f\240\210* \307\211A\f\240**\207" [fileinfo1 fileinfo2 f2 f1 value elt ediff-same-contents t] 4]) (provide 'ediff-mult)