;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Sat Jun 17 08:29:48 1995 ;;; from file /home/fsf/rms/e19/lisp/ediff.el ;;; emacs version 19.28.95.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.28.90"))) (error "`ediff.el' was compiled for Emacs 19.29 or later")) #@30 The current version of Ediff (defconst ediff-version "2.26" (#$ . 471)) #@21 Date of last update (defconst ediff-date "June 3, 1995" (#$ . 549)) (require (quote ediff-init)) #@252 Version control package used. Currently, Ediff supports vc.el and rcs.el. Set this to `rcs' if you have rcs.el and want to use it instead of the standard vc.el. Note: both packages provide access to RCS, but only vc.el comes with Emacs distribution. (defvar ediff-version-control-package (quote vc) (#$ . 653)) #@47 Key to which `ediff-revision' is to be bound. (defvar ediff-revision-key nil (#$ . 971)) #@73 *If t, Ediff uses previous directory as default when reading file name. (defvar ediff-use-last-dir nil (#$ . -1066)) #@53 Last directory used by an Ediff command for file-A. (defvar ediff-last-dir-A nil (#$ . 1189)) #@53 Last directory used by an Ediff command for file-B. (defvar ediff-last-dir-B nil (#$ . 1289)) #@53 Last directory used by an Ediff command for file-C. (defvar ediff-last-dir-C nil (#$ . 1389)) #@64 Last directory used by an Ediff command for the ancestor file. (defvar ediff-last-dir-ancestor nil (#$ . 1489)) #@60 Last directory used by an Ediff command for file to patch. (defvar ediff-last-dir-patch nil (#$ . 1607)) #@38 Run Ediff by patching FILE-TP-PATCH. (defalias 'ediff-patch-file #[(source-filename &optional startup-hooks job-name) " ! =@p !2 !!2 !!!2Ɏ !q\n)< =<!)C !!\"TӕU\"bӕcO  ߘ$! !?!!!p((!(!!(q!!ed0!%$) =!)!!(!!P! !Mp>!>!!>q P!!)I =I!) !9;!^;9!)gh P#P##B#!@#A%B(!C(!\"." [expand-file-name source-filename ediff-get-patch-buffer job-name ediff-patch-buffer StartBuffer get-file-buffer get-buffer buffer-name ((set-buffer StartBuffer)) default-directory this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" file-name-directory ediff-patch-options string-match "-b[ ]+" 0 "-b[ ]+[^ ]+" backup-extension ediff-shell shell-file-name true-source-filename target-filename nil target-buf buf-to-patch file-name-magic-p ctl-buf "" "_orig" ediff-find-file ediff-last-dir-patch startup-hooks file-truename ediff-file-checked-in-p buffer-file-name ediff-toggle-read-only ediff-patch-diagnostics ((set-buffer StartBuffer)) message "Applying patch ... " sit-for shell-command-on-region format "%s -f %s -b %s %s" ediff-patch-program t "Applying patch ... done" switch-to-buffer file-exists-p "Patch failed or didn't modify the original file" ((set-buffer StartBuffer)) set-visited-file-name set-buffer-modified-p file-name fboundp ediff-ange-ftp-ftp-name "_patched" rename-file ediff-set-read-only-in-buf-A find-file-noselect ediff-buffers-internal (or job-name ediff-patch-file) bury-buffer "Patch diagnostics are available in buffer %s"] 10 (#$ . 1718) (list (ediff-read-file-name "File to patch" (if ediff-use-last-dir ediff-last-dir-patch default-directory) nil))]) #@61 Used as a startup hook to set `_orig' patch file read-only. (defalias 'ediff-set-read-only-in-buf-A #[nil "p ! !! Ď q!)*=*!)" [StartBuffer ediff-buffer-A get-buffer buffer-name ((set-buffer StartBuffer)) toggle-read-only 1 this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 3 (#$ . 3609)]) (byte-code "\"\"" [defalias epatch ediff-patch-file epatch-buffer ediff-patch-buffer] 3) #@50 Run Ediff on a pair of files, FILE-A and FILE-B. (defalias 'ediff-files #[(file-A file-B &optional startup-hooks) " ! ! \" %" [ediff-files-internal file-A file-directory-p file-B expand-file-name file-name-nondirectory nil startup-hooks ediff-files] 6 (#$ . 4071) (byte-code " \nÉ#\"\n%\f!\f! \"!B\f#+D" [ediff-use-last-dir ediff-last-dir-A default-directory nil f dir-B dir-A ediff-read-file-name "File A to compare" "File B to compare" ediff-last-dir-B file-name-directory abbreviate-file-name expand-file-name file-name-nondirectory file-name-history] 8)]) #@55 Run Ediff on three files, FILE-A, FILE-B, and FILE-C. (defalias 'ediff-files3 #[(file-A file-B file-C &optional startup-hooks) " ! ! \" !# !\"%%" [ediff-files-internal file-A file-directory-p file-B expand-file-name file-name-nondirectory file-C startup-hooks ediff-files3] 6 (#$ . 4691) (byte-code " \nÉ#(\f+ ! !\"!B #KN\f!\f!\"!B\f#E-" [ediff-use-last-dir ediff-last-dir-A default-directory nil ff f dir-C dir-B dir-A ediff-read-file-name "File A to compare" "File B to compare" ediff-last-dir-B file-name-directory abbreviate-file-name expand-file-name file-name-nondirectory file-name-history "File C to compare" ediff-last-dir-C] 9)]) (defalias (quote ediff3) (quote ediff-files3)) #@497 Visit FILE and arrange its buffer to Ediff's liking. FILE is actually a variable symbol that must contain a true file name. BUFFER-NAME is a variable symbol, which will get the buffer object into which FILE is read. LAST-DIR is the directory variable symbol where FILE's directory name should be returned. HOOKS is a variable symbol that will be assigned the hook to be executed after `ediff-startup' is finished. `ediff-find-file' arranges that the temp files it might create will be deleted. (defalias 'ediff-find-file #[(file-var buffer-name &optional last-dir hooks-var) "J \" ! ! \" ! * !!L !Lp J J! J!!Ў Jq~\fs!! DEJBL ! !! DEJBL )=!) L+" [file-var file find-file-name-handler find-file-noselect file-magic file-name-nondirectory temp-file-name-prefix file-readable-p error "File `%s' does not exist or is not readable" expand-file-name last-dir file-name-directory buffer-name StartBuffer get-buffer ((set-buffer StartBuffer)) ediff-verify-file-buffer magic ediff-make-temp-file hooks-var lambda nil delete-file file-truename buffer-file-name this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff"] 5 (#$ . 5484)]) (defalias 'ediff-files-internal #[(file-A file-B file-C startup-hooks job-name) "\"!$\f\"!$;OO\"!=K҂L$ \n\f  BC&+" [nil buf-C buf-B buf-A message "Reading file %s ... " file-A sit-for 0 ediff-find-file ediff-last-dir-A startup-hooks file-B ediff-last-dir-B file-C ediff-merge-job job-name ediff-merge-files-with-ancestor ediff-last-dir-ancestor ediff-last-dir-C ediff-setup ediff-job-name] 10]) (defalias (quote ediff) (quote ediff-files)) #@56 Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B. (defalias 'ediff-buffers #[(buffer-A buffer-B &optional startup-hooks job-name) " \f%" [job-name ediff-buffers ediff-buffers-internal buffer-A buffer-B nil startup-hooks] 6 (#$ . 7267) (byte-code "!#ȋ !#)D" [nil bf read-buffer "Buffer A to compare: " ediff-other-buffer "" t "Buffer B to compare: " ((other-window 1))] 5)]) #@63 Run Ediff on three buffers, BUFFER-A, BUFFER-B, and BUFFER-C. (defalias 'ediff-buffers3 #[(buffer-A buffer-B buffer-C &optional startup-hooks job-name) " \f %" [job-name ediff-buffers3 ediff-buffers-internal buffer-A buffer-B buffer-C startup-hooks] 6 (#$ . 7680) (byte-code "!#ɋ\n!#ˋ\n D!#E*" [nil bff bf read-buffer "Buffer A to compare: " ediff-other-buffer "" t "Buffer B to compare: " ((other-window 1)) "Buffer C to compare: " ((other-window 1))] 7)]) (defalias 'ediff-buffers-internal #[(buf-A buf-B buf-C startup-hooks job-name) "\n!!\f!!!!!)\f!!  \f \nF\n!F\n!!K\n\"\f]\f!]\f!!b\f\"vv\") ; ! ; ! ; ! p\n\n!\n!!Վ\nq ! )=!)p\f\f!\f!!ڎ\fq !\f)=!),p ! !! ێq ! )+=+!)\n! \f!\f@!  D\fD D DE!BBC&." [buffer-file-name get-buffer buf-A buf-A-file-name buf-B buf-B-file-name buf-C buffer-name buf-C-is-alive buf-C-file-name nil file-A file-B file-C error "Buffer %S doesn't exist" job-name ediff-job-name ediff-3way-comparison-job file-name-nondirectory StartBuffer ((set-buffer StartBuffer)) ediff-make-temp-file this-command ediff-quit "You've killed an essential Ediff buffer---Please quit Ediff" ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ediff-setup lambda delete-file if stringp startup-hooks] 16]) #@236 Compare WIND-A and WIND-B, which are selected by clicking, wordwise. With prefix argument, DUMB-MODE, or on a non-windowing display, works as follows: If WIND-A is nil, use selected window. If WIND-B is nil, use window next to WIND-A. (defalias 'ediff-windows-wordwise #[(dumb-mode &optional wind-A wind-B startup-hooks) " \n \f&" [ediff-windows dumb-mode wind-A wind-B startup-hooks ediff-windows-wordwise word-mode] 7 (#$ . 9163) "P"]) #@236 Compare WIND-A and WIND-B, which are selected by clicking, linewise. With prefix argument, DUMB-MODE, or on a non-windowing display, works as follows: If WIND-A is nil, use selected window. If WIND-B is nil, use window next to WIND-A. (defalias 'ediff-windows-linewise #[(dumb-mode &optional wind-A wind-B startup-hooks) " \n \f&" [ediff-windows dumb-mode wind-A wind-B startup-hooks ediff-windows-linewise nil] 7 (#$ . 9613) "P"]) (defalias 'ediff-windows #[(dumb-mode wind-A wind-B startup-hooks job-name word-mode) "$ \f\n !$ \n !>l  !C> !@  *   !fa !c  * }# # ! !lj؋)& ." [dumb-mode ediff-emacs-p window-system device-type selected-device (tty stream) wind-A nil prev-wind wind window-live-p next-window selected-window wind-B ediff-get-window-by-clicking 1 2 window-buffer end-B beg-B end-A beg-A buffer-B buffer-A ((byte-code "! !  !  \n" [sit-for 0 select-window wind-A window-start beg-A window-end end-A wind-B beg-B end-B] 2)) ediff-regions-internal startup-hooks job-name word-mode] 10]) #@251 Run Ediff on a pair of regions in two different buffers. Regions (i.e., point and mark) are assumed to be set in advance. This function is effective only for relatively small regions, up to 200 lines. For large regions, use `ediff-regions-linewise'. (defalias 'ediff-regions-wordwise #[(buffer-A buffer-B &optional startup-hooks) "!!!\" ) !) !!. \"Ɖ \nq \n  q  )!\n !& ," [buffer-A get-buffer buffer-name error "Buffer %S doesn't exist" buffer-B nil reg-B-end reg-B-beg reg-A-end reg-A-beg region-beginning region-end ediff-regions-internal startup-hooks ediff-regions-wordwise word-mode] 10 (#$ . 10771) (byte-code "!#ȋ !#)D" [nil bf read-buffer "Region's A buffer: " ediff-other-buffer "" t "Region's B buffer: " ((other-window 1))] 5)]) #@285 Run Ediff on a pair of regions in two different buffers. Regions (i.e., point and mark) are assumed to be set in advance. Each region is enlarged to contain full lines. This function is effective for large regions, over 100-200 lines. For small regions, use `ediff-regions-wordwise'. (defalias 'ediff-regions-linewise #[(buffer-A buffer-B &optional startup-hooks) "!!!\" ) !) !!. \"Ɖ \nq \n  \nby`\n bm^u` q  \nbby`bmu`)!\n !& ," [buffer-A get-buffer buffer-name error "Buffer %S doesn't exist" buffer-B nil reg-B-end reg-B-beg reg-A-end reg-A-beg region-beginning region-end 0 ediff-regions-internal startup-hooks ediff-regions-linewise] 10 (#$ . 11605) (byte-code "!#ȋ !#)D" [nil bf read-buffer "Region A's buffer: " ediff-other-buffer "" t "Region B's buffer: " ((other-window 1))] 5)]) (defalias 'ediff-regions-internal #[(buffer-A beg-A end-A buffer-B beg-B end-B startup-hooks job-name word-mode) " !‰p @ !@ !!@̎ q “ “)K=K!)p~!~!!~Վq “ “)=!) =WXWX!!\" $ $p\n!\n!!\nq!)=!))$4$pZ!Z!!Zq!)e=e!) ## \f ‰\fD DF+BB DBBE&-" [get-buffer-create ediff-tmp-buffer nil file-B file-A overl-B overl-A tmp-buffer StartBuffer buffer-A get-buffer buffer-name ((set-buffer StartBuffer)) make-marker beg-A end-A this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" buffer-B ((set-buffer StartBuffer)) beg-B end-B ediff-msg-buffer princ "\nYou have requested to compare overlapping regions of the same buffer.\n\nIn this case, Ediff's highlighting may be confusing---in the same window,\nyou may see highlighted regions that belong to different regions.\n\nContinue anyway? (y/n) " y-or-n-p "Continue anyway? " "%S aborted" job-name word-mode ediff-wordify ediff-copy-to-buffer ((set-buffer StartBuffer)) ediff-make-temp-file "regA" ((set-buffer StartBuffer)) "regB" ediff-make-bullet-proof-overlay ediff-setup lambda delete-file startup-hooks ediff-word-mode ediff-narrow-bounds ediff-job-name] 12]) (defalias (quote ediff-merge) (quote ediff-merge-files)) (defalias 'ediff-merge-on-startup #[nil "!p $ !$ !!$Ǝ q!). =.!)" [ediff-do-merge 0 StartBuffer ediff-buffer-C get-buffer buffer-name ((set-buffer StartBuffer)) set-buffer-modified-p nil this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 3]) (put (quote ediff-merge-on-startup) (quote byte-optimizer) (quote byte-compile-inline-expand)) #@35 Merge two files without ancestor. (defalias 'ediff-merge-files #[(file-A file-B &optional startup-hooks) " B ! ! \" %" [ediff-merge-on-startup startup-hooks ediff-files-internal file-A file-directory-p file-B expand-file-name file-name-nondirectory nil ediff-merge-files] 6 (#$ . 14428) (byte-code " \nÉ#\"\n%\f!\f! \"!B\f#+D" [ediff-use-last-dir ediff-last-dir-A default-directory nil f dir-B dir-A ediff-read-file-name "File A to merge" "File B to merge" ediff-last-dir-B file-name-directory abbreviate-file-name expand-file-name file-name-nondirectory file-name-history] 8)]) #@32 Merge two files with ancestor. (defalias 'ediff-merge-files-with-ancestor #[(file-A file-B file-ancestor &optional startup-hooks) " B ! ! \"  %" [ediff-merge-on-startup startup-hooks ediff-files-internal file-A file-directory-p file-B expand-file-name file-name-nondirectory file-ancestor ediff-merge-files-with-ancestor] 6 (#$ . 15068) (byte-code " \nÉ#(\f+ ! !\"!B #KN\f!\f!\"!B\f#E-" [ediff-use-last-dir ediff-last-dir-A default-directory nil ff f dir-ancestor dir-B dir-A ediff-read-file-name "File A to merge" "File B to merge" ediff-last-dir-B file-name-directory abbreviate-file-name expand-file-name file-name-nondirectory file-name-history "Ancestor file" ediff-last-dir-ancestor] 9)]) (defalias (quote ediff-merge-with-ancestor) (quote ediff-merge-files-with-ancestor)) #@33 Merge buffers without ancestor. (defalias 'ediff-merge-buffers #[(buffer-A buffer-B &optional startup-hooks job-name) " B\n\n  \n%" [ediff-merge-on-startup startup-hooks job-name ediff-merge-buffers ediff-buffers-internal buffer-A buffer-B nil] 6 (#$ . 15942) (byte-code "!#ȋ !#)D" [nil bf read-buffer "Buffer A to merge: " ediff-other-buffer "" t "Buffer B to merge: " ((other-window 1))] 5)]) #@30 Merge buffers with ancestor. (defalias 'ediff-merge-buffers-with-ancestor #[(buffer-A buffer-B buffer-ancestor &optional startup-hooks job-name) " B\n\n  \n%" [ediff-merge-on-startup startup-hooks job-name ediff-merge-buffers-with-ancestor ediff-buffers-internal buffer-A buffer-B buffer-ancestor] 6 (#$ . 16370) (byte-code "!#ɋ\n!#ˋ\n D!#E*" [nil bff bf read-buffer "Buffer A to merge: " ediff-other-buffer "" t "Buffer B to merge: " ((other-window 1)) "Ancestor buffer: " ((other-window 1))] 7)]) #@98 Run Ediff by merging two revisions of a file. The file is the one visited by the current buffer. (defalias 'ediff-merge-revisions #[(rev1 rev2 &optional startup-hooks) " \f=2!p)!p) !D\n!DFC\f<!! \n\f$*" [ediff-load-version-control nil buf2 buf1 ediff-version-control-package vc vc-version-other-window rev1 rev2 lambda delete-file buffer-file-name startup-hooks rcs-ediff-view-revision ediff-merge-buffers ediff-merge-revisions] 6 (#$ . 16913) "sVersion 1 to merge (default is the latest version): \nsVersion 2 to merge (default is the latest version): "]) #@115 Run Ediff by merging with ancestor of two revisions of a file. The file is the one visited by the current buffer. (defalias 'ediff-merge-revisions-with-ancestor #[(rev1 rev2 ancestor-rev &optional startup-hooks) "  =C!p) !p)\n!p)\f!D !D\n!DCR! !\n!\f \n%+" [ediff-load-version-control nil ancestor-buf buf2 buf1 ediff-version-control-package vc vc-version-other-window rev1 rev2 ancestor-rev lambda delete-file buffer-file-name startup-hooks rcs-ediff-view-revision ediff-merge-buffers-with-ancestor ediff-merge-revisions-with-ancestor] 7 (#$ . 17519) "sVersion 1 to merge (default: the latest version): \nsVersion 2 to merge (default: the latest version): \nsAncestor version (default: the latest version): "]) #@36 Run Ediff by patching BUFFER-NAME. (defalias 'ediff-patch-buffer #[(buffer-name &optional startup-hooks) " ! \n!\n! \n\f$\f mp a !a !!a̎ q    ! !!  )l=l!) #\n\f?Bp \n7\n!7\n!!7ێ\nq!!!!p !!!ߎq ! !!)=!)p )!)!!)q ! P\"!!)3=3!*A=A!)." [get-buffer buffer-name buf-to-patch buffer-file-name file-name-ok buffer-modified-p buf-mod-status nil default-dir file-name ctl-buf StartBuffer ((set-buffer StartBuffer)) default-directory ediff-make-temp-file set-visited-file-name buffer-auto-save-file-name rename-buffer set-buffer-modified-p set-visited-file-modtime this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff" ediff-patch-file startup-hooks ediff-patch-buffer ((set-buffer StartBuffer)) delete-file ediff-buffer-A ediff-buffer-B ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ediff-unique-buffer-name "_patched" "" t] 5 (#$ . 18293) "bBuffer to patch: "]) #@106 Obtain patch buffer. If patch is already in a buffer---use it. Else, read patch file into a new buffer. (defalias 'ediff-get-patch-buffer #[(dir) "!#! \"!!pF!F!!Fюq!)P=P!)" [y-or-n-p "Is the patch file already in a buffer? " get-buffer read-buffer "Patch buffer name: " nil t ediff-patch-buf find-file-noselect read-file-name "Patch file name: " dir get-buffer-create "*ediff patch diagnostics*" ediff-patch-diagnostics StartBuffer buffer-name ((set-buffer StartBuffer)) insert-buffer this-command ediff-quit error "You've killed an essential Ediff buffer---Please quit Ediff"] 5 (#$ . 19412)]) #@221 Call `vc.el' or `rcs.el' depending on `ediff-version-control-package'. Without prefix argument, compares the current buffer with an older version. With prefix argument, compares two older versions of the current buffer. (defalias 'ediff-revision #[(arg) " !!! \f\"!\n \"*" [nil rev2 rev1 arg read-string "This buffer's version-1 to compare (default: the latest version): " "This buffer's version-2 to compare (default: the latest version): " "Version to compare the current buffer with (default: the latest version): " ediff-load-version-control intern format "%S-ediff-internal" ediff-version-control-package] 4 (#$ . 20074) "P"]) (defalias 'vc-ediff #[nil "!\n!" [beep 1 ediff-msg-buffer princ "\nYou have invoked an obsolete function `vc-ediff' or `rcs-ediff'.\nPlease use `M-x ediff-revision' instead.\n\nAlso, please check the variables `ediff-version-control-package'\nand `ediff-revision-key' for customization."] 3 nil nil]) (defalias (quote rcs-ediff) (quote vc-ediff)) (defalias 'ediff-load-version-control #[(&optional silent) " !B !!9! !B ='\n4 =2\f4\f#B \"" [featurep ediff-version-control-package locate-library symbol-name message "" require ediff-revision-key define-key vc vc-prefix-map rcs global-map ediff-revision silent error "Version control package %S.el not found. Use vc.el instead"] 4]) #@333 Run Ediff on versions of the current buffer. If both REV1 and REV2 are given then these two versions are compared. If only REV1 is given then the current buffer is compared against version REV1. If the current buffer is named `F', the version is named `F.~REV~'. If `F.~REV~' already exists, it is used instead of being re-created. (defalias 'vc-ediff-internal #[(rev1 &optional rev2) "p  !p !\f;*4\f!p  \n D\f\fDEFC$." [selected-window nil rev2buf rev1buf file2 file1 curwind curbuf vc-version-other-window rev1 buffer-file-name select-window rev2 ediff-buffers lambda delete-file if ediff-revision] 10 (#$ . 21469)]) #@96 View previous RCS revision of current file. With prefix argument, prompts for a revision name. (defalias 'rcs-ediff-view-revision #[(&optional rev) "p!\f\fPC\" !\fR\n! !\n \n\"!q D#&*!\n+" [buffer-file-name filename append ("-p") rev "-r" switches file-name-nondirectory ".~" "~" buff message "Working ..." expand-file-name ediff-rcs-get-output-buffer output-buffer delete-windows-on apply call-process "co" nil t rcs-default-co-switches "-q" ""] 12 (#$ . 22140) (list (if current-prefix-arg (read-string "Revision: ")))]) (defalias 'ediff-rcs-get-output-buffer #[(file name) " !\fq !!\n )\f*" [fundamental-mode default-major-mode get-buffer-create name buf nil buffer-read-only file-name-directory expand-file-name file default-directory erase-buffer] 3]) #@75 Run Ediff on the current buffer, comparing it with previous RCS revision. (defalias 'rcs-ediff-internal #[(rev1 &optional rev2) "; !\fp\n! \f$*" [rev2 rcs-ediff-view-revision rev1 rev1buf rev2buf ediff-buffers nil ediff-revision] 5 (#$ . 22972)]) (byte-code "L \"L!!BʼnJM!+! BɉJM!A! BˉJM \" # # # # # # \" # # # # # # \" # # # # # # #  \"  # #n \"n!8B!,:B!;<B8@#A:@#B<@#CDE@#FG!HI!" [purify-flag string-match "\\(Lucid\\|Xemacs\\)" emacs-version boundp menu-bar-epatch-menu make-sparse-keymap "Epatch" current-load-list menu-bar-ediff-merge-menu "Ediff merge" menu-bar-ediff-menu "Ediff" define-key [ediff-revision] ("File with Revision ..." . ediff-revision) [separator-ediff-files] ("--") [ediff-buffers3] ("Three Buffers ..." . ediff-buffers3) [ediff-files3] ("Three Files ..." . ediff-files3) [ediff-buffers] ("Two Buffers ..." . ediff-buffers) [ediff-files] ("Two Files ..." . ediff-files) [separator-ediff-regions] ("--") [ediff-regions-linewise] ("Regions Line-by-line ..." . ediff-regions-linewise) [ediff-regions-wordwise] ("Regions Word-by-word ..." . ediff-regions-wordwise) [separator-ediff-windows] ("--") [ediff-windows-linewise] ("Windows Line-by-line ..." . ediff-windows-linewise) [ediff-windows-wordwise] ("Windows Word-by-word ..." . ediff-windows-wordwise) [ediff-merge-revisions-with-ancestor] ("Revisions with Ancestor ..." . ediff-merge-revisions-with-ancestor) [ediff-merge-revisions] ("Revisions ..." . ediff-merge-revisions) [separator-ediff-merge] ("--") [ediff-merge-buffers-with-ancestor] ("Buffers with Ancestor ..." . ediff-merge-buffers-with-ancestor) [ediff-merge-buffers] ("Buffers ..." . ediff-merge-buffers) [ediff-merge-files-with-ancestor] ("Files with Ancestor ..." . ediff-merge-files-with-ancestor) [ediff-merge-files] ("Files ..." . ediff-merge-files) [ediff-patch-buffer] ("To a Buffer ..." . ediff-patch-buffer) [ediff-patch-file] ("To a File ..." . ediff-patch-file) ediff-menu ("Compare" ["Two Files ..." ediff-files t] ["Two Buffers ..." ediff-buffers t] ["Three Files ..." ediff-files3 t] ["Three Buffers ..." ediff-buffers3 t] "---" ["File with Revision ..." ediff-revision t] "---" ["Windows Word-by-word ..." ediff-windows-wordwise t] ["Windows Line-by-line ..." ediff-windows-linewise t] "---" ["Regions Word-by-word ..." ediff-regions-wordwise t] ["Regions Line-by-line ..." ediff-regions-linewise t]) ediff-merge-menu ("Merge" ["Files ..." ediff-merge-files t] ["Files with Ancestor ..." ediff-merge-files-with-ancestor t] ["Buffers ..." ediff-merge-buffers t] ["Buffers with Ancestor ..." ediff-merge-buffers-with-ancestor t] "---" ["Revisions ..." ediff-merge-revisions t] ["Revisions with Ancestor ..." ediff-merge-revisions-with-ancestor t]) epatch-menu ("Apply Patch" ["To a file ..." ediff-patch-file t] ["To a buffer ..." ediff-patch-buffer t]) add-submenu ("Tools") "VC" ("Tools") ("Tools") add-menu-button ("Tools") ["---" nil nil] provide ediff require ediff-util] 4)