;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require vlf ediff] 2) #@60 If non nil, specifies that ediff is done over VLF buffers. (defvar vlf-ediff-session nil (#$ . 471)) (make-variable-buffer-local 'vlf-ediff-session) #@273 Run batch by batch ediff over VLF buffers BUFFER-A and BUFFER-B. Batch size is determined by the size in BUFFER-A. Requesting next or previous difference at the end or beginning respectively of difference list, runs ediff over the adjacent chunks. (fn BUFFER-A BUFFER-B) (defalias 'vlf-ediff-buffers #[514 "q\210p\262q\210p\262\301!\266\302\303#\207" [vlf-batch-size vlf-set-batch-size ediff-buffers ((lambda nil (setq vlf-ediff-session t) (vlf-ediff-next ediff-buffer-A ediff-buffer-B ediff-control-buffer 'vlf-next-chunk)))] 6 (#$ . 627) (byte-code "\300\301\302\303\304!\305#\211\262\301\306\307 \310\311\312\313\314!\315\"\316$\216\317\320!\210)\210\303!\305#D\207" [nil read-buffer "Buffer A to compare: " ediff-other-buffer "" t "Buffer B to compare: " current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 other-window 1] 11)]) #@267 Run batch by batch ediff over FILE-A and FILE-B. Files are processed with VLF with BATCH-SIZE chunks. Requesting next or previous difference at the end or beginning respectively of difference list, runs ediff over the adjacent chunks. (fn FILE-A FILE-B BATCH-SIZE) (defalias 'vlf-ediff-files #[771 "\300\301\"\211q\210\302!\210\300\301\"\303\"\262\207" [vlf t vlf-set-batch-size vlf-ediff-buffers] 8 (#$ . 1534) (byte-code "\203 \202 \n\305\211\306\307\310 \311$\211\262\306\312\203 \202\"\313!\211\262\314\315\316\317\320 !\n\"!\"\210\310\321\"#\322\323\f\"E\207" [ediff-use-last-dir ediff-last-dir-A default-directory ediff-last-dir-B vlf-batch-size nil ediff-read-file-name "File A to compare" ediff-get-default-file-name no-dirs "File B to compare" file-name-directory ediff-add-to-history file-name-history ediff-abbreviate-file-name expand-file-name file-name-nondirectory 1 read-number "Batch size (in bytes): "] 13)]) (byte-code "\300\301\302\303\304$\210\305\301\306\"\210\300\307\310\303\304$\210\305\307\306\"\207" [ad-add-advice ediff-next-difference (vlf-ediff-next-difference nil t (advice lambda nil "Move to the next VLF chunk and search for difference if at the endof difference list." (if (and vlf-ediff-session (<= (1- ediff-number-of-differences) ediff-current-difference)) (let ((buffer-A ediff-buffer-A) (buffer-B ediff-buffer-B) (ediff-buffer (current-buffer))) (save-excursion (set-buffer buffer-A) (vlf-next-chunk) (set-buffer buffer-B) (vlf-next-chunk) (vlf-ediff-next buffer-A buffer-B ediff-buffer 'vlf-next-chunk)) (or (zerop ediff-number-of-differences) (ediff-jump-to-difference 1))) ad-do-it))) around nil ad-activate t ediff-previous-difference (vlf-ediff-prev-difference nil t (advice lambda nil "Move to the previous VLF chunk and search for difference if at thebeginning of difference list." (if (and vlf-ediff-session (<= ediff-current-difference 0)) (let ((buffer-A ediff-buffer-A) (buffer-B ediff-buffer-B) (ediff-buffer (current-buffer))) (save-excursion (set-buffer buffer-A) (vlf-prev-chunk) (set-buffer buffer-B) (vlf-prev-chunk) (vlf-ediff-next buffer-A buffer-B ediff-buffer 'vlf-prev-chunk)) (or (zerop ediff-number-of-differences) (ediff-jump-to-difference -1))) ad-do-it)))] 5) #@21 Move to next chunk. (defalias 'vlf-next-chunk #[0 "\302\211 \\\"\207" [vlf-end-pos vlf-batch-size vlf-move-to-chunk] 4 (#$ . 3788)]) #@25 Move to previous chunk. (defalias 'vlf-prev-chunk #[0 "\302 Z\"\207" [vlf-start-pos vlf-batch-size vlf-move-to-chunk] 3 (#$ . 3928)]) #@251 Find next pair of chunks that differ in BUFFER-A and BUFFER-Bgoverned by EDIFF-BUFFER. NEXT-FUNC is used to jump to the next logical chunks in case there is no difference at the current ones. (fn BUFFER-A BUFFER-B EDIFF-BUFFER &optional NEXT-FUNC) (defalias 'vlf-ediff-next #[1027 "CC\211\242q\210\306\307\310\"\210\211p\240\210 U Bd\n \311=\312\313!C\302\314!\210\242q\210\306\307\310\"\210p\240\210 ^\262\211\242\206C\312\313!\240\210\315\304!\205R\f\205R\f\316^ U B\n\317C\320\321\203f\202j Z\n#\302\314!\210\322\314\323\324\325& \326\"\327$\216\f\203\232\204\330\242e \242ed&\314U\204\324rq\210\331 \210\f\204\315\204\315\242\204\315\332\242\242\"\210 \314U)\203 \210 U\262r \242q\210 \210 U\262 d\262 )\211\203\372 \202\375 Z\211\247\203 \211@Y\205 \333\"\266\202\221\334!\210\f\203t\203t\203C \335 Z\"\210\242q\210\211 ]\262\335 Z\"\266\202P\336\314!\210 \242q\210\336\314!\210q\210\331 \210\242\204t\203k\f\204t\204t\332\242\242\"\210\337\240*\266\206\266\207\207" [vlf-start-pos vlf-end-pos font-lock-mode vlf-file-size tramp-verbose ediff-number-of-differences run-hook-with-args vlf-before-batch-functions ediff vlf-next-chunk derived-mode-p hexl-mode 0 boundp 1 nil make-progress-reporter "Searching for difference..." make-byte-code "\310\242\2045\300\242q\210\311\312!\210\313\303@\303A\"\210\301\242q\210\311\312!\210\313\306@\306A\"\210\302q\210\314 \210\305\242\2045\315\300\242\301\242\"\210\300\242q\210\304\203A\316\317!\210\320\321\322\"\210\301\242q\210\307\203R\316\317!\210\320\321\322\"\207" vconcat vector [set-buffer-modified-p nil vlf-move-to-chunk ediff-update-diffs vlf-ediff-refine font-lock-mode 1 run-hook-with-args vlf-after-batch-functions ediff] 3 compare-buffer-substrings ediff-update-diffs vlf-ediff-refine progress-reporter-do-update progress-reporter-done vlf-move-to-chunk vlf-move-to-batch t vlf-batch-size] 33 (#$ . 4071)]) #@159 Try to minimize differences between BUFFER-A and BUFFER-B. This can happen if first or last difference is at the start/end of buffer. (fn BUFFER-A BUFFER-B) (defalias 'vlf-ediff-refine #[514 "\301U\206\302\"\302\303#\206\211\262\211\205\304 \262\207" [ediff-number-of-differences 0 vlf-ediff-adjust t ediff-update-diffs] 7 (#$ . 6081)]) #@169 Additionally adjust buffer borders for BUF-A and BUF-B. Adjust beginning if END is nil. Return t if refining is needed, nil otherwise. (fn BUF-A BUF-B &optional END) (defalias 'vlf-ediff-adjust #[770 "\211\203 S\202\n\304\305 \306 \n\"A*JH\304H\307 \306 \n\"A*JH\304H\310\211\211rq\210\203=\311!dU\202B\312!eU\262\211\205R\313\312!\311!\"\262q\210\211\205n\203i\311!dU\202n\312!eU\262\211\205}\313\312!\311!\"\262\211\203\303GG\203\220\314\202\221\315W\203\250\211 #\204\301\310\262\202\301W\203\276\211#\204\301\310\262\202\301\310\262\266)\207" [ediff-number-of-differences ediff-difference-vector-alist alist buf-type 0 A assoc B nil overlay-end overlay-start buffer-substring-no-properties vlf-ediff-adjust-end vlf-ediff-adjust-start] 16 (#$ . 6439)]) #@119 Remove difference between DIFF-SHORT and DIFF-LONG from beginningof VLF-BUFFER. (fn DIFF-SHORT DIFF-LONG VLF-BUFFER) (defalias 'vlf-ediff-adjust-start #[771 "\303\"\205\211q\210\304\305\306GGZO \307#G\\\n\"\207" [vlf-start-pos buffer-file-coding-system vlf-end-pos string-suffix-p vlf-move-to-chunk encode-coding-string 0 t] 10 (#$ . 7274)]) #@117 Remove difference between DIFF-SHORT and DIFF-LONG from the end ofVLF-BUFFER. (fn DIFF-SHORT DIFF-LONG VLF-BUFFER) (defalias 'vlf-ediff-adjust-end #[771 "\303\"\205\211q\210\304 \305G\306O\n\307#GZ\"\207" [vlf-start-pos vlf-end-pos buffer-file-coding-system string-prefix-p vlf-move-to-chunk encode-coding-string nil t] 10 (#$ . 7634)]) (byte-code "\300\301!\204 \302\301\303\"\210\304\305!\207" [fboundp string-suffix-p defalias #[770 "GGZ\211\300Y\205\301\302\211\302&\303=\207" [0 compare-strings nil t] 12 "Return non-nil if SUFFIX is a suffix of STRING.\nIf IGNORE-CASE is non-nil, the comparison is done without paying\nattention to case differences.\n\n(fn SUFFIX STRING &optional IGNORE-CASE)"] provide vlf-ediff] 3)