;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(provide 'ediff-util)
(defvar ediff-after-quit-hook-internal nil)
(byte-code "\300\301!\204
\302\301\303\304B\"\210\305\306!\210\305\307!\210\305\310!\210\305\311!\210\305\312!\210\305\313!\207" [fboundp declare-function defalias macro #[128 "\300\207" [nil] 2 "\n\n(fn &rest R)"] require ediff-init ediff-help ediff-mult ediff-wind ediff-diff ediff-merg] 4)
#@668 Ediff mode controls all operations in a single Ediff session.
This mode is entered through one of the following commands:
`ediff'
`ediff-files'
`ediff-buffers'
`ebuffers'
`ediff3'
`ediff-files3'
`ediff-buffers3'
`ebuffers3'
`ediff-merge'
`ediff-merge-files'
`ediff-merge-files-with-ancestor'
`ediff-merge-buffers'
`ediff-merge-buffers-with-ancestor'
`ediff-merge-revisions'
`ediff-merge-revisions-with-ancestor'
`ediff-windows-wordwise'
`ediff-windows-linewise'
`ediff-regions-wordwise'
`ediff-regions-linewise'
`epatch'
`ediff-patch-file'
`ediff-patch-buffer'
`epatch-buffer'
`erevision'
`ediff-revision'
Commands:
\{ediff-mode-map}
(defalias 'ediff-mode #[0 "\302 \210\303\304\305\306!\207" [major-mode mode-name kill-all-local-variables ediff-mode "Ediff" run-hooks ediff-mode-hook] 2 (#$ . 769)])
#@125 Local keymap used in Ediff mode.
This is local to each Ediff Control Panel, so they may vary from invocation
to invocation.
(defvar ediff-mode-map nil (#$ . 1612))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-mode-map put permanent-local t] 4)
#@36 Set up Ediff keymap, if necessary.
(defalias 'ediff-set-keys #[0 "\204 \301 \210\302!\207" [ediff-mode-map ediff-setup-keymap use-local-map] 2 (#$ . 1899)])
(defalias 'ediff-reload-keymap #[0 "\301\302 \207" [ediff-mode-map nil ediff-set-keys] 1 nil nil])
#@56 Set up the keymap used in the control buffer of Ediff.
(defalias 'ediff-setup-keymap #[0 "\306 \307!\210\310\311\312#\210\310\313\312#\210\310\314\315#\210\310\316\315#\210\310\317\315#\210\310\320 \205- \315#\210\310\321\315#\210\310\322\315#\210\310\323\324#\210\310\325\324#\210\310\326\327#\210\310\330\331#\210\310\332\333#\210\310\334\333#\210\310\335\336#\210\310\337\340#\210\310\341\342#\210\310\343\344#\210\310\345\346#\210\310\347\350#\210\n\204\215 \310\351\352#\210\203\227 \310\353\354#\210\310\355\356#\210\310\357\360#\210\310\361\360#\210\310\362\360#\210\310\363\360#\210\310\364\360#\210\310\365\366#\210\310\367\366#\210\310\370\371#\210\310\372\373#\210\310\374\375#\210\310\376\377#\210\310\201B \201C #\210\310\201D \201E #\210\n\204\310\201F \201G #\210\310\201H \331#\210\310\201I \331#\210\310\201J \331#\210\f\203\202\310\201K \201L #\210\310\201H \201M #\210\310\201I \201N #\210\310\201J \201O #\210\310\201P \201Q #\210\310\201R \201S #\210\310\201T \331#\210\310\201U \201V #\210\310\201W \201X #\210\310\201Y \201Z #\210\202
\203\365\310\201[ \201\\ #\210\310\201] \201^ #\210\310\201_ \201M #\210\310\201` \201N #\210\310\201a \331#\210\310\201b \201c #\210\310\201d \201e #\210\310\201f \201g #\210\310\201h \201g #\210\310\201i \201g #\210\310\201j \201k #\210\202\310\201H \201\\ #\210\310\201I \201^ #\210\310\201f \201g #\210\310\201h \201g #\210\310\201l \201m #\210\310\201n \331#\210\310\201o \201p #\210\310\201q \201p #\210\310\201r \201s #\210\n\204[\310\201t \201u #\210\310\201v \331#\210\310\201w \201k #\210\310\201x \201k #\210\310\201y \331#\210\310\201z \201{ #\210\310\201| \201{ #\210\310\201} \201{ #\210\310\201~ \201 #\210\201\200 \201\201 !\203\304@\201\202 =\203\304\310\201\203 \201\201 #\210A\203\333\310\201\204 \201{ #\210\310\201\205 \333#\210\310\201\206 \201\207 #\210\300M\210\201\210 \201\211 !\207" [ediff-mode-map ediff-no-emacs-help-in-control-buffer ediff-word-mode ediff-narrow-job ediff-merge-job ediff-3way-comparison-job make-sparse-keymap suppress-keymap define-key [mouse-2] ediff-help-for-quick-help "
" "p" ediff-previous-difference "" [delete] "" [backspace] [33554464] "n" ediff-next-difference " " "j" ediff-jump-to-difference "g" nil "ga" ediff-jump-to-difference-at-point "gb" "q" ediff-quit "D" ediff-show-diff-output "z" ediff-suspend "\f" ediff-recenter "|" ediff-toggle-split "h" ediff-toggle-hilit "@" ediff-toggle-autorefine "%" ediff-toggle-narrow-region "~" ediff-swap-buffers "v" ediff-scroll-vertically "" "^" "\366" "V" "<" ediff-scroll-horizontally ">" "i" ediff-status-info "E" ediff-documentation "?" ediff-toggle-help "!" ediff-update-diffs ediff-job-name ediff-3way-job "M" ediff-show-current-session-meta-buffer "R" ediff-show-registry "*" ediff-make-or-kill-fine-diffs "a" "b" "r" "/" ediff-toggle-show-ancestor ediff-copy-A-to-C ediff-copy-B-to-C ediff-restore-diff-in-merge-buffer "s" ediff-shrink-window-C "+" ediff-combine-diffs "$" "$$" ediff-toggle-show-clashes-only "$*" ediff-toggle-skip-changed-regions "&" ediff-re-merge "ab" ediff-copy-A-to-B "ba" ediff-copy-B-to-A "ac" "bc" "c" "ca" ediff-copy-C-to-A "cb" ediff-copy-C-to-B "ra" ediff-restore-diff "rb" "rc" "C" ediff-toggle-read-only "G" ediff-submit-report "#" "#h" ediff-toggle-regexp-match "#f" "#c" ediff-toggle-ignore-case "##" ediff-toggle-skip-similar "o" "A" "B" "w" "wa" ediff-save-buffer "wb" "wd" "=" ediff-inferior-compare-regions fboundp ediff-show-patch-diagnostics epatch "P" "wc" "gc" "m" ediff-toggle-wide-display run-hooks ediff-keymap-setup-hook] 4 (#$ . 2165)])
#@115
(fn BUFFER-A FILE-A BUFFER-B FILE-B BUFFER-C FILE-C STARTUP-HOOKS SETUP-PARAMETERS &optional MERGE-BUFFER-FILE)
(defalias 'ediff-setup #[2312 "\306\307!\210\310\311 !!\262\310\311!!\262;\203 \310\311!!\262\211;\203P \310\311!!\262\312\313!!\204= \314\315\316\313!!\"\210\312!\203P \317!\203P \314\320\316!\"\210\321\322\323\" \211\205f \324!\205f \325\324!!)\203v r q\210\326!)\202 \327=\206 \314\n!\211\211\205\220 \324!\205\220 \325\324!!)\203r\211q\210\330 \210\331\332!\210\331\333!\210\331\334!\210\331\335!\210\331\336!\210\331\337!\210\331\340!\210\331\303!\210\341\203\320 @@@AL\210A\262\202\275 \f\342>\f\343>@\f\344>A
\206\344 @B
\206\354 AC\f\345>D\f\346>E\f\347>F\350\351\352\f!\"\203 \353 \354 \203\355\356\357\360\361$\210\362 G@\203}\363\267\202*\202,\nHI\326\321\364\323\"!\262rq\210\365!\210eb\210\211\211\205Y\324!\205Y\325\324!!)\203gr\211q\210J)\202p \327=\206p\314\n! \210~\210\355\366\367\360\353$\210)\210\360K\nLMN\211O\370 \210\350\371\"\203\242\372\224\372\225O\202\243\373P\372\374P\350\375P\"\206\262\372\360O!S]Q\326\321\376\323\"!RrRq\210\353S)\n\211\205\334\324!\205\334\325\324!!)\203\375r\nq\210T:\203\371T@\377\235\203\371\341T8T)\202 \327=\204\314\n!\210\211\205\324!\205\325\324!!)\203:rq\210T:\2036T@\377\235\2036\341T8T)\202D \327=\204D\314\n!\210B\203\206\211\205[\324!\205[\325\324!!)\203|rq\210T:\203xT@\377\235\203x\341T8T)\202\206 \327=\204\206\314\n!\210I\211\205\230\324!\205\230\325\324!!)\203\331I\211\205\256\324!\205\256\325\324!!)\203\317rIq\210T:\203\313T@\377\235\203\313\341T8T)\202\331 \327=\204\331\314\n!\210\201g \210C\203\351\201h \202\354\201i U\201j \201k \201l L#\201j \201m \201n M#\201j \201o \201p N#EVW\203!XY\202%VY\201q \210X\2043VXL\211\205E\324!\205E\325\324!!)\203\240rLq\210\201r \210\306\201s !\210\211\211\205j\324!\205j\325\324!!)\203xr\211q\210@)\202\201 \327=\204\204\314\n!\203\207\353K\211Z>\204\224\211ZBZ[\203\234\353K)\202\252 \327=\204\252\314\n!\210M\211\205\274\324!\205\274\325\324!!)\203rMq\210\201r \210\306\201s !\210\211\211\205\341\324!\205\341\325\324!!)\203\357r\211q\210@)\202\370 \327=\204\373\314\n!\203\376\353K\211Z>\204\211ZBZ[\203\353K)\202! \327=\204!\314\n!\210B\203\242N\211\2058\324!\2058\325\324!!)\203\230rNq\210\201r \210\211\211\205W\324!\205W\325\324!!)\203er\211q\210@)\202n \327=\204q\314\n!\203s~\210\306\201s !\210\211Z>\204\206\211ZBZ[\203\221\353K\202\224\360K)\202\242 \327=\204\242\314\n!\210I\211\205\264\324!\205\264\325\324!!)\203\374I\211\205\312\324!\205\312\325\324!!)\203\362rIq\210\201r \210\353K\306\201s !\210\211Z>\204\356\211ZBZ)\202\374 \327=\204\374\314\n!\210U\n #\210\\G]\201t ^\201u \201v !\210\201u \201w !\210B\203-\201u \201x !\210A\203:\201u \201y !\210\201z \n $\210X@_\201{ _!\205Z\201| _!)XA@_\201{ _!\205p\201| _!)\341X8_\201{ _!\205\206\201| _!)\212\201} `!\210b\210)\212\201} a!\210b\210)B\203\260\212\201} b!\210\211b\210)\266\201} c!\210\201~ \210\201 \201\200 \"\210\201\201 !\210\201\202 \210\353K\211dBd\201\203 \210e\211\205\363\324!\205\363\325\324!!)\203\201\204 e\360f#\210\306\201\205 !\210)\202 \327=\204\314\n!\210\207" [buf this-command ediff-KILLED-VITAL-BUFFER window-min-height ediff-job-name ediff-3way-comparison-job run-hooks ediff-before-setup-hook ediff-convert-standard-filename expand-file-name file-exists-p file-name-directory error "Directory %s given as place to save the merge doesn't exist" abbreviate-file-name file-directory-p "The merge buffer file %s must not be a directory" ediff-unique-buffer-name "*Ediff Control Panel" "*" get-buffer buffer-name get-buffer-create ediff-quit ediff-mode make-local-variable ediff-use-long-help-message ediff-prefer-iconified-control-frame ediff-split-window-function ediff-default-variant ediff-merge-window-share ediff-window-setup-function ediff-keep-variants 2 (ediff-files3 ediff-buffers3) (ediff-merge-files ediff-merge-buffers ediff-merge-files-with-ancestor ediff-merge-buffers-with-ancestor ediff-merge-revisions ediff-merge-revisions-with-ancestor) (ediff-merge-files-with-ancestor ediff-merge-buffers-with-ancestor ediff-merge-revisions-with-ancestor) (ediff-windows-wordwise ediff-regions-wordwise ediff-windows-linewise ediff-regions-linewise) (ediff-windows-wordwise ediff-windows-linewise) (ediff-windows-wordwise ediff-regions-wordwise) string-match "buffer" symbol-name t ediff-window-display-p add-hook pre-command-hook ediff-spy-after-mouse nil local mouse-pixel-position #s(hash-table size 1 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (default-B 293)) "*ediff-merge" insert-buffer-substring local-write-file-hooks ediff-set-merge-mode ediff-choose-syntax-table "<[0-9]*>" 0 "" string-to-number "[0-9]+" "*ediff-errors" (" A: " " B: " " C: " " Ancestor: ") ediff-merge-job ediff-merge-with-ancestor-job ediff-3way-job ediff-diff3-job ediff-narrow-job ediff-windows-job ediff-word-mode-job ediff-mouse-pixel-position ediff-merge-split-window-function ediff-ancestor-buffer major-mode buffer-read-only ediff-buffer-A ediff-buffer-B ediff-buffer-C ediff-control-buffer ediff-control-buffer-suffix ediff-control-buffer-number ediff-error-buffer buffer-undo-list mode-line-format ediff-setup-diff-regions-function ediff-wide-bounds ediff-start-narrowed ediff-narrow-bounds ediff-visible-bounds ediff-this-buffer-ediff-sessions ediff-make-buffers-readonly-at-startup ediff-difference-vector-A ediff-number-of-differences ediff-current-difference overl ediff-window-A ediff-window-B ediff-window-C ediff-control-window ediff-session-registry ediff-meta-buffer ediff-meta-session-number ediff-save-protected-variables ediff-setup-diff-regions3 ediff-setup-diff-regions ediff-make-bullet-proof-overlay (point-min) (point-max) (point-min) (point-max) (point-min) (point-max) ediff-set-keys ediff-nuke-selective-display ediff-prepare-buffer-hook -1 ediff-make-current-diff-overlay A B C Ancestor ediff-setup-windows ediff-overlayp overlay-start select-window ediff-visible-region mapc funcall ediff-arrange-autosave-in-merge-jobs ediff-refresh-mode-lines ediff-update-registry ediff-update-meta-buffer ediff-startup-hook] 18 (#$ . 5826)])
#@49 Set up window for control buffer.
(fn CTL-BUF)
(defalias 'ediff-setup-control-buffer #[257 "\306 \203 \211q\210\202 \307!\210\310\311 \210\312 \210 c\210\313 \210\314 \203& |