;ELC ;;; compiled by roland@churchy.gnu.ai.mit.edu on Wed Aug 10 19:11:42 1994 ;;; from file /gd/gnu/emacs/19.0/lisp/ediff.el ;;; emacs version 19.25.92.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"))) (error "`/gd/gnu/emacs/19.0/lisp/ediff.el' was compiled for Emacs 19")) (byte-code "!\"\"\"\"\"\"\"\"\"\"\"\"\"" [require emerge defalias ediff-if-lucid (macro . #[nil "" [(string-match "Lucid" emacs-version)] 1]) ediff-odd-p (macro . #[(arg) "\nBBBB" [eq logand arg (1) (1)] 4]) ediff-buffer-live-p (macro . #[(buf) " D DDF" [and buf get-buffer buffer-name] 6]) ediff-get-buffer (macro . #[(arg) "\nBBB\nBBBE" [cond eq arg ((quote A)) (ediff-A-buffer) ((quote B)) (ediff-B-buffer)] 5]) ediff-char-to-buftype (macro . #[(arg) "\nBBB\nBBBE" [cond eq arg (97) ((quote A)) (98) ((quote B))] 5]) ediff-get-difference (macro . #[(n) "\nE" [aref ediff-difference-vector n] 3]) ediff-no-fine-diffs (macro . #[(n) "" [(aref (ediff-get-difference n) 3)] 1]) ediff-get-diff-overlay-from-vector (macro . #[(vec buf-type) " \fBBB\fBBBEE" [aref vec cond eq buf-type ((quote A)) (0) ((quote B)) (1)] 7]) ediff-get-diff-overlay (macro . #[(n buf-type) "\nD E" [ediff-get-diff-overlay-from-vector ediff-get-difference n buf-type] 3]) ediff-get-fine-diff-vector-from-vec (macro . #[(current-diff-vec) " BB" [aref current-diff-vec (2)] 3]) ediff-set-fine-diff-vector (macro . #[(n fine-vec) "\nD\fF" [aset ediff-get-difference n 2 fine-vec] 4]) ediff-mark-diff-as-space-only (macro . #[(n flag) "\nD\fF" [aset ediff-get-difference n 3 flag] 4]) ediff-get-fine-diff-vector (macro . #[(n) "\nDD" [ediff-get-fine-diff-vector-from-vec ediff-get-difference n] 3])] 3) (defalias 'ediff-defvar-local '(macro . #[(var value doc) "\n \fF\nDD\nDBBF" [progn defvar var value doc make-variable-buffer-local quote put ((if (ediff-if-lucid) (quote permanent-local) (quote preserved)) t)] 6 "\ Defines SYMBOL as an advertised local variable. Performs a defvar, then executes `make-variable-buffer-local' on the variable. Also sets the `preserved' (Emacs) or `permanent-local' (Lucid) property, so that `kill-all-local-variables' (called by major-mode setting commands) won't destroy Ediff control variables. This is a merge of `emerge-defvar-local' for Emacs and Lucid Emacs. It is needed to make the same ediff.elc work under both Emacsen."])) (defalias 'ediff-eval-in-buffer '(macro . #[(buffer &rest forms) "\fD\fDBBBBBBBE" [let ((StartBuffer (current-buffer))) if ediff-buffer-live-p buffer unwind-protect progn set-buffer forms ((set-buffer StartBuffer)) ((beep 1) (message "You seem to have killed an essential Ediff buffer---quit!"))] 8 "\ Macro to switch to BUFFER, evaluate FORMS, returns to original buffer. Differs from `save-excursion' in that it doesn't save the point and mark. This is essentially `emerge-eval-in-buffer' with the test for live buffers."])) (defalias 'ediff-mode #[nil " É" [kill-all-local-variables ediff-mode major-mode "Ediff" mode-name] 2 "\ Ediff mode is used by the Ediff file-difference package. It is entered only through one of the following commands: `ediff' `ediff-files' `ediff-buffers' `epatch' `ediff-patch-file' `ediff-patch-buffer' `epatch-buffer' `vc-ediff' `rcs-ediff' Commands: \\{ediff-mode-map}" nil]) (defvar ediff-before-setup-windows-hooks nil "\ *Hooks to run before Ediff sets its own window config. This can be used to save the previous window config, which can be restored on ediff-quit or ediff-suspend.") (defvar ediff-startup-hooks nil "\ *Hooks to run in the control buffer after Ediff has been set up.") (defvar ediff-select-hooks nil "\ *Hooks to run after a difference has been selected.") (defvar ediff-unselect-hooks nil "\ *Hooks to run after a difference has been unselected.") (defvar ediff-prepare-buffer-hooks nil "\ *Hooks called after buffers A and B are set up.") (defvar ediff-load-hooks nil "\ *Hook run after Ediff is loaded. Can be used to change defaults.") (defvar ediff-suspend-hooks (list (quote ediff-default-suspend-hook)) "\ *Hooks to run in the Ediff control buffer when Ediff is suspended.") (defvar ediff-quit-hooks (list (quote ediff-default-quit-hook)) "\ *Hooks to run in the Ediff control buffer after finishing Ediff.") (byte-code "!!" [make-variable-buffer-local local-write-file-hooks before-change-function " Moving around | Toggling features | Miscellaneous\n=======================|===========================|===========================\np,DEL -previous diff | s -vert/horiz split | ab/ba -copy diff A->B/B->A\nn,SPC -next diff | h -hiliting | ra/rb -restore diff in A/B\n j -jump to diff | @ -auto-refining | * -refine diff\nga/gb -to point in A/B |---------------------------| ! -recompute diffs\n c -recenter | ## -skip whitespace |---------------------------\n v/V -scroll up/down | #f/#h -focus/hide regions | wa/wb -save buf A/B\n -scroll lft/rght | A/B -read-only buf A/B | wf -save diff output\n=======================|===========================|===========================\n i -status info | ? -toggle help window | z/q -suspend/quit Ediff" ediff-help-message-long " ? - toggle help window" ediff-help-message-short] 2) (defvar ediff-help-message ediff-help-message-long "\ *The actual help message.") (defvar ediff-diff-program "diff" "\ *Name of the program that compares two files.") (defvar ediff-diff-options "" "\ *Options to pass to `ediff-diff-program'. If diff(1) is used as `ediff-diff-program', then the most useful options are `-w', to ignore space, and `-i', to ignore case of letters.") (defvar ediff-forward-word-function (quote ediff-forward-word) "\ *Function to call to move to the next word. Used for splitting difference regions into individual words.") (defvar ediff-fine-diff-program "diff" "\ *Name of the program that compares the current diff regions for fine differences. This program should produce output in the format of diff. One could possibly use `spiff' here if appropriate options are set.") (defvar ediff-fine-diff-options "" "\ *Options to pass to `ediff-fine-diff-program'. If diff(1) is used as `ediff-diff-program', then the most useful options are `-w', to ignore space, and `-i', to ignore case of letters.") (defvar ediff-whitespace " \n \n" "\ *White space. Used to split strings into words.") (defvar ediff-word-1 "a-zA-Z---_`'.?!:" "\ *Characters constituting type 1 words. Ediff is using a very simple schema for splitting text into words, which is used to determine fine differences between regions. There are two types of words. One consists entirely out of characters in `ediff-word-1' and another out of characters matching `ediff-word-1'.") (defvar ediff-word-2 "^a-zA-Z---_`'.?!: \n\n" "\ *Characters matching this regexp constitute words of type 2. See `ediff-word-1' for more details.") (defvar ediff-skip-diff-region-function (quote ediff-show-all-diffs) "\ Function that determines the next/previous diff region to show. Should return t for regions to be ignored and nil otherwise. This function gets a region number as an argument. The region number is the one used internally by Ediff. It is 1 less than the number seen by the user.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-skip-diff-region-function put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-regexp-focus-A "" "\ Regexp that determines buf A regions to focus on when skipping to diff.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-regexp-focus-A put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-regexp-focus-B "" "\ Regexp that determines buf B regions to focus on when skipping to diff.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-regexp-focus-B put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-regexp-hide-A "" "\ Regexp that determines buf A regions to ignore when skipping to diff.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-regexp-hide-A put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-regexp-hide-B "" "\ Regexp that determines buf B regions to ignore when skipping to diff.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-regexp-hide-B put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-patch-program "patch" "\ *Name of the program that applies patches.") (defvar ediff-patch-options "" "\ *Options to pass to ediff-patch-program.") (defvar ediff-shell (byte-code "=‡Ç" [system-type emx "cmd" "sh"] 2) "\ *The shell used to run diff and patch. If user's .profile or .cshrc files are set up correctly, any shell will do. However, some people set $prompt or other things incorrectly, which leads to undesirable output messages. These may cause Ediff to fail. In such a case, set ediff-shell to a shell that you are not using or, better, fix your shell's startup file.") (defvar ediff-diff-ok-lines-regexp "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\|Warning:\\)" "\ *Regexp that matches normal output lines from `ediff-diff-program'. This is mostly lifted from Emerge, except that Ediff also considers the 'Missing newline' message to be 'normal output.' Lines that do not match are assumed to be error messages.") (defvar ediff-fine-diff-ok-lines-regexp "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\|Warning:\\)" "\ *Regexp that matches normal output lines from `ediff-fine-diff-program'. This is mostly lifted from Emerge, except that Ediff also considers the 'Missing newline' message to be 'normal output.' Lines that do not match are assumed to be error messages.") (defvar ediff-match-diff-line (byte-code " İ)" ["\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)" x "^" "\\([acd]\\)" "$"] 5) "\ *Pattern to match lines produced by diff that describe differences.") (defvar ediff-patch-buf nil "\ The buffer of the patch file.") (defvar ediff-patch-diagnostics nil "\ The buffer where patch would display its diagnostics.") (defvar ediff-killed-diffs-alist nil "\ A list of killed diffs. A diff is saved here if it is replaced by a diff from another buffer. This alist has the form: ((num (A . diff) (B . diff)) ...), where A or B parts may be missing.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-killed-diffs-alist put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-before-flag-bol ">>--->>>\n" "\ *Flag placed above the highlighted block of differences. Must end with newline. Must be set before Ediff is loaded.") (defvar ediff-after-flag-bol "<<<---<<\n" "\ *Flag placed below the highlighted block of differences. Must end with newline. Must be set before Ediff is loaded.") (defvar ediff-before-flag-mol ">>--->>>" "\ *Like ediff-before-flag, used when a difference starts in mid-line.") (defvar ediff-after-flag-mol "<<<---<<" "\ *Like ediff-after-flag, used when a difference starts in mid-line.") (defvar ediff-before-flag-A nil "\ This is the actual ASCII before-flag in effect in buffer A. It is either `ediff-before-flag-mol' or `ediff-before-flag-bol' depending on whether the selected difference region starts in the middle of a line or at the beginning of a line.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-before-flag-A put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-after-flag-A nil "\ This is the actual ASCII after-flag in effect in buffer A. It is either `ediff-before-flag-mol' or `ediff-before-flag-bol' depending on whether the selected difference region starts in the middle of a line or at the beginning of a line.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-after-flag-A put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-before-flag-B nil "\ This is the actual ASCII before-flag in effect in buffer B. It is either `ediff-before-flag-mol' or `ediff-before-flag-bol' depending on whether the selected difference region starts in the middle of a line or at the beginning of a line.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-before-flag-B put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-after-flag-B nil "\ This is the actual ASCII after-flag in effect in buffer B. It is either `ediff-before-flag-mol' or `ediff-before-flag-bol' depending on whether the selected difference region starts in the middle of a line or at the beginning of a line.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-after-flag-B put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-want-faces t "\ If t, differences are highlighted using faces on a window system. If nil, they are highlighted using ASCII flags, ediff-before-flag and ediff-after-flag. On a non-window system, differences are always highlighted using ASCII flags. This variable can be set either in .emacs or toggled interactively, using ediff-toggle-hilit.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-want-faces put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-want-default-menus t "\ If t, Ediff will set up menus in the menu bar. This variable must be set before Ediff is loaded. If you don't like the look of the default menus, set this variable to nil and make your own menus.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-want-default-menus put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-auto-refine (byte-code "‡" [window-system on nix] 1) "\ If `'on', Ediff auto-highlights fine diffs for the current diff region. If `off', auto-highlighting is not used. If `'nix', no fine diffs are shown at all, unless the user force-refines the region by hitting `*'. This variable can be set either in .emacs or toggled interactively, using ediff-toggle-hilit.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-auto-refine put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-ignore-similar-regions nil "\ *If t, skip over difference regions that differ only in the white space and line breaks.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-ignore-similar-regions put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-auto-refine-limit 700 "\ Auto-refine only those regions that are smaller than this number of bytes.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-auto-refine-limit put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-highlight-all-diffs t "\ If nil, only the selected differences are highlighted. This variable can be set either in .emacs or toggled interactively, using ediff-toggle-hilit.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-highlight-all-diffs put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-highlighting-style nil "\ A var local to each control panel buffer. Indicates highlighting style in effect for this buffer: `face', `ascii', nil -- temporarily unhighlighted, `off' -- turned off (on a dumb terminal only).") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-highlighting-style put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-A-buffer nil "\ The buffer in which the A variant is stored.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-A-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-B-buffer nil "\ The buffer in which the B variant is stored.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-B-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-control-buffer nil "\ The control buffer of ediff. ") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-control-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-control-window nil "\ The control window.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-control-window put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-window-config-saved "" "\ Ediff's window configuration. Used to minimize the need to rearrange windows.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-window-config-saved put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-A-buffer-values nil "\ Keeps working values of ediff-saved-variables for ediff-A-buffer.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-A-buffer-values put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-B-buffer-values nil "\ Keeps working values of ediff-saved-variables for ediff-B-buffer.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-B-buffer-values put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-A-buffer-values-setup nil "\ Remembers ediff-saved-variables for ediff-A-buffer as they were at setup.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-A-buffer-values-setup put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-B-buffer-values-setup nil "\ Remembers ediff-saved-variables for ediff-B-buffer as they were at setup.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-B-buffer-values-setup put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-difference-vector nil "\ Vector of differences between the variants. Each difference is represented by a vector of two overlays. The first overlays the difference section in the A buffer and the second overlays the diff in the B buffer. If a difference section is empty, the corresponding overlay's endpoints coincide. ") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-difference-vector put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-current-difference -1 "\ The difference that is currently selected.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-current-difference put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-number-of-differences nil "\ Number of differences found.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-number-of-differences put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-diff-buffer nil "\ Buffer containing the output of diff, which is used by Ediff to step through files.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-diff-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-fine-diff-buffer nil "\ Buffer used for diff-style fine differences between regions.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-fine-diff-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-tmp-buffer nil "\ Temporary buffer used for computing fine differences.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-tmp-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-error-buffer nil "\ Buffer containing the output of diff when diff returns errors.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-error-buffer put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-this-buffer-control-sessions nil "\ List of ediff control panels associated with each buffer A/B.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-this-buffer-control-sessions put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-disturbed-overlays nil "\ List of difference overlays disturbed by working with the current diff.") (defvar ediff-shaded-overlay-priority 100 "\ Priority of non-selected overlays.") (byte-code "\n\"2KMKMKMKMKMKMKMKMZKMKMKMKMKMKMKMKM\n\"KMKMKMKMKMKMKMKM=MKMKMMKMMMM!!! ##\n\"\"\"6@AB#C!\\C!C!W ?CD#CE#W\n\"PC\"WC\"CC@CAF#G!G!G! GH#GI#GJKLMNONPMQL%+GG@GAR#S!(S!S!# ST#SU##SJKLMNONPMQL%+SS@SAV#W!vW!W!q hWX#WY#qZW\"WW@WA[#\\!\\!\\! \\]#\\^#Z\\\"\\\\@\\A_#`!`!`!  `]#`^# Z`\"``@`Aa#b!`b!b![ RbT#bY#[Zb\"bb@bAc#d!e!f!g!hiMj!Kj@jAk#lj!@j\n\"mnJ#o!Ko@oAp#lo!@o\n\"mnJ#qMrsMK" [string-match "Lucid" emacs-version ediff-overlayp extentp ediff-make-overlay make-extent ediff-delete-overlay delete-extent ediff-overlay-put set-extent-property ediff-move-overlay set-extent-endpoints ediff-overlay-start extent-start-position ediff-overlay-end extent-end-position ediff-overlay-get extent-property overlayp make-overlay delete-overlay overlay-put move-overlay overlay-start overlay-end overlay-get window-system ediff-select-frame select-screen ediff-window-frame window-screen ediff-display-color-p x-color-display-p ediff-valid-color-p x-valid-color-name-p ediff-get-face get-face window-frame select-frame x-display-color-p pm #[(color) " \n\"" [assoc color pm-color-alist] 3] x-color-defined-p internal-get-face #[(wind) "" [wind 1] 1] identity ediff-make-current-diff-overlay (lambda (type)) ediff-unhighlight-diffs-totally (lambda nil) ediff-set-face #[(ground face color) " !.\n=\f \f %+\f \f %+\f>9\f\"\f>W\f\"\f\f%+\f>a\f\"" [ediff-valid-color-p color ground foreground face nil frame internal-set-face-1 4 background 5 (ediff-current-diff-face-A ediff-current-diff-face-B) copy-face highlight (ediff-fine-diff-face-A ediff-fine-diff-face-B) secondary-selection t underline-p underline 7 (ediff-odd-diff-face-A ediff-odd-diff-face-B ediff-even-diff-face-A ediff-even-diff-face-B)] 6 "Sets face foreground/background."] boundp ediff-current-diff-face-A make-face face-differs-from-default-p foreground "firebrick" background "pale green" copy-face modeline highlight put variable-documentation "Face for highlighting the selected difference in buffer A." ediff-current-diff-face-B "DarkOrchid" "Yellow" "Face for highlighting the selected difference in buffer B." ediff-fine-diff-face-A "Navy" "sky blue" t nil frame underline-p face internal-set-face-1 underline 7 "Face for highlighting the refinement of the selected diff in buffer A." ediff-fine-diff-face-B "Black" "cyan" "Face for highlighting the refinement of the selected diff in buffer B." ediff-even-diff-face-A "black" "light grey" italic "Face used to highlight even-numbered differences in buffer A." ediff-even-diff-face-B "White" "Gray" "Face used to highlight even-numbered differences in buffer B." ediff-odd-diff-face-A "Face used to highlight odd-numbered differences in buffer A." ediff-odd-diff-face-B "Face used to highlight odd-numbered differences in buffer B." ediff-even-diff-face-A-var ediff-even-diff-face-B-var ediff-odd-diff-face-A-var ediff-odd-diff-face-B-var ediff-init-var-faces #[nil " \n \" \n \" 1\n12\" C\nC\nD\"" [copy-face ediff-want-faces ediff-highlight-all-diffs ediff-even-diff-face-A default ediff-even-diff-face-A-var ediff-even-diff-face-B ediff-even-diff-face-B-var ediff-odd-diff-face-A ediff-odd-diff-face-A-var ediff-odd-diff-face-B ediff-odd-diff-face-B-var] 3] ediff-current-diff-overlay-A "Overlay specifying the current difference region in buffer A." make-variable-buffer-local permanent-local preserved ediff-current-diff-overlay-B "Overlay specifying the current difference region in buffer B." #[(type) "=\n‚ =\f==1!H)< !H)\f dd\f#L !# !#+" [type A ediff-current-diff-overlay-A ediff-current-diff-overlay-B ediff-A-buffer B ediff-B-buffer ediff-current-diff-face-A face internal-get-face 1 ediff-current-diff-face-B buffer overlay ediff-make-overlay ediff-overlay-put eval ediff ediff-control-buffer] 6] ediff-highest-priority #[(start end buffer) " S]\"Tap \nY\n!Y\n!!Y͎\nq\fdT^WL\f! \"\f!4 \"B!T)`!!)*" [1 start nil ovr-list pos string-match "Lucid" emacs-version ediff-shaded-overlay-priority StartBuffer buffer get-buffer buffer-name ((set-buffer StartBuffer)) end append overlays-at next-overlay-change eval + mapcar #[(ovr) " \"ÇÇ" [ovr ediff-overlay-get priority 0] 3] beep message "You seem to have killed an essential Ediff buffer---quit!"] 6]] 6) (defvar ediff-split-window-function (quote split-window-vertically) "\ *The function to split the main window between buffer-A and buffer-B. You can set it to be split horizontally instead of the default vertical split by setting this variable to 'split-window-horizontally. You can also have your own function for fancy splits. This variable has no effect when buffer-A and buffer-B are shown in different frames. In this case, Ediff will use those frames to display these buffers.") (defconst ediff-saved-variables (quote (buffer-read-only buffer-auto-save-file-name)) "\ Buffer-local variables saved and restored during an Ediff session.") (defconst ediff-working-values (quote (nil nil)) "\ Values to be assigned to `ediff-saved-variables' during diff.") (defvar ediff-use-last-dir nil "\ *If t, Ediff uses previous directory as default when reading file name.") (defvar ediff-no-help-in-control-buffer nil "\ *Non-nil means C-h should not invoke Emacs help in control buffer. Instead, C-h jumps to previous difference.") (defvar ediff-temp-file-prefix (byte-code "!!!$GV$%ȉGSHU5 O P*" [getenv "TMPDIR" "TMP" "TEMP" nil d env 0 "/tmp" 47 -1 "/ediff"] 4) "\ *Prefix to put on Ediff temporary file names. Do not start with `~/' or `~user-name/'.") (defvar ediff-temp-file-mode 384 "\ *Mode for Ediff temporary files.") (defvar ediff-temp-file-A nil "\ Temporary file used for refining difference regions in buffer B.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-temp-file-A put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-temp-file-B nil "\ Temporary file used for refining difference regions in buffer B.") (byte-code "! \"Ƃ#" [make-variable-buffer-local ediff-temp-file-B put string-match "Lucid" emacs-version permanent-local preserved t] 5) (defvar ediff-last-dir-A nil "\ Last directory used by an Ediff command for file-A.") (defvar ediff-last-dir-B nil "\ Last directory used by an Ediff command for file-B.") (defvar ediff-last-dir-patch nil "\ Last directory used by an Ediff command for file to patch.") (defvar ediff-mode-map nil "\ Local keymap used in Ediff mode.") (byte-code "\" (!!ʼnJM!#!ȉJM H#### X # ###  \"!!!#!$#$%" [defalias ediff-frame-has-menubar #[nil "\n\" !AW" [string-match "Lucid" emacs-version current-menubar 0 menu-bar-lines frame-parameters selected-frame] 4] purify-flag boundp menu-bar-epatch-menu make-sparse-keymap "Epatch" menu-bar-ediff-menu "Ediff" define-key [rcs-ediff] ("File with a version via RCS ..." . rcs-ediff) [vc-ediff] ("File with a version via VC ..." . vc-ediff) [ediff-buffers] ("Buffers ..." . ediff-buffers) [ediff-files] ("Files ..." . ediff-files) [ediff-patch-buffer] ("To a Buffer ..." . ediff-patch-buffer) [ediff-patch-file] ("To a File ..." . ediff-patch-file) menu-bar-file-menu [epatch] ("Apply Patch" . menu-bar-epatch-menu) [ediff] ("Compare" . menu-bar-ediff-menu) window-system ediff-want-default-menus string-match "Lucid" emacs-version ediff-menu ("" ["Files ..." ediff-files t] ["Buffers ..." ediff-buffers t] ["File with a version via VC ..." vc-ediff t] ["File with a version via RCS ..." rcs-ediff t]) epatch-menu ("" ["To a file ..." ediff-patch-file t] ["To a buffer ..." ediff-patch-buffer t]) add-menu ("File") "Compare" "New Screen" ("File") "Apply Patch" add-menu-item ("File") "---" nil] 6) (defalias 'ediff-setup-keymap #[nil "  ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @# A# BC# DC# E# FG# HG# IG# J# KL# M" [make-sparse-keymap ediff-mode-map suppress-keymap define-key "p" ediff-previous-difference "" "" ediff-no-help-in-control-buffer "n" ediff-next-difference " " "j" ediff-jump-to-difference "g" nil "ga" ediff-jump-to-difference-at-point "gb" "q" ediff-quit "z" ediff-suspend "c" ediff-recenter "s" ediff-toggle-split "h" ediff-toggle-hilit "@" ediff-toggle-autorefine "v" ediff-scroll-up "" "^" ediff-scroll-down "" "V" "<" ediff-scroll-left ">" ediff-scroll-right "i" ediff-status-info "?" ediff-toggle-help "!" ediff-recompute-diffs "*" ediff-make-fine-diffs "a" "ab" ediff-diff-to-diff "b" "ba" "r" "ra" ediff-restore-diff "rb" "#" "#h" ediff-toggle-regexp-match "#f" "##" ediff-toggle-skip-similar "o" "A" ediff-toggle-read-only "B" "w" "wa" ediff-save-buffer "wb" "wf" "k" "kkk" ediff-reload-keymap] 4 "\ Set up the keymap used in the control buffer of Ediff."]) (defalias 'ediff-find-file #[(file-var buffer &optional last-dir hooks-var) " !\n\"\n!\n\" \" \n!!L\f\n!Lp \f!\f!!\f!!!Ў\f!q~ n! \nDE!BL\n! ! \nDE!BL )!!) \nL*" [eval file-var file find-file-name-handler find-file-noselect file-magic file-readable-p error "File `%s' does not exist or is not readable" last-dir expand-file-name file-name-directory buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-verify-file-buffer magic ediff-make-temp-file hooks-var lambda nil delete-file file-truename buffer-file-name beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 5 "\ Visit FILE and arrange its buffer to Ediff's liking. FILE is actually a variables symbol that must contain a true file name. BUFFER 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-strartup' is finished. `ediff-find-file' arranges that the temp files it might create will be deleted. Arguments: (file buffer &optional last-dir hooks)"]) (defalias (quote ediff-files-internal) #[(file-A file-B &optional startup-hooks) " \"!$ \"!$\n  \n%*" [nil buffer-B buffer-A message "Reading file %s ... " file-A sit-for .5 ediff-find-file ediff-last-dir-A startup-hooks file-B .5 ediff-last-dir-B ediff-setup] 6]) (defalias 'ediff-get-patch-buffer #[(dir) "!#! \"!p\fA!A!!AΎq!)I!!)!p\fu!u!!u׎q!)|!!)" [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 StartBuffer buffer-name ((set-buffer StartBuffer)) toggle-read-only 1 beep message "You seem to have killed an essential Ediff buffer---quit!" get-buffer-create "*ediff patch diagnostics*" ediff-patch-diagnostics ((set-buffer StartBuffer)) insert-buffer] 5 "\ Obtain patch buffer. If patch is already in a buffer---use it. Else, read patch file into a new buffer."]) (byte-code "\"\"\"" [defalias ediff-setup #[(buffer-A file-A buffer-B file-B startup-hooks) " !\n!\"p4!4!!4ˎq!);!!)p!!!Ҏq \"!! \n\"!G\"$!!( !$p!!!q\"23>3B37@\"7@O7AB7B7!)\n!!)pe!e!!eq\"23>@3B37@\"X7@O7ABZ7B7!)m!!)p!!!q\"މ)!!*!!+" [expand-file-name file-A file-B emerge-unique-buffer-name "Ediff Control Panel" "" control-buffer-name StartBuffer buffer-A get-buffer buffer-name ((set-buffer StartBuffer)) get-buffer-create beep 1 message "You seem to have killed an essential Ediff buffer---quit!" control-buffer ((set-buffer StartBuffer)) ediff-mode nil buffer-read-only ediff-A-buffer buffer-B ediff-B-buffer ediff-control-buffer "*ediff-errors" "*" ediff-error-buffer ediff-remember-buffer-characteristics t ediff-set-keys ediff-setup-diff-regions ediff-difference-vector ediff-number-of-differences -1 ediff-current-difference ediff-make-current-diff-overlay A B window-system ediff-init-var-faces run-hooks ediff-before-setup-windows-hooks ediff-setup-windows ((set-buffer StartBuffer)) add-hook local-write-file-hooks ediff-block-write-file ediff-before-change-guard before-change-function ediff-this-buffer-control-sessions "A: " string-match "\\(^ \\|^[^ ]*: \\)" mode-line-buffer-identification 0 ediff-prepare-buffer-hooks ((set-buffer StartBuffer)) "B: " ((set-buffer StartBuffer)) startup-hooks ediff-startup-hooks] 6] ediff-setup-diff-regions #[(file-A file-B &optional use-old refine-region diff-program diff-options diff-ok-lines-regexp) " \n \f '\"! \"! p4 6 D F !V X !!Ҏi k q !T\"!!\n!!\"!%\"*!!)\f \"T\"*+ !$\f \"!!*+ *+##" [diff-program ediff-diff-program diff-options ediff-diff-options diff-ok-lines-regexp ediff-diff-ok-lines-regexp use-old get-buffer-create emerge-unique-buffer-name "*ediff-diff" "*" ediff-diff-buffer "*ediff-fine-diff" ediff-fine-diff-buffer StartBuffer refine-region get-buffer buffer-name ((set-buffer StartBuffer)) erase-buffer ediff-kill-buffer-carefully "*Shell Command Output*" ediff-shell shell-file-name message "Refining difference region %d ..." "Computing differences ..." sit-for .5 shell-command format "%s %s %s %s" ediff-protect-metachars file-A file-B t beep 1 "You seem to have killed an essential Ediff buffer---quit!" ediff-prepare-error-list "Refining difference region %d ... Done." ediff-convert-diffs-to-overlays-refine ediff-A-buffer ediff-B-buffer ediff-extract-diffs "Computing differences ... Done." .5 ediff-convert-diffs-to-overlays] 8] ediff-prepare-error-list #[(ok-regexp diff-buff) "p ) !) !!)Ď q ! !)0!!)" [StartBuffer ediff-error-buffer get-buffer buffer-name ((set-buffer StartBuffer)) erase-buffer insert-buffer diff-buff delete-matching-lines ok-regexp beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 3]] 3) (defalias 'ediff-patch-file #[(source-filename &optional startup-hooks) "\n!! \"ƕ \" ƕ!Oɘ.ʂ0 \f\n \n$ !\n!?p!!!ێq!!ed#  !$$)!!)!!!! Q!!p!!!q\nQ!!)!!) P # Q #B!#!!\"." [ediff-get-patch-buffer file-name-directory source-filename ediff-patch-options string-match "-b[ ]+" 0 "-b[ ]+[^ ]+" backup-extension "" "orig" ediff-shell shell-file-name true-source-filename target-filename nil target-buf buf-to-patch file-name-magic-p ediff-find-file ediff-last-dir-patch startup-hooks file-truename StartBuffer ediff-patch-diagnostics get-buffer buffer-name ((set-buffer StartBuffer)) message "Applying patch ... " sit-for .5 shell-command-on-region format "%s -f %s %s" ediff-patch-program expand-file-name t beep 1 "You seem to have killed an essential Ediff buffer---quit!" "Applying patch ... Done." .5 switch-to-buffer file-exists-p "." error "Patch failed or didn't modify the original file." ((set-buffer StartBuffer)) set-visited-file-name set-buffer-modified-p ".patched" rename-file ediff-toggle-read-only-A find-file-noselect ediff-buffers bury-buffer "Patch diagnostics available in buffer %s."] 10 "\ Run Ediff by patching FILE-TP-PATCH." (list (ediff-read-file-name "File to patch" (if ediff-use-last-dir ediff-last-dir-patch default-directory) nil))]) (byte-code "\"\"" [defalias epatch ediff-patch-file epatch-buffer ediff-patch-buffer] 3) (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 startup-hooks] 5 "\ Run Ediff on a pair files, FILE-A and FILE-B." (byte-code "\f\f #\f #)D" [nil f ediff-read-file-name "File A to compare" ediff-use-last-dir ediff-last-dir-A default-directory "File B to compare" ediff-last-dir-B] 5)]) (defalias (quote ediff) (quote ediff-files)) (defalias 'ediff-buffers #[(buffer-A buffer-B &optional startup-hooks) "!!!\" ) !) !!. \"Ɖp V!V!!Vʎq )^!!)p ! !!Ў q )!!)! !DDFB%*" [buffer-A get-buffer buffer-name error "Buffer %S doesn't exist." buffer-B nil file-B file-A StartBuffer ((set-buffer StartBuffer)) ediff-make-temp-file beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ((set-buffer StartBuffer)) ediff-setup lambda delete-file startup-hooks] 10 "\ Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B." (list (read-buffer "Buffer A to compare: " (current-buffer) t) (read-buffer "Buffer B to compare: " (progn (save-window-excursion (other-window 1)) (other-buffer (current-buffer) t)) t))]) (defalias 'ediff-patch-buffer #[(buffer-name &optional startup-hooks) " ! \n!\f\"\f\"*" [get-buffer buffer-name file-buffer buffer-file-name file-name error "Buffer %s doesn't exist or doesn't visit any file. Why patch?" ediff-patch-file startup-hooks] 4 "\ Run Ediff by patching BUFFER-NAME." "bBuffer to patch: "]) (defalias 'vc-ediff #[(rev) "!!!#!p\f!\fp\")" [featurep vc locate-library "vc" require vc-hooks define-key vc-prefix-map "=" vc-ediff error "The VC package is apparently not installed." newvers vc-version-other-window rev ediff-buffers] 4 "\ Run ediff on version REV of the current buffer in another window. 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." "sVersion to ediff with (default is the latest version): "]) (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 "\ View previous RCS revision of current file. With prefix argument, prompts for a revision name." (list (if current-prefix-arg (read-string "Revision: ")))]) (defalias (quote 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]) (defalias 'rcs-ediff #[(&optional rev) "!!!\"!p !\f  \f\"*" [featurep rcs locate-library "rcs" require global-set-key "D" rcs-ediff error "The RCS package is apparently not installed." rcs-ediff-view-revision rev oldvers newvers ediff-buffers] 3 "\ Run Ediff on the current buffer, comparing it with previous RCS revision. With prefix argument, prompts for revision name." (list (if current-prefix-arg (read-string "Revision: ")))]) (byte-code "\"\"\"" [defalias ediff-select-lowest-window #[nil "  AAA@ G   !AAA@\n \nW0\n  !  =C !*," [selected-window lowest-window window-edges bottom-edge previous-window last-window t window-search next-window this-window next-bottom-edge select-window nil] 2] ediff-setup-windows #[(buffer-A buffer-B control-buffer &optional pos) " =\f! !x ! \n p\f$ \np\f$ pW!W!!WҎq )^!!)U?x! !\")" [selected-window minibuffer-window other-window 1 ediff-leave-window-config control-buffer delete-other-windows switch-to-buffer ediff-refresh-mode-line ediff-arrange-buffer buffer-A buffer-B pos ediff-setup-control-window StartBuffer ediff-error-buffer get-buffer buffer-name ((set-buffer StartBuffer)) buffer-size beep message "You seem to have killed an essential Ediff buffer---quit!" 0 ediff-diff-buffer diff-output-buf ediff-kill-buffer-carefully error "Errors found in diff output. Diff output buffer is %s"] 5] ediff-arrange-buffer #[(goal-buf other-buf ctl-buf &optional pos) " \"\f\"\" !  !\n(!  \n=7  =\f\nT =T\n! ! \fy !  ! !\f!  !! !\f!!eb ! ! !." [get-buffer-window ctl-buf t ctl-wind goal-buf goal-wind other-buf other-wind ediff-window-frame ctl-frame goal-frame other-frame ctl-frame-shared ediff-select-frame select-window delete-other-windows split-window-vertically ediff-select-lowest-window selected-window switch-to-buffer ediff-setup-control-window other-window 1 ediff-split-window-function error "Funny window combination (Ediff bug?)" pos] 3]] 3) (defalias 'ediff-setup-control-window #[nil " c \f\"\n\" %\feb w" [erase-buffer ediff-help-message shrink-window-if-larger-than-buffer selected-window ediff-control-window format "%S%S%S%S" get-buffer-window ediff-A-buffer t ediff-B-buffer ediff-split-window-function ediff-window-config-saved ediff-whitespace nil] 7 "\ Set up window for control buffer."]) (defalias (quote ediff-leave-window-config) #[(control-buf) "p=J U?JpB!B!!BƎq \" \"\"%)I!!)" [control-buf buffer-size 0 StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-window-config-saved format "%S%S%S%S" get-buffer-window ediff-control-buffer t ediff-A-buffer ediff-B-buffer ediff-split-window-function beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 8]) (defalias 'ediff-set-keys #[nil " !" [ediff-mode-map ediff-setup-keymap use-local-map] 2 "\ Set up Ediff keymap, if necessary."]) (defalias (quote ediff-reload-keymap) #[nil " " [nil ediff-mode-map ediff-set-keys] 1 nil nil]) (defalias 'ediff-before-change-guard #[(start end) "‹)" [nil rehighlight-key ((byte-code "\n\" \"" [mapcar #[(buf) "p 0 !0 !!0Ď q =,#! )7!!)" [StartBuffer buf get-buffer buffer-name ((set-buffer StartBuffer)) ediff-highlighting-style ascii ediff-unselect-and-select-difference ediff-current-difference unselect-only no-recenter substitute-command-keys "\\[ediff-recenter]" rehighlight-key beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4] ediff-this-buffer-control-sessions rehighlight-key error "ASCII flags removed. You can edit now. Hit %S to rehighlight."] 3))] 1 "\ If buffer is highlighted with ASCII flags, remove highlighting. Arguments, START and END are not used, but are provided because this is required by `before-change-function'."]) (defalias 'ediff-recompute-diffs #[nil "p  ! !!Ď q`)%!!)p H !H !!Hʎ q`)O!!)ˉ\f !p  ! !!Ҏ q  )!!)p  ! !!Ԏ q \f)!!)\" \f#G !\f!p ! !!ݎ qb)!!)!!!!Dp 5 !5 !!5 qb)=!!)!!!," [StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ediff-B-buffer ((set-buffer StartBuffer)) nil file-B file-A point-B point-A ediff-unselect-and-select-difference -1 ((set-buffer StartBuffer)) ediff-make-temp-file ((set-buffer StartBuffer)) ediff-clear-diff-vector ediff-difference-vector fine-diffs-also ediff-killed-diffs-alist ediff-setup-diff-regions use-old ediff-number-of-differences delete-file ((set-buffer StartBuffer)) ediff-jump-to-difference ediff-diff-at-point A y-or-n-p "Ediff is at last posn in buff A. Stay (or goto last posn in B)? " ((set-buffer StartBuffer)) B ""] 5 "\ Recompute difference regions in buffers A and B." nil]) (defalias 'ediff-remember-buffer-characteristics #[(&optional arg) " p\f1\f!1\f!!1ǎ\fq !  \")8!!)LCЂDpp!p!!pӎq !  \")w!!)L" [arg ediff-A-buffer-values-setup ediff-A-buffer-values StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) emerge-save-variables ediff-saved-variables emerge-restore-variables ediff-working-values beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ediff-B-buffer-values-setup ediff-B-buffer-values ediff-B-buffer ((set-buffer StartBuffer))] 5 "\ Record certain properties of the buffers being compared. Must be called in the control buffer. Saves `read-only', `modified', and `auto-save' properties in buffer local variables. Turns off `auto-save-mode'. These properties are restored via a call to `ediff-restore-buffer-characteristics'."]) (defalias 'ediff-restore-buffer-characteristics #[(&optional arg) " \n \fp>!>!!>ˎq \")F!!)pn!n!!nӎq \")u!!+" [arg ediff-A-buffer-values-setup ediff-A-buffer-values ediff-B-buffer-values-setup ediff-B-buffer-values B-values A-values StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) emerge-restore-variables ediff-saved-variables beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ediff-B-buffer ((set-buffer StartBuffer))] 3 "\ Restores properties saved by `ediff-remember-buffer-characteristics'."]) (byte-code "\"\"" [defalias ediff-extract-diffs #[(diff-buffer &optional A-buffer B-buffer) " ggp 0 !0 !!0ʎ qeb)8!!)p^!^!!^Ύqeb)f!!)p!!!Ўqeb#{!֔֕{!*ڔڕ{ܔܕ{!ޔޕ{!* !\"#䘃TT$嘃TT$TT p a !a !!a q Zy` Zy`!)i!!)p!!!q\nZy`\"Zy`#)!!)\f !\"#$C\f ZZ\nZZ$C. )!!)\f+" [nil 1 b-prev a-prev diff-list A-buffer B-buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) beep message "You seem to have killed an essential Ediff buffer---quit!" ((set-buffer StartBuffer)) diff-buffer ((set-buffer StartBuffer)) re-search-forward ediff-match-diff-line t string-to-int a-begin 3 e b a-end 4 diff-type 5 b-begin 7 b-end a-begin-pt a-end-pt b-begin-pt b-end-pt "a" "d" ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) vector] 8] ediff-convert-diffs-to-overlays #[(A-buffer B-buffer diff-list) "\nG \n \f\n T\n@HHH H\n#  # # # \"=oۂp# \n#\f\f#\f #\f#\f \"=߂##\" #\f  # #\f#  \fĉ$C\nA # T # \".\n" [-1 current-diff diff-list total-diffs nil diff-overlay-list list-element a-begin a-end b-begin b-end a-overlay b-overlay 0 1 2 3 ediff-make-overlay A-buffer ediff-overlay-put priority ediff-shaded-overlay-priority ediff-diff-num insert-in-front-hooks (ediff-insert-in-front) face logand ediff-odd-diff-face-A-var ediff-even-diff-face-A-var B-buffer (ediff-insert-in-front) ediff-odd-diff-face-B-var ediff-even-diff-face-B-var string-match "Lucid" emacs-version ediff-marker make-marker end-open vector message "Processing diff region %d of %d" apply] 7]] 3) (defalias 'ediff-recenter #[(&optional no-rehighlight) " 3 !3 !!33!3!!3 #) * !* !!**!*!!* Y*  W* \f =GS=GS=GS=GS\f\" \"!!$Z$\\$#$!$Z$\\$#!.\n" [nil ediff-disturbed-overlays buffer-read-only ediff-A-buffer get-buffer buffer-name ediff-B-buffer ediff-setup-windows ediff-control-buffer ediff-current-difference 0 ediff-number-of-differences buffer-A buffer-B selected-window wind control-buf ediff-highlighting-style ascii ediff-before-flag-A before-flag-shift-A ediff-after-flag-A after-flag-shift-A ediff-before-flag-B before-flag-shift-B ediff-after-flag-B after-flag-shift-B get-buffer-window t window-A window-B no-rehighlight ediff-operate-on-flags insert select-window ediff-position-region ediff-get-diff-posn A beg end B] 8 "\ Bring the highlighted region of all buffers A and B into view. Reestablish the default three-window display." nil]) (defalias 'ediff-toggle-split #[nil " \"\f\"  !  !=5 =/˂0 9!!," [get-buffer-window ediff-A-buffer t wind-A ediff-B-buffer wind-B ediff-window-frame frame-A frame-B ediff-split-window-function split-window-vertically split-window-horizontally message "No splitting: Buffers A and B are in different frames." ediff-recenter no-rehighlight] 3 "\ Toggle vertical/horizontal window split. Does nothing if file-A and file-B are in different frames." nil]) (defalias 'ediff-toggle-hilit #[nil "\" =!\"\"\"\n< <! U\nK!\nU!\n \n !\"\"\"\"\"\"\"\"\"!" [window-system ediff-highlighting-style ascii message "ASCII highlighting flags removed." ediff-unselect-and-select-difference ediff-current-difference unselect-only off select-only ediff-want-faces ediff-highlight-all-diffs "Unhighlighting unselected difference regions." nil "Highlighting with ASCII flags." "Re-highlighting all difference regions." t face-differs-from-default-p ediff-odd-diff-face-A-var copy-face ediff-odd-diff-face-A ediff-odd-diff-face-B ediff-odd-diff-face-B-var ediff-even-diff-face-A ediff-even-diff-face-A-var ediff-even-diff-face-B ediff-even-diff-face-B-var default ediff-operate-on-flags insert] 3 "\ Switch between highlighting using ASCII flags and highlighting using faces. On a dumb terminal, switches between ASCII highlighting and no highlighting." nil]) (defalias 'ediff-toggle-autorefine #[nil "=\f\"!=!ɉ\f\"!" [ediff-auto-refine nix on ediff-make-fine-diffs ediff-current-difference noforce message "Auto-refining is ON." "Auto-refining is OFF." off ediff-set-fine-diff-properties default "Refinements are HIDDEN."] 3 "\ Toggle auto-refine mode." nil]) (defalias 'ediff-toggle-help #[nil " \f \f)!" [nil buffer-read-only erase-buffer ediff-help-message ediff-help-message-long ediff-help-message-short "" ediff-window-config-saved ediff-recenter no-rehighlight] 2 "\ Toggle short/long help message." nil]) (defalias 'ediff-toggle-read-only-A #[nil " )" [65 last-command-char ediff-toggle-read-only] 1 "\ Used as a startup hook to set `.orig' patch file read-only."]) (defalias 'ediff-toggle-read-only #[nil "p =\f \fK = \f!K =, -\f!!Kǎ => ?\fq?)R!!)" [StartBuffer last-command-char 65 ediff-A-buffer ediff-B-buffer get-buffer buffer-name ((set-buffer StartBuffer)) buffer-read-only beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4 "\ Toggles buffer-read-only for buffer buffers A and B." nil]) (defalias (quote ediff-operate-on-windows) #[(operation arg) "\n  \" \" \"!͏ 1 !Ϗ !-" [ediff-A-buffer buffer-A ediff-B-buffer buffer-B selected-window wind get-buffer-window t window-A window-B select-window nil (funcall operation arg) ((error)) (funcall operation arg) ((error))] 3]) (defalias 'ediff-scroll-up #[(&optional arg) "\n\nÚ\n!Q\" \"\n\f-\n3\fC!\n!^ZZ\f\nN\fѥP\f+\"" [ediff-operate-on-windows scroll-up arg - prefix-numeric-value get-buffer-window ediff-A-buffer t window-A ediff-B-buffer window-B nil default-amount 0 window-height next-screen-context-lines 1 2] 5 "\ Scroll up buffers A and B, if they are in windows. With optional argument ARG, scroll ARG lines; otherwise scroll by nearly the height of window-A." "P"]) (defalias 'ediff-scroll-down #[(&optional arg) "\n\nÚ\n!Q\" \"\n\f-\n3\fC!\n!^ZZ\f\nN\fѥP\f+\"" [ediff-operate-on-windows scroll-down arg - prefix-numeric-value get-buffer-window ediff-A-buffer t window-A ediff-B-buffer window-B nil default-amount 0 window-height next-screen-context-lines 1 2] 5 "\ Scroll down buffers A and B, if they are in windows. With optional argument ARG, scroll ARG lines; otherwise scroll by nearly the height of window-A." "P"]) (defalias 'ediff-scroll-left #[(&optional arg) "\n\nÚ\n!/ ??/ !ǥZ \n, ǥ. )\"" [ediff-operate-on-windows scroll-left arg - prefix-numeric-value ediff-control-window window-width 2 3 default-amount] 4 "\ Scroll left buffer-A and buffer-B, if they are in windows. If an argument is given, that is how many columns are scrolled, else nearly the width of the A and B windows." "P"]) (defalias 'ediff-scroll-right #[(&optional arg) "\n\nÚ\n!/ ??/ !ǥZ \n, ǥ. )\"" [ediff-operate-on-windows scroll-right arg - prefix-numeric-value ediff-control-window window-width 2 3 default-amount] 4 "\ Scroll right buffer-A and buffer-B, if they are in windows. If an argument is given, that is how many columns are scrolled, else nearly the width of the A and B windows." "P"]) (defalias 'ediff-position-region #[(beg end pos) " \n\"\f!6\f!`V\"T\nb !SZ]T˥!)\fb" [set-window-start selected-window beg pos-visible-in-window-p end 0 lines move-to-window-line recenter window-height 1 2 pos] 3 "\ This is a variation on `emerge-position-region'. The difference is that it always tries to align difference regions in buffer-A and buffer-B, so that it will be easier to compare them."]) (defalias 'ediff-next-difference #[(&optional arg) " WX \n\n\\^ W.!.T! V WV\nHHVT!3*!" [ediff-current-difference ediff-number-of-differences arg 1 nil buffer-read-only n ediff-skip-diff-region-function ediff-unselect-and-select-difference ediff-ignore-similar-regions ediff-difference-vector 3 error "At end of the difference list."] 4 "\ Advance to the next difference. With a prefix argument, go back that many differences." "P"]) (defalias 'ediff-previous-difference #[(&optional arg) "VX\n\nZ]!.V.S! VVV\nHHVS!3*!" [ediff-current-difference -1 arg 1 nil buffer-read-only n ediff-skip-diff-region-function ediff-unselect-and-select-difference ediff-ignore-similar-regions ediff-difference-vector 3 error "At beginning of the difference list."] 3 "\ Go to the previous difference. With a prefix argument, go back that many differences." "P"]) (defalias 'ediff-jump-to-difference #[(difference-number) "\nSY\n\fTW\n!!)" [nil buffer-read-only difference-number -1 ediff-number-of-differences ediff-unselect-and-select-difference error "Bad difference number"] 3 "\ Go to the difference specified as a prefix argument." "p"]) (defalias 'ediff-jump-to-difference-at-point #[nil " =  =!!*" [nil last-command-char 97 A 98 B buf-type buffer-read-only ediff-jump-to-difference ediff-diff-at-point] 3 "\ Go to the difference closest to the point in buffer A or B. If this command is invoked via `\\[ediff-jump-to-difference-at-point]' then the point in buffer B is used. Otherwise, buffer A's point is used." nil]) (defalias (quote ediff-diff-at-point) #[(buf-type) "=\n\n=\f Sȉ \n \f p!!!Ԏq`\fWV`\nV W T \n\f   $\n $ H` Z!`\nZ!W  T)!!. " [buf-type A ediff-A-buffer B ediff-B-buffer ediff-control-buffer ediff-number-of-differences -1 0 end beg prev-end prev-beg diff-no max-dif-num ctl-buffer buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-get-diff-posn abs beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 8]) (defalias 'ediff-diff-to-diff #[(arg) "! H H \"!\f!\"\f  \"3!5\f =EЂM =M\f=XЂ`\f=`#!," [arg ediff-jump-to-difference this-command-keys 0 key1 1 key2 string-match "Lucid" emacs-version event-key char1 char2 ediff-copy-diff ediff-current-difference 97 A 98 B ediff-recenter no-rehighlight] 5 "\ Copy buffer-A'th diff to buffer B. If numerical prefix argument, copy this diff specified in the arg. Otherwise, copy the difference given by `ediff-current-difference'." "P"]) (defalias 'ediff-copy-diff #[(n from-buf-type to-buf-type) "=\n\n=\f=\n%=%\f  \f ! $  $p!!!؎q $ ${)!!) p ! !!ݎ q {)!!)\f\f T$\"䏈!." [to-buf-type A ediff-A-buffer B ediff-B-buffer to-buf from-buf-type from-buf ediff-control-buffer ctrl-buf nil reg-to-copy reg-to-delete reg-to-delete-beg reg-to-delete-end ediff-operate-on-flags remove ediff-get-diff-posn beg n end StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ((set-buffer StartBuffer)) ediff-disturbed-overlays ding "Diff regions %d are identical in buffers %S and %S. Nothing copied." ediff-test-save-region conds (byte-code "p q !q !!qƎ q? b !\"V! Vm \" Ҙm!m Vh \"m!*y!!)#)" [nil inhibit-read-only StartBuffer to-buf get-buffer buffer-name ((set-buffer StartBuffer)) buffer-read-only before-change-function reg-to-delete-end insert-before-markers reg-to-copy string-match "Lucid" emacs-version ediff-collect-extents-lucid reg-to-delete-beg kill-region "" ediff-adjust-disturbed-extents-lucid ediff-move-disturbed-overlays beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ediff-save-diff-region n to-buf-type reg-to-delete] 4) ((error (byte-code "\n@\nA##!" [message "%s %s" conds mapconcat prin1-to-string " " beep 1] 7))) insert] 6 "\ Copy diff N from FROM-BUF-TYPE (given as 'A or 'B) to TO-BUF-TYPE."]) (defalias 'ediff-save-diff-region #[(n buf-type reg) " \n\"\f A\" / & \fBC/ \fBD\nB T\f\f!$*" [assoc n ediff-killed-diffs-alist n-th-diff-saved buf-type this-buf-n-th-diff-saved reg message "Saved diff region #%d for buffer %S. To recover hit 'r%s'." symbol-name] 7 "\ Save Nth diff of buffer BUF-TYPE (`A' or `B'). That is to say, the Nth diff on the `ediff-killed-diffs-alist'. REG is the region to save. It is redundant here, but is passed anyway, for convenience."]) (defalias 'ediff-test-save-region #[(n buf-type) " \n\"\f A\"$ T\f#!ɂ%!%*" [assoc n ediff-killed-diffs-alist n-th-diff-saved buf-type this-buf-n-th-diff-saved yes-or-no-p format "You've previously copied diff region %d to buffer %S. Confirm." t error "Quit."] 6 "\ Test if saving Nth difference region of buffer BUF-TYPE is possible."]) (defalias 'ediff-pop-diff #[(n buf-type) " \n\"\f A\"\f=\f= \n\f  A8 A\fMVI T\f#M!!\f $ \f $ޏ! \" T\f#." [assoc n ediff-killed-diffs-alist n-th-record buf-type saved-rec A ediff-A-buffer B ediff-B-buffer buf nil saved-diff reg-beg reg-end recovered ediff-number-of-differences 0 error "Nothing saved for diff %d in buffer %S." "No differences found." ediff-operate-on-flags remove ediff-get-diff-posn beg ediff-control-buffer end ediff-disturbed-overlays conds (byte-code "p r !r !!rĎ q ? b !\"T! Vk \" Ҙk!k Vf \"k!+z!!)Ƈ" [StartBuffer buf get-buffer buffer-name ((set-buffer StartBuffer)) buffer-read-only nil before-change-function inhibit-read-only reg-end insert-before-markers saved-diff string-match "Lucid" emacs-version ediff-collect-extents-lucid reg-beg kill-region "" ediff-adjust-disturbed-extents-lucid ediff-move-disturbed-overlays t recovered beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 3) ((error (byte-code "\n@\nA##!" [message "%s %s" conds mapconcat prin1-to-string " " beep 1] 7))) insert delq message "Restored diff region %d in buffer %S."] 5 "\ Pop last killed Nth diff region from buffer BUF-TYPE."]) (defalias 'ediff-restore-diff #[(arg) "! \f=Ƃ\f=\"!" [arg ediff-jump-to-difference ediff-pop-diff ediff-current-difference last-command-char 97 A 98 B ediff-recenter no-rehighlight] 4 "\ Restore ARGth diff from `ediff-killed-diffs-alist'. ARG is a prefix argument. If ARG is nil, restore current-difference." "P"]) (defalias 'ediff-toggle-regexp-match #[nil " = = =& =&!ˉ =\\!\"!!\"!!\nԘO\n Ԙ  =!\"!!\"!!\nԘ\n Ԙ *" [nil regexp-B regexp-A ediff-skip-diff-region-function ediff-focus-on-regexp-matches last-command-char 102 ediff-hide-regexp-matches 104 message "Selective browsing by regexp turned off." ediff-show-all-diffs read-string format "Ignore A-regions matching this regexp (default \"%s\"): " regexp-quote ediff-regexp-hide-A "Ignore B-regions matching this regexp (default \"%s\"): " ediff-regexp-hide-B "Hide difference regions matching regexp." "" "Focus on A-regions matching this regexp (default \"%s\"): " ediff-regexp-focus-A "Focus on B-regions matching this regexp (default \"%s\"): " ediff-regexp-focus-B "Focus on difference regions matching regexp."] 5 "\ Toggle focus on difference regions that match a regexp or hide those diffs." nil]) (defalias (quote ediff-toggle-skip-similar) #[nil "? !!" [ediff-ignore-similar-regions message "Skipping over regions that differ only in white space & line breaks." "Skipping over white-space differences turned off."] 3 nil nil]) (defun ediff-show-all-diffs (n) "\ Don't skip difference regions." nil) (defalias 'ediff-focus-on-regexp-matches #[(n) "Y\nW  p \nJ\n!J\n!!J͎\nq\f$b\f$#)Q!!)p !!!ڎq\f$b\f$#)!!)-?" [n 0 ediff-number-of-differences ediff-control-buffer ctl-buf ediff-regexp-focus-A regex-A ediff-regexp-focus-B regex-B StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-get-diff-posn A beg re-search-forward end t beep 1 message "You seem to have killed an essential Ediff buffer---quit!" reg-A-match ediff-B-buffer ((set-buffer StartBuffer)) B reg-B-match] 7 "\ Focus on diffs that match regexp `ediff-regexp-focus-A/B'. Regions to be ignored according to this function are those where buf A region doesn't match `ediff-regexp-focus-A' and buf B region doesn't match `ediff-regexp-focus-B'. This function returns nil if the region number N (specified as an argument) is not to be ignored and t if region N is to be ignored. N is a region number used by Ediff internally. It is 1 less the number seen by the user."]) (defalias 'ediff-hide-regexp-matches #[(n) "Y\nW  p \nJ\n!J\n!!J͎\nq\f$b\f$#)Q!!)p !!!ڎq\f$b\f$#)!!)-" [n 0 ediff-number-of-differences ediff-control-buffer ctl-buf ediff-regexp-hide-A regex-A ediff-regexp-hide-B regex-B StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-get-diff-posn A beg re-search-forward end t beep 1 message "You seem to have killed an essential Ediff buffer---quit!" reg-A-match ediff-B-buffer ((set-buffer StartBuffer)) B reg-B-match] 7 "\ Hide diffs that match regexp `ediff-regexp-hide-A/B'. Regions to be ignored are those where buf A region matches `ediff-regexp-hide-A' and buf B region matches `ediff-regexp-hide-B'. This function returns nil if the region number N (specified as an argument) is not to be ignored and t if region N is to be ignored. N is a region number used by Ediff internally. It is 1 less the number seen by the user."]) (defalias 'ediff-quit #[nil "!!\f " [y-or-n-p "Do you really want to exit Ediff? " message "" ediff-really-quit] 3 "\ Finish an Ediff session and exit Ediff. Unselects the selected difference, if any, restores the read-only and modified flags of the compared file buffers, kills Ediff buffers for this session (but not file-A and file-B)." nil]) (defalias (quote ediff-really-quit) #[nil "! \"!\n#\n! \fϏя)!" [ediff-help-message-long ediff-help-message ediff-restore-buffer-characteristics t ediff-unhighlight-diffs-totally ediff-clear-diff-vector ediff-difference-vector fine-diffs-also ediff-temp-file-A delete-file ediff-temp-file-B ediff-control-buffer control-buffer nil (byte-code "p 7 !7 !!7Ď q \" / \" !)?!!)Ň" [StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) nil before-change-function delq control-buffer ediff-this-buffer-control-sessions ediff-block-write-file local-write-file-hooks kill-local-variable mode-line-buffer-identification beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4) ((error)) (byte-code "p 7 !7 !!7Ď q\", \"  !)?!!)ʇ" [StartBuffer ediff-B-buffer get-buffer buffer-name ((set-buffer StartBuffer)) delq control-buffer ediff-this-buffer-control-sessions ediff-block-write-file local-write-file-hooks nil before-change-function kill-local-variable mode-line-buffer-identification beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4) ((error)) run-hooks ediff-quit-hooks] 3]) (defalias 'ediff-kill-buffer-carefully #[(buf) "!!!!!" [buf get-buffer buffer-name kill-buffer] 3 "\ Kill buffer BUF if it exists."]) (byte-code "\"\"" [defalias ediff-default-quit-hook #[nil "  !!!! !\n! ΏЏ!*" [ediff-A-buffer ediff-B-buffer buff-B buff-A ediff-kill-buffer-carefully ediff-diff-buffer ediff-fine-diff-buffer ediff-tmp-buffer ediff-error-buffer ediff-control-buffer ediff-patch-diagnostics delete-other-windows nil (byte-code " \" !" [get-buffer-window buff-B t switch-to-buffer] 3) ((error)) (byte-code " \" ! !" [get-buffer-window buff-A t buff-B split-window-vertically switch-to-buffer] 3) ((error)) message ""] 3] ediff-default-suspend-hook #[nil " \n \f  \n \f  !!! !\n! !\f!." [ediff-A-buffer ediff-B-buffer ediff-patch-buf ediff-patch-diagnostics ediff-error-buffer ediff-diff-buffer ediff-fine-diff-buffer buf-fine-diff buf-diff buf-err buf-patch-diag buf-patch buf-B buf-A bury-buffer delete-other-windows] 7]] 3) (defalias 'ediff-suspend #[nil "!!\n\")" [substitute-command-keys "\\[ediff-recenter]" key run-hooks ediff-suspend-hooks message "To resume Ediff, switch to Ediff Control Panel and hit '%S'"] 3 "\ Suspend Ediff. To resume, switch to the appropriate `Ediff Control Panel' buffer and then type \\[ediff-recenter]. Ediff will automatically set up an appropriate window config." nil]) (defalias 'ediff-status-info #[nil "p\n7\n!7\n!!7Ŏ\nq+\"!3 \"!)?!!)py!y!!yЎqm\"!u \"!)!!)p\n\n!\n!!ӎ\nqe`\")!!)p!!!֎qe`\")!!)\"!\"!*W݂\nY߂\nT\"! !!#=+!_#=C!)*#!_#=[!-.#!_!!!" [" *ediff-info*" StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) buffer-file-name princ format "File A is: %s\n" "Buffer A is: %s\n" beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ediff-B-buffer ((set-buffer StartBuffer)) "File B is: %s\n" "Buffer B is: %s\n" ((set-buffer StartBuffer)) count-lines A-line ((set-buffer StartBuffer)) B-line "\nPoint position in buffer A = %d\n" "Point position in buffer B = %d\n" "\nCurrent difference number = %S\n" ediff-current-difference 0 start ediff-number-of-differences end ediff-ignore-similar-regions "\nSkipping over regions that differ only in white space & line breaks." "\nNo skipping over regions that differ in white space & line breaks." ediff-skip-diff-region-function ediff-show-all-diffs "\nSelective browsing by regexp is off.\n" ediff-hide-regexp-matches "\nIgnoring regions that match" "\n regexp `%s' in buffer A and\n regexp `%s' in buffer B\n" ediff-regexp-hide-A ediff-regexp-hide-B ediff-focus-on-regexp-matches "\nFocusing on regions that match" ediff-regexp-focus-A ediff-regexp-focus-B "\nSelective browsing via a user-defined method.\n" "\nBug fixes to: Michael Kifer \n" "Gripes to: /dev/null \n"] 6 "\ Show the names of the buffers or files being operated on by Ediff. Hit \\[ediff-recenter] to reset the windows afterward." nil]) (byte-code "\"\"\"\"\"\"\"\"\"" [defalias ediff-select-difference #[(n) "!!! ! !!\fY\fW H H\f!\f[\f\f$ \f$=\f#\f#ZV\f#\f#ZV\f\"\f\"=\f\" !" [ediff-A-buffer get-buffer buffer-name ediff-B-buffer n 0 ediff-number-of-differences ediff-remember-buffer-characteristics window-system ediff-want-faces ediff-highlight-diff face ediff-highlighting-style ascii ediff-place-flags-in-buffer A ediff-control-buffer B ediff-auto-refine on ediff-auto-refine-limit ediff-get-diff-posn end beg ediff-make-fine-diffs noforce skip off ediff-restore-buffer-characteristics run-hooks ediff-select-hooks] 6] ediff-unselect-difference #[(n) "YY\nWY \f  J=J\n##%##% \"!" [n 0 ediff-number-of-differences ediff-remember-buffer-characteristics window-system ediff-want-faces ediff-unhighlight-diff ediff-highlighting-style ascii ediff-remove-flags-from-buffer ediff-A-buffer ediff-get-diff-posn A beg end ediff-before-flag-A ediff-after-flag-A ediff-B-buffer B ediff-before-flag-B ediff-after-flag-B ediff-restore-buffer-characteristics nil ediff-set-fine-diff-properties ediff-current-difference default run-hooks ediff-unselect-hooks] 7] ediff-unselect-and-select-difference #[(n &optional flag no-recenter) "\n! !ĉ \n \f!)\n\n!\n!! ! !!p\nf\n!f\n!!fҎ\nq)n!!)p ! !!؎ q)!!)\n! !ڎ= !p\n\n!\n!!ގ\nq )!!)p  ! !! q )\f!!)=\n!\n ." [ediff-control-buffer buffer-modified-p ediff-A-buffer ediff-B-buffer nil buf-B-undo buf-A-undo buf-B-modified buf-A-modified control-buf n ediff-current-difference no-recenter ediff-recenter no-rehighlight get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) buffer-undo-list beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ((set-buffer StartBuffer)) buffer-disable-undo ((byte-code "p R !R !!RĎ q pF!F!!Fǎq !\n )N!!*Z!!)p ! !!Ў qp!!!Ҏq! )!!*!!)‡" [StartBuffer control-buf get-buffer buffer-name ((set-buffer StartBuffer)) ediff-refresh-mode-line ediff-A-buffer ((set-buffer StartBuffer)) set-buffer-modified-p buf-A-modified buf-A-undo buffer-undo-list beep 1 message "You seem to have killed an essential Ediff buffer---quit!" ((set-buffer StartBuffer)) ediff-B-buffer ((set-buffer StartBuffer)) buf-B-modified buf-B-undo] 3)) flag select-only ediff-unselect-difference ((set-buffer StartBuffer)) do-auto-save ((set-buffer StartBuffer)) unselect-only ediff-select-difference] 5] ediff-refresh-mode-line #[nil "W\f\"C#\fY\f\"C#T\f#C " [ediff-current-difference 0 format "%%b: At start of %d diffs" ediff-number-of-differences "%%b: At end of %d diffs" "%%b: diff %d of %d" mode-line-buffer-identification force-mode-line-update] 4] ediff-validate-difference #[nil "Y \nW?!" [ediff-current-difference 0 ediff-number-of-differences error "No difference selected"] 2] ediff-read-file-name #[(prompt default-dir default-file) " \f\f!!!!\f\f!  \f3\fQ4# \f\f% \"  !R\fR\f! \"  )" [file-name-as-directory abbreviate-file-name expand-file-name default-dir default-file file-name-directory default-directory file-name-nondirectory nil f read-file-name format "%s%s: " prompt " (default " ")" "" confirm file-directory-p] 8] ediff-make-temp-file #[(&optional prefix given-file) "\n \"P!ed%\f\")" [given-file make-temp-name ediff-temp-file-prefix prefix format ".%s" "buf" f write-region nil no-message set-file-modes ediff-temp-file-mode] 6] ediff-protect-metachars #[(str) "=)  #(‰O”OQ•T)" [system-type emx 0 limit string-match emerge-metachars str "\\" nil] 5] ediff-verify-file-buffer #[(&optional file-magic) "p!3 N Ƃ#!- % ̉\"\"\"!I D ̉\"\"" [verify-visited-file-modtime buffer-modified-p yes-or-no-p format "Buffer out of sync with visited file. %s file %s? " file-magic "Revert" "Save" buffer-file-name save-buffer erase-buffer revert-buffer t error "Buffer out of sync for file %s" "Buffer out of sync with visited file. Revert file %s? "] 5]] 3) (defalias 'ediff-block-write-file #[nil " !" [ediff-check-for-ascii-flags error "Type 'wa' and 'wb' in Ediff Control Panel to save buffs A/B."] 2 "\ Prevent writing files A and B directly."]) (defalias (quote ediff-check-for-ascii-flags) #[nil "\f\"B!" [eval or mapcar #[(buf) ":!:!!:p2!2!!2Ďq )=9!!)" [buf get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-highlighting-style ascii beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 3] ediff-this-buffer-control-sessions] 5]) (defalias 'ediff-insert-in-front #[(overl beg end) " \"\f B" [ediff-overlay-get overl ediff-diff-num ediff-disturbed-overlays] 3 "\ Capture overlays that had insertions in the front. Called when overlay OVERL gets insertion in front."]) (defalias 'ediff-collect-extents-lucid #[(pos) "\f $ \nB\n*" [nil elt lis extent-at pos ediff-diff-num ediff-disturbed-overlays] 5 "\ Collects all extents at POS having property `ediff-diff-num'. Lucid Emacs causes headache by detaching empty extents, so I have to save them before they disappear."]) (byte-code "\"\"" [defalias ediff-move-disturbed-overlays #[(posn) "\n\"É" [mapcar #[(overl) " \n !#" [ediff-move-overlay overl posn ediff-overlay-end] 5] ediff-disturbed-overlays nil] 3] ediff-adjust-disturbed-extents-lucid #[(posn &optional posn-type) "\n\"É" [mapcar #[(overl) "\n!\n!\n #5\n=$ '\n!=1 4\n!#" [posn-type ediff-overlay-start overl ediff-overlay-end ediff-move-overlay posn new-start new-end] 5] ediff-disturbed-overlays nil] 3]] 3) (defalias 'ediff-save-buffer #[nil " \"Ŏp= 5=$ 5=!!=E b=Q b=b!!!=t = =!!!!Ԏ= = =!!q \" *!!+" [local-write-file-hooks hooks ediff-unselect-and-select-difference ediff-current-difference unselect-only ((byte-code " \"" [ediff-unselect-and-select-difference ediff-current-difference select-only] 3)) StartBuffer last-command-char 97 ediff-A-buffer 98 ediff-B-buffer 102 message "Saving diff output ..." sit-for 1 ediff-diff-buffer get-buffer buffer-name ((set-buffer StartBuffer)) delq ediff-block-write-file save-buffer beep "You seem to have killed an essential Ediff buffer---quit!"] 5 "\ Safe way of saving buffers A, B, and the diff output. `wa' saves buffer A, `wb' saves buffer B, and `wf' saves the diff output." nil]) (byte-code "\"\"\"" [defalias ediff-remove-flags-from-buffer #[(buffer before-posn after-posn before-flag after-flag) "p ! !!Ď qʼnGG \n \f b \nZb\"J`\n\\!!!]``\n\\|d !\"p`!\"|`!b!!`` \\| !\"`!ʼn.!!)" [StartBuffer buffer get-buffer buffer-name ((set-buffer StartBuffer)) nil t before-flag after-flag after-flag-length before-flag-length inhibit-read-only before-change-function buffer-read-only after-posn point-marker before-posn string-match "Lucid" emacs-version ediff-collect-extents-lucid looking-at regexp-quote ding message "Trouble removing ASCII flag" ediff-adjust-disturbed-extents-lucid beep 1 "You seem to have killed an essential Ediff buffer---quit!"] 5] ediff-place-flags-in-buffer #[(buf-type buffer ctl-buffer difference) "p % !% !!%Ď q#),!!)" [StartBuffer buffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-place-flags-in-buffer1 buf-type ctl-buffer difference beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4] ediff-place-flags-in-buffer1 #[(buf-type ctl-buffer difference) "\n= Ă\n=Ƃ \n \f \n$bn pm!m!!m׎q d Li L)t!!) \"`!! \"`\")\n$&bn p!!!q \n(L\n)L)!!) \"`!c \"&\"." [nil t buf-type A ediff-before-flag-A ediff-before-flag-B ediff-after-flag-A ediff-after-flag-B flag beg-of-line after-flag-name before-flag-name before-change-function inhibit-read-only buffer-read-only ediff-get-diff-posn beg difference ctl-buffer before StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-before-flag-bol ediff-before-flag-mol beep 1 message "You seem to have killed an essential Ediff buffer---quit!" string-match "Lucid" emacs-version ediff-collect-extents-lucid insert-before-markers ediff-adjust-disturbed-extents-lucid new-start end after ((set-buffer StartBuffer)) ediff-after-flag-bol ediff-after-flag-mol new-end] 8]] 3) (defalias 'ediff-get-diff-posn #[(buf-type pos &optional n control-buf) "\npp\nn\n!n\n!!nƎ\nq*W9\nYP\nVLT\n#P!H=`ɂh=hH)v!!) \" \" \"#= ! !)" [nil diff-overlay control-buf StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) n ediff-current-difference 0 ediff-number-of-differences error "There is no diff %d. Valid diffs are 1 to %d." "No differences found." ediff-difference-vector buf-type A B 1 beep message "You seem to have killed an essential Ediff buffer---quit!" ediff-overlay-get detached ediff-move-overlay ediff-marker pos beg ediff-overlay-start ediff-overlay-end] 6 "\ Returns positions of difference sectors in the BUF-TYPE buffer. BUF-TYPE should be a symbol--either `A' or `B'. POS is either `beg' or `end'--it specifies whether you want the position at the beginning of a difference or at the end. The optional argument N says which difference (default: `ediff-current-difference'). The optional argument CONTROL-BUF says which control buffer is in effect in case it is not the current buffer."]) (defalias 'ediff-highlight-diff #[(n) "p  ! !!Ď qd)%!!) p\nJ\n!J\n!!Jˎ\nqd)Q!!)\f##pƂq \\^##Ƃ\f\\^\" #!#  $!\n$ #!#  ##!\n##!$'$)\"*\",\".\"0HH#0HH#.\n" [StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) beep 1 message "You seem to have killed an essential Ediff buffer---quit!" last-A ediff-B-buffer ((set-buffer StartBuffer)) last-B ediff-get-diff-posn A beg n begin-A end end-A 0 xtraA end-A-hilit B begin-B end-B xtraB end-B-hilit string-match "Lucid" emacs-version ediff-move-overlay ediff-current-diff-overlay-A ediff-current-diff-overlay-B ediff-overlay-put priority ediff-highest-priority face-differs-from-default-p ediff-odd-diff-face-A-var ediff-highlight-all-diffs copy-face ediff-odd-diff-face-A ediff-odd-diff-face-B ediff-odd-diff-face-B-var ediff-even-diff-face-A ediff-even-diff-face-A-var ediff-even-diff-face-B ediff-even-diff-face-B-var ediff-difference-vector face nil] 7 "\ Put face on diff N. Invoked for X displays only."]) (defalias 'ediff-unhighlight-diff #[nil " ‰# ‰# HH\"=\"ʂ## HH\"=;̂<#" [ediff-move-overlay ediff-current-diff-overlay-A 1 ediff-current-diff-overlay-B ediff-overlay-put ediff-difference-vector ediff-current-difference 0 face logand ediff-odd-diff-face-A-var ediff-even-diff-face-A-var ediff-odd-diff-face-B-var ediff-even-diff-face-B-var] 6 "\ Remove overlays from buffers A and B."]) (byte-code "\"\"" [defalias ediff-unhighlight-diffs-totally #[nil "!\fK K!+\"\"\"\"!7!!F!)" [nil buffer-read-only ediff-unselect-and-select-difference -1 window-system ediff-want-faces t inhibit-quit face-differs-from-default-p ediff-odd-diff-face-A-var copy-face default ediff-odd-diff-face-B-var ediff-even-diff-face-A-var ediff-even-diff-face-B-var ediff-overlayp ediff-current-diff-overlay-A ediff-delete-overlay ediff-current-diff-overlay-B] 3] ediff-clear-diff-vector #[(vec &optional fin-diffs-also) "\n\"É" [mapcar #[(elt) " H! H!\f H!" [ediff-delete-overlay elt 0 1 fin-diffs-also ediff-clear-diff-vector 2] 3] vec nil] 3]] 3) (defalias 'ediff-operate-on-flags #[(action) "p  ! !!Ď q )%!!)\np J !J !!J̎ q )Q!!) \n \"=g҂h\"," [StartBuffer ediff-A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-this-buffer-control-sessions beep 1 message "You seem to have killed an essential Ediff buffer---quit!" A-sessions ediff-B-buffer ((set-buffer StartBuffer)) B-sessions ediff-union sessions action remove unselect-only select-only flag mapcar #[(buf) "p 9 !9 !!9Ď q =&>+=?5 \f#)@!!)" [StartBuffer buf get-buffer buffer-name ((set-buffer StartBuffer)) action insert ediff-highlighting-style (ascii off) ascii ediff-unselect-and-select-difference ediff-current-difference flag no-recenter beep 1 message "You seem to have killed an essential Ediff buffer---quit!"] 4]] 3 "\ Re/unhighlights buffers A and B with all flags from all Ediff sessions. This is usually needed only when a buffer is involved in multiple Ediff sessions."]) (defalias 'ediff-forward-word #[nil "wV wV" [ediff-word-1 nil 0 ediff-word-2] 2 "\ Move point one word forward. Used for splitting diff regions into words. This is the default for `ediff-forward-word-function'."]) (byte-code "\"\"\"\"\"" [defalias ediff-wordify #[(beg end in-buffer out-buffer) " q\f {q cebwe`|m?< `w\n`|c\"+" [nil string sv-point in-buffer beg end out-buffer erase-buffer ediff-whitespace ediff-forward-word-function "\n"] 2] ediff-make-fine-diffs #[(&optional n flag) " \nW!W2\nY2 \n =4 HH. =W HH.=.T!#. HH!!##$p !!!q\n\"\n)!!)##)$p !!!q \" )!!)\n  H\n ./0&I HHG=&T\" HI. HI!*" [n ediff-current-difference ediff-number-of-differences 1 error "No differences found." 0 ediff-temp-file-A ediff-temp-file-B file-B file-A flag noforce ediff-difference-vector 2 skip ediff-auto-refine off message "Region %d is larger than auto-refine limit. Hit %S to force-refine." substitute-command-keys "\\[ediff-make-fine-diffs]" ediff-clear-diff-vector get-buffer-create "*ediff-tmp*" ediff-tmp-buffer ediff-wordify ediff-get-diff-posn A beg end ediff-A-buffer StartBuffer get-buffer buffer-name ((set-buffer StartBuffer)) ediff-make-temp-file ".fine-diffs-A" beep "You seem to have killed an essential Ediff buffer---quit!" B ediff-B-buffer ((set-buffer StartBuffer)) ".fine-diffs-B" ediff-setup-diff-regions use-old-diff-buf ediff-fine-diff-program ediff-fine-diff-options ediff-fine-diff-ok-lines-regexp "No diffs found in region %d, except for white space and line breaks." 3 t nil ediff-set-fine-diff-properties] 10 nil nil] ediff-set-fine-diff-properties #[(n &optional default) "?l Wl Yl\f HHƂ*!H)3Ƃ> !H)G‚M \"TV‚\\\"T\"-" [window-system n 0 ediff-number-of-differences ediff-difference-vector 2 default ediff-fine-diff-face-A face internal-get-face 1 ediff-fine-diff-face-B ediff-overlay-get ediff-current-diff-overlay-A priority ediff-current-diff-overlay-B priority-B priority-A face-B face-A fine-diff-vector mapcar #[(vec) " H\f# H# H# H #" [ediff-overlay-put vec 0 face face-A priority priority-A 1 face-B priority-B] 4]] 7] ediff-convert-diffs-to-overlays-refine #[(A-buffer B-buffer diff-list refine-region) " # #\n \f pN!N!!N֎qb)V!!)p}!}!!}܎qb)!!) T@ H\f H  H H\fT\" ##T\"##\n\"C\nA\n\". " [-1 current-diff ediff-get-diff-posn A beg refine-region reg-A-start B reg-B-start nil diff-overlay-list list-element a-begin a-end b-begin b-end a-overlay b-overlay StartBuffer A-buffer get-buffer buffer-name ((set-buffer StartBuffer)) beep 1 message "You seem to have killed an essential Ediff buffer---quit!" B-buffer ((set-buffer StartBuffer)) diff-list 0 2 3 ediff-make-overlay ediff-goto-word end vector apply] 7] ediff-goto-word #[(n buf &optional flag) "p J !J !!JĎ q wV5 wS\nEVE `)Q!!)" [StartBuffer buf get-buffer buffer-name ((set-buffer StartBuffer)) ediff-whitespace nil n 1 ediff-forward-word-function flag 0 beep message "You seem to have killed an essential Ediff buffer---quit!"] 4]] 3) (defalias 'ediff-union #[(list1 list2) " \f G GY  7 @>0 @B A$" [list1 list2] 3 "\ Combine LIST1 and LIST2 using a set-union operation. The result list contains all items that appear in either LIST1 or LIST2. This is a non-destructive function; it makes a copy of the data if necessary to avoid corrupting the original LIST1 and LIST2. This is a slightly simplified version from `cl-seq.el'. Added here to avoid loading cl-*."]) (byte-code "!!" [run-hooks ediff-load-hooks provide ediff] 2)