;ELC ;;; compiled by jwz@thalidomide on Tue Apr 5 00:52:44 1994 ;;; from file /th/jwz/emacs19/lisp/packages/ediff.el ;;; emacs version 19.10 Lucid (beta11). ;;; bytecomp version 2.23; 22-dec-93. ;;; 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 "This file was compiled for Emacs 19.")) (byte-code "!MMM" [require emerge ediff-if-lucid (macro . #[nil "" [(string-match "Lucid" emacs-version)] 1]) ediff-odd-p (macro . #[(arg) "\nEE" [eq logand arg 1] 4]) ediff-buffer-live-p (macro . #[(buf) " D DDF" [and buf get-buffer buffer-name] 6])] 2) (fset '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'' ``vc-ediff'' ``rcs-ediff'' or through a non-interactive Emacs Lisp function ``ediff-files-remote'' Commands: \\{ediff-mode-map}" nil]) (defvar ediff-version "1.3" "\ The current version of Ediff.") (fset 'ediff-version #[nil "t \"\n" [message "Ediff version %s" ediff-version] 3 "\ Return string describing the version of Ediff. When called interactively, displays the version." 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 'ediff-default-suspend-hook "\ * Hooks to run in the Ediff control buffer each time Ediff is suspended.") (defvar ediff-quit-hooks 'ediff-default-quit-hook "\ * Hooks to run in the Ediff control buffer after the ediff has been finished.") (byte-code "!!" [make-variable-buffer-local local-write-file-hooks before-change-function "p,DEL - prev diff c - recenter ab - diff A to B l - line numbers\nn,SPC - next diff v/V - scroll up/dn ba - diff B to A f - file names\n j,g - jump to diff - scroll lt/rt ra - restore A z - suspend Ediff\n h - toggle hilit s - toggle split rb - restore B q - quit Ediff\nwa/wb - save buf A/B A/B - toggle read-only buf A/B ? - toggle help" 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 which compares two files.") (defvar ediff-diff-options "" "\ * Options to pass to ``ediff-diff-program''.") (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 "sh" "\ * The shell used to run diff(1) and patch(1). 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-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(1) 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 emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-before-flag "vvvvvvvvvvvvvvvv---- ediff ----vvvvvvvvvvvvvvv\n" "\ *Flag placed above the highlighted block of differences. Must end with newline. Must be set before Ediff is loaded. If set to nil, the flags from emerge.el are used.") (defvar ediff-after-flag "^^^^^^^^^^^^^^^^---- ediff ----^^^^^^^^^^^^^^^\n" "\ *Flag placed below the highlighted block of differences. Must end with newline. Must be set before Ediff is loaded. If set to nil, the flags from emerge.el are used.") (defvar ediff-before-flag-length nil "\ ") (defvar ediff-before-flag-lines nil "\ ") (defvar ediff-before-flag-match nil "\ ") (defvar ediff-after-flag-length nil "\ ") (defvar ediff-after-flag-lines nil "\ ") (defvar ediff-after-flag-match nil "\ ") (defvar ediff-highlighting-style nil "\ A var local to each ediff-control 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 emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-want-faces t "\ If t, differences will be highlighted using faces on a window system. If nil, they will be highlighted using ASCII flags, ediff-before-flag and ediff-after-flag. On a non-window system, differences are always highlighted using ASCII flags. This is not a user option. Can be set either in .emacs or toggled interactively, using ediff-toggle-hilit.") (byte-code "! Ī#" [make-variable-buffer-local ediff-want-faces put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-A-buffer nil "\ The buffer in which the A variant is stored.") (byte-code "! Ī#" [make-variable-buffer-local ediff-A-buffer put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-B-buffer nil "\ The buffer in which the B variant is stored.") (byte-code "! Ī#" [make-variable-buffer-local ediff-B-buffer put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-control-buffer nil "\ The control buffer of ediff. ") (byte-code "! Ī#" [make-variable-buffer-local ediff-control-buffer put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-control-buffer-suffix nil "\ The suffix of the control buffer name. ") (byte-code "! Ī#" [make-variable-buffer-local ediff-control-buffer-suffix put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-control-window nil "\ The control window.") (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 emerge-lucid-p permanent-local preserved t] 4) (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 emerge-lucid-p permanent-local preserved t] 4) (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 emerge-lucid-p permanent-local preserved t] 4) (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 emerge-lucid-p permanent-local preserved t] 4) (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 councide. ") (byte-code "! Ī#" [make-variable-buffer-local ediff-difference-vector put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-current-difference -1 "\ The difference that is currently selected.") (byte-code "! Ī#" [make-variable-buffer-local ediff-current-difference put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-number-of-differences nil "\ Number of differences found.") (byte-code "! Ī#" [make-variable-buffer-local ediff-number-of-differences put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-diff-buffer nil "\ Buffer containing the output of diff(1), which is used by Ediff to step through files.") (byte-code "! Ī#" [make-variable-buffer-local ediff-diff-buffer put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-diff-error-buffer nil "\ Buffer containing the output of diff(1) when diff returns errors.") (byte-code "! Ī#" [make-variable-buffer-local ediff-diff-error-buffer put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-this-buffer-control-sessions nil "\ Keeps the list of ediff-control buffers associated with each buffer A/B involved in an ediff session.") (byte-code "! Ī#" [make-variable-buffer-local ediff-this-buffer-control-sessions put emerge-lucid-p permanent-local preserved t] 4) (defvar ediff-disturbed-overlays nil "\ A list of difference overlays that were disturbed by copying or recovery of the current diff.") (defvar ediff-shaded-overlay-priority (byte-code "\n\" Tć" [string-match "Lucid" emacs-version mouse-highlight-priority 100] 3) "\ Priority of non-selected overlays.") (byte-code "\n\"KMKMKMKMKMKMKMKMKMKMKMKMKMKMKMKM\n\"KMKMKMKMKMKMKMKMMKMMM !! \"\"\n\"\"\"!/#!! \"\"\n\"\"\"!;#!! @\"\n\"\"A!B!!?C#D!D! DE\"DF\"\n\"D\"BD!D!DDG#H!H! HE\"HF\"\n\"H\"BH!H!HHI#J!J! JK\"J@\"\n\"J\"AJ!BJ!J!JJL#M!N!O!P!Q?RM\"QDRN\"QHRO\"QJRP\"S!TSSU#VS!SWXYZ#[!T[[\\#V[![WXYZ#]M^_MT" [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-get-face get-face window-frame select-frame x-display-color-p internal-get-face #[(wind) "" [wind 1] 1] identity ediff-make-current-diff-overlay (lambda (type)) ediff-unhighlight-diffs-totally (lambda nil) boundp ediff-current-diff-face-A make-face set-face-foreground "firebrick" set-face-background "pale green" copy-face modeline highlight put variable-documentation "Face for highlighting the currently selected difference in buffer A of\nthe Ediff display" ediff-current-diff-face-B "DarkOrchid" "Yellow" "Face for highlighting the currently selected difference in buffer B of\nthe Ediff display" ediff-even-diff-face-A "light grey" invert-face make-face-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 "Black" "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-want-faces default ediff-current-diff-overlay-A nil "Overlay in buffer A." make-variable-buffer-local emerge-lucid-p permanent-local preserved t ediff-current-diff-overlay-B "Overlay in buffer B." #[(type) "=ª= =!! \n dd\n#L ! # !#+" [type A ediff-current-diff-overlay-A ediff-current-diff-overlay-B ediff-A-buffer ediff-B-buffer face-name ediff-current-diff-face-A ediff-current-diff-face-B face buffer overlay ediff-make-overlay ediff-overlay-put eval ediff ediff-control-buffer] 6] ediff-highest-priority #[(start end buffer) " S]\"\\p\nˎ q d T^W ! \" !j \"B!T**" [1 start nil ovr-list pos string-match "Lucid" emacs-version mouse-highlight-priority 2 StartBuffer ((set-buffer StartBuffer)) buffer end append overlays-at next-overlay-change eval \+ mapcar #[(ovr) "\"ÇÇ" [ovr ediff-overlay-get priority 0] 3]] 6]] 4) (defvar ediff-split-window-function 'split-window-vertically "\ * The function to be called to divide the main window between buffer-A and buffer-B. You can set it to be split horizontally instead of the default verstical 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 '(buffer-read-only buffer-auto-save-file-name) "\ Variables and properties of a buffer which are saved, modified and restored during an Ediff session.") (defconst ediff-working-values '(nil nil) "\ Values to be assigned to ediff-saved-variables during diff.") (defvar ediff-use-last-dir nil "\ * If t, Ediff will use last directory it had seen as a default directory when prompting for file names.") (defvar ediff-nix-help-in-control-buffer nil "\ *Don't want C-h to invoke Emacs help. Instead, C-h will jump to previous difference.") (defvar ediff-temp-file-prefix (byte-code "! GV ƉGSHU O P*" [getenv "TMPDIR" 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-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-mode-map nil "\ Local keymap used in Ediff mode.") (fset 'ediff-setup-keymap #[nil "  ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # M" [make-sparse-keymap ediff-mode-map suppress-keymap define-key "p" ediff-previous-difference "" "" ediff-nix-help-in-control-buffer "n" ediff-next-difference " " "j" ediff-jump-to-difference "g" "q" ediff-quit "z" ediff-suspend "c" ediff-recenter "s" ediff-toggle-split "h" ediff-toggle-hilit "v" ediff-scroll-up "" "^" ediff-scroll-down "" "V" "<" ediff-scroll-left ">" ediff-scroll-right "f" ediff-file-names "l" ediff-line-numbers "?" ediff-toggle-help "a" nil "ab" ediff-diff-to-diff "b" "ba" "r" "ra" ediff-restore-diff "rb" "o" "A" ediff-toggle-read-only "B" "w" "wa" ediff-save-buffer "wb" "k" "kkk" ediff-reload-keymap] 4 "\ Set up the keymap used in the control buffer of Ediff."]) (fset 'ediff-find-file #[(file buffer &optional last-dir) " ! \" !L !!Lp ʎ !q~ ! DEB ," [file-readable-p file error "File `%s' does not exist or is not readable" buffer find-file-noselect last-dir expand-file-name file-name-directory StartBuffer ((set-buffer StartBuffer)) eval file-local-copy nil startup-hooks temp lambda delete-file emerge-verify-file-buffer] 5 "\ Visits FILE for ediff. BUFFER is a variable symbol that is supposed to get the buffer into which FILE is read. LAST-DIR is the directory variable symbol where FILE's dir name should be returned. Arguments: (file 'buffer &optional 'last-dir)"]) (fset 'ediff-files-internal #[(file-A file-B &optional startup-hooks) " \"! #\n\"!\n#\n \n%*" [nil buffer-B buffer-A message "Ediff: Reading file %s ... " file-A sit-for 0.5 ediff-find-file ediff-last-dir-A file-B 0.5 ediff-last-dir-B ediff-setup startup-hooks] 6]) (fset 'ediff-get-patch-buffer #[(dir) "!#! \"!p ͎q!*!p ӎ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 ((set-buffer StartBuffer)) toggle-read-only 1 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 "MMM" [ediff-setup #[(buffer-A file-A buffer-B file-B startup-hooks) " !\n!\"pȎ q!* p̎ q   \"֔֕O! \n\"G !!!  $pq!\"- .> .B.0*pq!\"- .> .B.0*p q\"ډ." [expand-file-name file-A file-B emerge-unique-buffer-name "*ediff-control" "*" control-buffer-name StartBuffer ((set-buffer StartBuffer)) buffer-A get-buffer-create control-buffer ((set-buffer StartBuffer)) ediff-mode nil buffer-read-only ediff-A-buffer buffer-B ediff-B-buffer ediff-control-buffer string-match "<[0-9]*>" 0 "<1>" ediff-control-buffer-suffix ediff-remember-buffer-characteristics t ediff-set-keys ediff-make-diff-list ediff-difference-vector ediff-number-of-differences -1 ediff-current-difference ediff-make-current-diff-overlay A B run-hooks ediff-before-setup-windows-hooks ediff-setup-windows ((set-buffer StartBuffer)) ediff-prepare-buffer-hooks add-hook local-write-file-hooks ediff-block-write-file ediff-before-change-guard before-change-function ediff-this-buffer-control-sessions ("A: %b") mode-line-buffer-identification ((set-buffer StartBuffer)) ("B: %b") ((set-buffer StartBuffer)) startup-hooks ediff-startup-hooks] 6] ediff-make-diff-list #[(file-A file-B) "\"!pƎ q !ʉ  !!!!%\",!!!  ##" [get-buffer-create emerge-unique-buffer-name "*ediff-diff" "*" ediff-diff-buffer StartBuffer ((set-buffer StartBuffer)) erase-buffer ediff-kill-buffer-carefully "*Shell Command Output*" nil ediff-shell shell-command-file message "Ediff: Computing differences ..." sit-for 0.5 shell-command format "%s %s %s %s" ediff-diff-program ediff-diff-options emerge-protect-metachars file-A file-B t ediff-prepare-error-list ediff-diff-ok-lines-regexp "Ediff: Computing differences ... Done." 0.5 ediff-convert-diffs-to-overlays ediff-A-buffer ediff-B-buffer ediff-extract-diffs] 8] ediff-prepare-error-list #[(ok-regexp) "\"!pȎq ! !+" [ediff-diff-buffer diff-buff get-buffer-create emerge-unique-buffer-name "*ediff-diff-errors" "*" ediff-diff-error-buffer StartBuffer ((set-buffer StartBuffer)) erase-buffer insert-buffer delete-matching-lines ok-regexp] 4]] 2) (fset 'ediff-patch-file #[(file-to-patch &optional startup-hooks) "\n!!\n!pƎ q !\n !#! !!* !)pЎqΉ!!ed\n!$$!!,!!#B#\n\"\n##!!\"" [ediff-get-patch-buffer file-name-directory file-to-patch get-file-buffer buf StartBuffer ((set-buffer StartBuffer)) buffer-modified-p y-or-n-p format "File '%s' is already in buffer %s. Save before killing? " buffer-name save-buffer set-buffer-modified-p nil ediff-kill-buffer-carefully ((set-buffer StartBuffer)) ediff-patch-diagnostics ediff-shell shell-command-file message "Ediff: Applying patch ... " sit-for 0.5 shell-command-on-region "%s %s %s" ediff-patch-program ediff-patch-options expand-file-name t "Ediff: Applying patch ... Done." 0.5 switch-to-buffer 0 ediff-toggle-read-only-A startup-hooks ediff-files "%s.orig" bury-buffer "Patch diagnostics available in buffer %s."] 10 "\ Run Ediff by patching FILE-TP-PATCH." "fFile to patch: "]) (defalias 'epatch 'ediff-patch-file) (fset 'ediff-files #[(file-A file-B &optional startup-hooks) " \n #" [ediff-files-internal file-A file-B startup-hooks] 4 "\ Run Ediff on a pair files, FILE-A and FILE-B." (byte-code " $  $)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] 6)]) (defalias 'ediff 'ediff-files) (fset 'ediff-buffers #[(buffer-A buffer-B &optional startup-hooks) "pĎ q !\"!ed\n%*p͎q !\"!ed %* !\n! \nD DFB%*" [nil ediff-file-B ediff-file-A StartBuffer ((set-buffer StartBuffer)) buffer-A ediff-make-temp-file format ".%s." file-name-nondirectory buffer-name write-region no-message ((set-buffer StartBuffer)) buffer-B ediff-setup get-buffer lambda delete-file startup-hooks] 10 "\ Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B." "bBuffer A to compare: \nbBuffer B to compare: "]) (fset 'ediff-patch-buffer #[(buffer-name &optional startup-hooks) " !\n! \" \"*" [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: "]) (fset 'vc-ediff #[(rev) "!!!#!p !\"*" [featurep vc locate-library "vc" require vc-hooks define-key vc-prefix-map "=" vc-ediff error "The VC package is apparently not installed." vc-version-other-window rev oldvers newvers 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. Note: this function will work starting with GNU Emacs 19.22." "sVersion to ediff with (default is the latest version): "]) (fset 'rcs-ediff-view-revision #[(&optional rev) "p! PC\" ! R\n! !\n \n\"!q D#&*!\n+" [buffer-file-name filename append ("-p") rev "-r" switches file-name-nondirectory ".~" "~" buff message "Working..." expand-file-name rcs-get-output-buffer output-buffer delete-windows-on apply call-process "co" nil t rcs-default-co-switches "-q" ""] 12 "\ View previous RCS revison of current file. With prefix argument, prompts for a revision name." (byte-code "!C" [current-prefix-arg read-string "Revision: "] 2)]) (fset 'rcs-ediff #[(&optional rev) "!!!\"!p !    \"*" [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 revison. With prefix argument, prompts for revision name." (byte-code "!C" [current-prefix-arg read-string "Revision: "] 2)]) (fset 'ediff-files-remote #[(file-a file-b) " \n#\"" [ediff-files-internal file-a file-b nil throw client-wait] 4 "\ Run Ediff on remote files, FILE-A and FILE-B."]) (fset 'ediff-remote-exit #[(exit-func) " " [ediff-really-quit exit-func] 1 "\ Exit remote Ediff session."]) (byte-code "MMM" [ediff-select-lowest-window #[nil "  AAA@    !AAA@\n \nW\n  !  = !*M," [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) " =! !  \np $\n p $ p Ύq *U?!!\")" [selected-window minibuffer-window other-window 1 delete-other-windows switch-to-buffer control-buffer ediff-refresh-mode-line ediff-arrange-buffer buffer-A buffer-B pos ediff-setup-control-window StartBuffer ((set-buffer StartBuffer)) ediff-diff-error-buffer buffer-size 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) " \" \"\" ! !\n!  \n=  = \n =\n! !   !  ! ! !  !! ! !!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]] 2) (fset 'ediff-setup-control-window #[nil " c ebw" [erase-buffer ediff-help-message shrink-window-if-larger-than-buffer selected-window ediff-control-window " \n" nil] 2 "\ Set up window for control buffer."]) (fset 'ediff-set-keys #[nil " !" [ediff-mode-map ediff-setup-keymap use-local-map] 2 "\ Set up Ediff keymap, if necessary."]) (fset 'ediff-reload-keymap #[nil " " [nil ediff-mode-map ediff-set-keys] 1 nil nil]) (fset 'ediff-before-change-guard #[(start end) "‹)" [nil notify ((byte-code "\n\" !" [mapcar #[(buf) "!!!pĎq =#ˉ *" [buf get-buffer buffer-name StartBuffer ((set-buffer StartBuffer)) ediff-highlighting-style ascii ediff-unselect-and-select-difference ediff-current-difference unselect-only no-recenter t notify] 4] ediff-this-buffer-control-sessions notify error "ASCII flags removed. You can edit now. Hit 'c' to rehighlight."] 3))] 1 "\ If buffer is highlighted with ASCII flags, remove highlighting before changing buf. Arguments, START and END are not used, but are provided because this is required by ``before-change-function''."]) (fset 'ediff-remember-buffer-characteristics #[(&optional arg) "pĎ q! \"*Lʪp̎ q! \"*L" [arg ediff-A-buffer-values-setup ediff-A-buffer-values StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer emerge-save-variables ediff-saved-variables emerge-restore-variables ediff-working-values ediff-B-buffer-values-setup ediff-B-buffer-values ((set-buffer StartBuffer)) ediff-B-buffer] 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''."]) (fset 'ediff-restore-buffer-characteristics #[(&optional arg) " \n pȎ q \"*p̎ q \"," [arg ediff-A-buffer-values-setup ediff-A-buffer-values ediff-B-buffer-values-setup ediff-B-buffer-values B-values A-values StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer emerge-restore-variables ediff-saved-variables ((set-buffer StartBuffer)) ediff-B-buffer] 3 "\ Restores properties saved by ``ediff-remember-buffer-characteristics''."]) (byte-code "MM" [ediff-extract-diffs #[(diff-buffer A-buffer B-buffer) "pƎqeb*pȎ qeb*pʎ qeb #{!єѕ{!*ՔՕ{הו{!ٕٔ{!*ߘTTTTTTpq Zy`Zy`*p q\nZy`Zy`* $C. )* +" [nil 1 b-prev a-prev diff-list StartBuffer ((set-buffer StartBuffer)) A-buffer ((set-buffer StartBuffer)) B-buffer ((set-buffer StartBuffer)) diff-buffer 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] 7] ediff-convert-diffs-to-overlays #[(A-buffer B-buffer diff-list) "\nG  \n   \n T\n@H H\nH H  \n#  # # # # \"=ު#   ## ## # \"=⪁#&\"  #   # ## \"C\nA # T #\".. " [-1 current-diff diff-list total-diffs ediff-control-buffer-suffix control-buffer-suffix 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) ediff-ctl-buf 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 "Ediff: Processing diff region %d of %d" apply ediff-difference-vector] 7]] 2) (fset 'ediff-recenter #[(&optional no-rehighlight) " #)Y W \n   =S=S\n\" \"!!$Z$\\$T#!$Z$\\$T# !." [nil ediff-disturbed-overlays buffer-read-only ediff-setup-windows ediff-A-buffer ediff-B-buffer 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-length before-flag-shift ediff-after-flag-length after-flag-shift 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]) (fset 'ediff-toggle-split #[nil " \" \" ! != =˪ !!," [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 "Buffers A and B are residing in different frames. Why split?" ediff-recenter no-rehighlight] 3 "\ Toggle vertical/horizontal window split. Does nothing if file-A and file-B are in different frames." nil]) (fset 'ediff-toggle-hilit #[nil " =!\"\"\"\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 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] 4 "\ Switch between highlighting using ASCII flags and highlighting using faces. On a dumb terminal, switches between ASCII highlighting and no highlighting." nil]) (fset 'ediff-toggle-help #[nil "  )!" [nil buffer-read-only erase-buffer ediff-help-message ediff-help-message-long ediff-help-message-short ediff-recenter no-rehighlight] 2 "\ Toggle short/long help message." nil]) (fset '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."]) (fset 'ediff-toggle-read-only #[nil "p\n= q?*" [StartBuffer ((set-buffer StartBuffer)) last-command-char 65 ediff-A-buffer ediff-B-buffer buffer-read-only] 2 "\ Toggles buffer-read-only for buffer buffers A and B." nil]) (fset 'ediff-operate-on-windows #[(operation arg) "\n  \" \" !͏  !Ϗ !-" [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]) (fset 'ediff-scroll-up #[(&optional arg) "\n\nÚ\n!\" \"\n \n !\n!^ZZ \n ѥ +\"" [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"]) (fset 'ediff-scroll-down #[(&optional arg) "\n\nÚ\n!\" \"\n \n !\n!^ZZ \n ѥ +\"" [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"]) (fset '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"]) (fset '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"]) (fset 'ediff-position-region #[(beg end pos) " \n\" ! !`VTo\nb !SZTʥ!) b" [set-window-start selected-window beg pos-visible-in-window-p end 0 lines move-to-window-line recenter window-height 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."]) (fset 'ediff-next-difference #[(arg) " W \n\n\\^!*!" [ediff-current-difference ediff-number-of-differences arg 1 nil buffer-read-only n ediff-unselect-and-select-difference error "At end of the difference list."] 3 "\ Advance to the next difference. With a prefix argument, go back that many differences." "P"]) (fset 'ediff-previous-difference #[(arg) "V\n\nZ]!*!" [ediff-current-difference -1 arg 1 nil buffer-read-only n ediff-unselect-and-select-difference error "At beginning of the difference list."] 3 "\ Go to the previous difference. With a prefix argument, go back that many differences." "P"]) (fset 'ediff-jump-to-difference #[(difference-number) "\nSY\n TW\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"]) (fset 'ediff-diff-to-diff #[(arg) "! =ƪ\"!" [arg ediff-jump-to-difference ediff-copy-diff ediff-current-difference last-command-char 97 B A ediff-recenter no-rehighlight] 4 "\ 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"]) (fset 'ediff-copy-diff #[(n buf-type) "=\n = \n=ƪ    ! $  $p֎ q $ ${* p׎ q {*   T\"\"ߏ!." [buf-type A ediff-B-buffer ediff-A-buffer other-buf buf B other-buf-type 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 ((set-buffer StartBuffer)) ((set-buffer StartBuffer)) ediff-disturbed-overlays ding message "Diff regions %d are identical in buffers A and B. Nothing copied." ediff-test-save-region conds (byte-code "pÎ q ?b ! \"!V\" И!V\"!+#)" [nil inhibit-read-only StartBuffer ((set-buffer StartBuffer)) other-buf 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 ediff-save-diff-region n other-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 BUF-TYPE (given as 'A or 'B)."]) (fset 'ediff-save-diff-region #[(n buf-type reg) " \n\" A\"  BC BD\nB T =ʪ$*" [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 '%s'." A "ra" "rb"] 7 "\ Save N-th diff of buffer BUF-TYPE ('A or 'B) on the ``ediff-killed-diffs-alist''. REG is the region to save. It is redundant here,but is passed anyway, for convenience."]) (fset 'ediff-test-save-region #[(n buf-type) " \n\" A\" T =ʪ $!˪!*" [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 %d from %S to %S. Confirm. " A B t error "Quit."] 7 "\ Test if saving N-th difference region of buffer BUF-TYPE is possible."]) (fset 'ediff-pop-diff #[(n buf-type) " \n\" A\" =     A A T #! $ $ ڏ! \" T #." [assoc n ediff-killed-diffs-alist n-th-record buf-type saved-rec A ediff-A-buffer ediff-B-buffer buf nil saved-diff reg-beg reg-end recovered error "Nothing saved for diff %d in buffer %S." ediff-operate-on-flags remove ediff-get-diff-posn beg ediff-control-buffer end ediff-disturbed-overlays conds (byte-code "p\nq ?b ! \"!V\" И!V\"!,ć" [StartBuffer ((set-buffer StartBuffer)) buf 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] 3) ((error (byte-code "\n@\nA##!" [message "%s %s" conds mapconcat prin1-to-string " " beep 1] 7))) insert delq message "Diff region %d restored for buffer %S."] 5 "\ Pop last killed N-th diff region from buffer BUF-TYPE."]) (fset 'ediff-restore-diff #[(arg) "! =ƪ\"!" [arg ediff-jump-to-difference ediff-pop-diff ediff-current-difference last-command-char 97 A B ediff-recenter no-rehighlight] 4 "\ Restore ARG-th diff from ediff-killed-diffs-alist. ARG is a prefix argument. If ARG is `nil', restore current-difference." "P"]) (fset 'ediff-quit #[nil "!! " [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]) (fset 'ediff-really-quit #[nil "!\"!   pώq\" \"!*p؎q\" \"!+!" [nil buffer-read-only ediff-unselect-and-select-difference -1 mapcar #[(d) " H! H!" [ediff-delete-overlay d 0 1] 3] ediff-difference-vector ediff-help-message-long ediff-help-message ediff-restore-buffer-characteristics t ediff-unhighlight-diffs-totally ediff-control-buffer control-buffer StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer delq ediff-block-write-file local-write-file-hooks before-change-function ediff-this-buffer-control-sessions kill-local-variable mode-line-buffer-identification ((set-buffer StartBuffer)) ediff-B-buffer run-hooks ediff-quit-hooks] 3]) (fset 'ediff-kill-buffer-carefully #[(buf) "!!!!!" [buf get-buffer buffer-name kill-buffer] 3 "\ Kill buffer BUF if it exists."]) (byte-code "MM" [ediff-default-quit-hook #[nil "  !!!! \n! !*" [ediff-A-buffer ediff-B-buffer buff-B buff-A ediff-kill-buffer-carefully ediff-diff-buffer ediff-diff-error-buffer ediff-control-buffer ediff-patch-diagnostics delete-other-windows switch-to-buffer split-window-vertically] 2] ediff-default-suspend-hook #[nil " \n  \n !! !! !\n!." [ediff-A-buffer ediff-B-buffer ediff-patch-buf ediff-patch-diagnostics ediff-diff-error-buffer ediff-diff-buffer buf-diff buf-err buf-patch-diag buf-patch buf-B buf-A bury-buffer delete-other-windows] 6]] 2) (fset 'ediff-suspend #[nil "!!" [run-hooks ediff-suspend-hooks message "To resume, switch to *ediff-control* and hit 'c' (ediff-recenter)."] 2 "\ Suspend Ediff. To resume, switch to the appropriate ``*ediff-control*'' buffer and then hit ``\\[ediff-recenter]''. Ediff will automatically set up an appropriate window config." nil]) (fset 'ediff-file-names #[nil "pŽ q ! !! !!*pʎ q ! !! !!*" ["*Help*" StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer buffer-file-name princ "File A is: " "Buffer A is: " buffer-name "\n" ((set-buffer StartBuffer)) ediff-B-buffer "File B is: " "Buffer B is: "] 3 "\ Show the names of the buffers or files being operated on by Ediff. Hit ``\\[ediff-recenter]'' to reset the windows afterward." nil]) (fset 'ediff-line-numbers #[nil "p\nqe`\"*pŎqe`\"* #*" [StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer count-lines A-line ((set-buffer StartBuffer)) ediff-B-buffer B-line message "At lines: A = %d, B = %d"] 4 "\ Display the current line numbers. This function displays the line numbers of the points in the A, B." nil]) (byte-code "MMMMMMMM" [ediff-select-difference #[(n) "Y\nW !  $ $ !" [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-A-buffer ediff-control-buffer B ediff-B-buffer ediff-restore-buffer-characteristics run-hooks ediff-select-hooks] 5] ediff-unselect-difference #[(n) "Y\nW =\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-B-buffer B ediff-restore-buffer-characteristics nil run-hooks ediff-unselect-hooks] 7] ediff-unselect-and-select-difference #[(n &optional flag no-recenter) " \n! !ĉ p\nˎ\nq *p\n͎ q *\n! !ώ=!p\nԎ\nq *p\n֎ q *=!." [selected-window buffer-modified-p ediff-A-buffer ediff-B-buffer nil buf-B-undo buf-A-undo buf-B-modified buf-A-modified wind StartBuffer ((set-buffer StartBuffer)) buffer-undo-list ((set-buffer StartBuffer)) buffer-disable-undo ((byte-code " ! !pǎq\n!  *p͎q! *" [select-window wind ediff-refresh-mode-line no-recenter ediff-recenter no-rehighlight StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer set-buffer-modified-p buf-A-modified buf-A-undo buffer-undo-list ((set-buffer StartBuffer)) ediff-B-buffer buf-B-modified buf-B-undo] 2)) flag select-only ediff-unselect-difference ediff-current-difference ((set-buffer StartBuffer)) do-auto-save ((set-buffer StartBuffer)) unselect-only ediff-select-difference n] 5] ediff-refresh-mode-line #[nil "\nT #C !" [format "Ediff: %%b diff %d of %d" ediff-current-difference ediff-number-of-differences mode-line-buffer-identification set-buffer-modified-p buffer-modified-p] 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 A-file) " !!!$ ! !!P!% !#!!!%  # $ P $" [A-file default-dir read-file-name format "%s (default %s%s): " prompt abbreviate-file-name expand-file-name file-name-nondirectory confirm "%s (default %s): " file-name-directory default-file nil ": "] 7] ediff-new-flags #[nil "G\"!G\" !\n" [ediff-before-flag ediff-before-flag-length emerge-count-matches-string "\n" ediff-before-flag-lines regexp-quote ediff-before-flag-match ediff-after-flag ediff-after-flag-length ediff-after-flag-lines ediff-after-flag-match] 3] ediff-make-temp-file #[(prefix) " \nP!ee % \" )" [make-temp-name ediff-temp-file-prefix prefix f write-region nil no-message set-file-modes ediff-temp-file-mode] 6]] 2) (fset 'ediff-block-write-file #[nil "!" [error "Use 'wa' and 'wb' to save buffs A/B (first switch back to *ediff-control*."] 2 "\ Prevent writing files A and B directly."]) (fset 'ediff-insert-in-front #[(overl beg end) " \" 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."]) (fset 'ediff-collect-extents-lucid #[(pos) " $ \nBp\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 "MM" [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 #\n= \n!= \n!#" [posn-type ediff-overlay-start overl ediff-overlay-end ediff-move-overlay posn new-start new-end] 5] ediff-disturbed-overlays nil] 3]] 2) (fset 'ediff-save-buffer #[nil " \"Ŏpǎ=\n 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 ((set-buffer StartBuffer)) last-command-char 97 ediff-A-buffer ediff-B-buffer delq ediff-block-write-file save-buffer] 4 "\ Safe way of saving buffers A and B." nil]) (fset 'ediff-remove-flags-from-buffer #[(buffer before after) "p\nqÉb \n Zb\"` \\!!`` \\| !\"`!\"`!b!``\\| !\"`!É-" [StartBuffer ((set-buffer StartBuffer)) buffer nil t inhibit-read-only before-change-function buffer-read-only after point-marker before ediff-before-flag-length string-match "Lucid" emacs-version ediff-collect-extents-lucid looking-at ediff-before-flag-match ding message "Trouble removing ASCII flag" ediff-adjust-disturbed-extents-lucid ediff-after-flag-match ediff-after-flag-length] 3 "\ Essentially ``emerge-remove-flags-in-buffer'', modified to allow deletion of read-only flags."]) (fset 'ediff-place-flags-in-buffer #[(buf-type buffer ctl-buffer difference) "p\nq #*" [StartBuffer ((set-buffer StartBuffer)) buffer ediff-place-flags-in-buffer1 buf-type ctl-buffer difference] 4 "\ This is a modified ``emerge-place-flags-in-buffer''."]) (fset 'ediff-place-flags-in-buffer1 #[(buf-type ctl-buffer difference) " $\nb \"`!! \"`\") $b \"`!c \"\"," [nil t before-change-function inhibit-read-only buffer-read-only ediff-get-diff-posn buf-type beg difference ctl-buffer before string-match "Lucid" emacs-version ediff-collect-extents-lucid insert-before-markers ediff-before-flag ediff-adjust-disturbed-extents-lucid new-start end after ediff-after-flag new-end] 6 "\ Modified ``emerge-place-flags-in-buffer1''."]) (fset 'ediff-get-diff-posn #[(buf-type pos &optional n control-buf) "\nppĎ\nq  W Y T# H =ǪH* \" \" \"#= ! !)" [nil diff-overlay control-buf StartBuffer ((set-buffer StartBuffer)) n ediff-current-difference 0 ediff-number-of-differences error "There is no diff %d in this session. Valid diffs are 1 to %d." ediff-difference-vector buf-type A 1 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 buffer denoted BUF-TYPE ('A or 'B). POS is either 'beg or 'end. Specifies whether you want the position at the beginning of a difference of at the end. Optional N says which difference (default: ``ediff-current-difference''). Optional CONTROL-BUF says which control buffer is in effect in case it is not the current buffer."]) (fset 'ediff-highlight-diff #[(n) "p\nqd*pĎ qd*\n# \n#   Ϊ  \\^\n#\n#Ϊ\\^\" ## \n$ $## \n## ##!#\"$\"&\"(\"*\nHH#*\nHH#!.\n" [StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer last-A ((set-buffer StartBuffer)) ediff-B-buffer last-B ediff-get-diff-posn A beg n begin-A end end-A 1 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 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 sit-for] 7 "\ Put face on diff N. Invoked for X displays only."]) (fset '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."]) (fset 'ediff-unhighlight-diffs-totally #[nil " !\"\"\"\" ! ! !!Ή)" [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 nil ediff-current-diff-overlay-B] 3]) (fset 'ediff-operate-on-flags #[(action) "p\nq *pŎq * \" \n=̪ \"," [StartBuffer ((set-buffer StartBuffer)) ediff-A-buffer ediff-this-buffer-control-sessions A-sessions ((set-buffer StartBuffer)) ediff-B-buffer B-sessions ediff-union sessions action remove unselect-only select-only flag mapcar #[(buf) "p\nq = > =? \n#*" [StartBuffer ((set-buffer StartBuffer)) buf action insert ediff-highlighting-style (ascii off) ascii ediff-unselect-and-select-difference ediff-current-difference flag no-recenter] 4]] 3 "\ Re/unhighlights buffers A and B with all flags from all active Ediff sessions that involve these buffers. This is usually needed only when a buffer is involved in multiple Ediff sessions."]) (fset 'ediff-union #[(list1 list2) "  G GY  @> @B Ao" [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 "M !!" [ediff-debug #[nil " \"!\"!\n\"" ["*ediff-debug*" princ format "Ctl buffer: %S\n\nediff-difference-vector:\n" ediff-control-buffer mapcar #[(overl-vec) " H\"T H\" H\" H H\" H\" H&!" [princ format "Diff %d: %S %S %S\n %S %S %S\n" ediff-overlay-get overl-vec 0 ediff-diff-num ediff-ctl-buf insert-in-front-hooks 1] 11] ediff-difference-vector "\nediff-disturbed-overlays:\n" #[(overl) " \" #!" [princ format "%S %S\n" ediff-overlay-get overl ediff-ctl-buf] 6] ediff-disturbed-overlays] 5 nil nil] ediff-new-flags run-hooks ediff-load-hooks provide ediff] 2)