%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/vc/ |
Current File : //usr/local/share/emacs/27.2/lisp/vc/ediff-diff.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\321\322%\210\326\327M\210\313\330\315\316\331DD\332\321\322%\210\313\333\315\316\334DD\335\321\322%\210\313\336\315\316\337DD\340\321\341%\207" [require ediff-init ediff-util custom-declare-group ediff-diff nil "Diff related utilities." :prefix "ediff-" :group ediff custom-declare-variable ediff-diff-program funcall function #[0 "\300\207" [#1="diff"] 1 #1#] "Program to use for generating the differential of the two files." :type string ediff-diff3-program #[0 "\300\207" [#2="diff3"] 1 #2#] "Program to be used for three-way comparison.\nMust produce output compatible with Unix's diff3 program." ediff-set-actual-diff-options #[0 "\300\207" [nil] 1] ediff-shell #[0 "\302>\203 \207\303\207" [system-type shell-file-name (ms-dos windows-nt) "sh"] 2] "The shell used to run diff and patch.\nIf user's .profile or .cshrc files are set up correctly, any shell\nwill do. However, some people set $prompt or other things\nincorrectly, which leads to undesirable output messages. These may\ncause Ediff to fail. In such a case, set `ediff-shell' to a shell that\nyou are not using or, better, fix your shell's startup file." ediff-cmp-program #[0 "\300\207" [#3="cmp"] 1 #3#] "Utility to use to determine if two files are identical.\nIt must return code 0, if its arguments are identical files." ediff-cmp-options #[0 "\300\207" [nil] 1] "Options to pass to `ediff-cmp-program'.\nIf GNU diff is used as `ediff-cmp-program', then the most useful options\nare `-I REGEXP', to ignore changes whose lines match the REGEXP." (repeat string)] 8) #@21 (fn SYMBOL VALUE) (defalias 'ediff-set-diff-options #[514 "L\210\300 \207" [ediff-set-actual-diff-options] 4 (#$ . 2095)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable ediff-diff-options funcall function #[0 "\301>\203 \302\207\303\207" [system-type (ms-dos windows-nt) "--binary" ""] 2] "Options to pass to `ediff-diff-program'.\nIf Unix diff is used as `ediff-diff-program',\nthen a useful option is `-w', to ignore space.\nOptions `-c', `-u', and `-i' are not allowed. Case sensitivity can be\ntoggled interactively using \\[ediff-toggle-ignore-case].\n\nDo not remove the default options. If you need to change this variable, add new\noptions after the default ones.\n\nThis variable is not for customizing the look of the differences produced by\nthe command \\[ediff-show-diff-output]. Use the variable\n`ediff-custom-diff-options' for that." :set ediff-set-diff-options :type string] 8) #@180 If t, skip over difference regions that differ only in letter case. This variable can be set either in .emacs or toggled interactively. Use `setq-default' if setting it in .emacs (defvar ediff-ignore-case nil (#$ . 3044)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314%\210\305\315\307\310\316DD\317\313\314%\207" [make-variable-buffer-local ediff-ignore-case put permanent-local t custom-declare-variable ediff-ignore-case-option funcall function #[0 "\300\207" [#1="-i"] 1 #1#] "Option that causes the diff program to ignore case of letters." :type string ediff-ignore-case-option3 #[0 "\300\207" [#2=""] 1 #2#] "Option that causes the diff3 program to ignore case of letters.\nGNU diff3 doesn't have such an option."] 6) #@2 (defvar ediff-actual-diff-options ediff-diff-options (#$ . 3807)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314%\210\305\315\307\310\316DD\317\313\314%\207" [make-variable-buffer-local ediff-actual-diff-options put permanent-local t custom-declare-variable ediff-custom-diff-program funcall function #[0 "\207" [ediff-diff-program] 1] "Program to use for generating custom diff output for saving it in a file.\nThis output is not used by Ediff internally." :type string ediff-custom-diff-options #[0 "\300\207" [#1="-c"] 1 #1#] "Options to pass to `ediff-custom-diff-program'."] 6) #@69 Pattern to match lines produced by diff3 that describe differences. (defvar ediff-match-diff3-line "^====\\(.?\\) ?$" (#$ . 4432)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable ediff-diff3-options funcall function #[0 "\300\207" [#1=""] 1 #1#] "Options to pass to `ediff-diff3-program'." :set ediff-set-diff-options :type string] 8) #@2 (defvar ediff-actual-diff3-options ediff-diff3-options (#$ . 4811)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314%\207" [make-variable-buffer-local ediff-actual-diff3-options put permanent-local t custom-declare-variable ediff-diff3-ok-lines-regexp funcall function #[0 "\300\207" [#1="^\\([1-3]:\\|====\\| \\|.*Warning *:\\|.*No newline\\|.*missing newline\\|^ $\\)"] 1 #1#] "Regexp that matches normal output lines from `ediff-diff3-program'.\nLines that do not match are assumed to be error messages." :type regexp] 6) #@2 (defvar ediff-diff-status "" (#$ . 5375)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-diff-status put permanent-local t] 4) #@324 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. Use `setq-default' if setting it in .emacs (defvar ediff-auto-refine (byte-code "\300 \203 \301\207\302\207" [ediff-has-face-support-p on nix] 1) (#$ . 5545)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-auto-refine put permanent-local t] 4) #@200 If t, skip over difference regions that differ only in the white space and line breaks. This variable can be set either in .emacs or toggled interactively. Use `setq-default' if setting it in .emacs (defvar ediff-ignore-similar-regions nil (#$ . 6112)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-ignore-similar-regions put permanent-local t] 4) #@63 Auto-refine only the regions of this size (in bytes) or less. (defvar ediff-auto-refine-limit 14000 (#$ . 6502)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-auto-refine-limit put permanent-local t] 4) #@260 Regexp that matches normal output lines from `ediff-diff-program'. This is mostly lifted from Emerge, except that Ediff also considers warnings and `Missing newline'-type messages to be normal output. Lines that do not match are assumed to be error messages. (defvar ediff-diff-ok-lines-regexp "^\\([0-9,]+[acd][0-9,]+ ?$\\|[<>] \\|---\\|.*Warning *:\\|.*No +newline\\|.*missing +newline\\|^ ?$\\)" (#$ . 6748)) #@68 Pattern to match lines produced by diff that describe differences. (defvar ediff-match-diff-line (byte-code "\300\301\302\303\260\207" ["\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)" "^" "\\([acd]\\)" " ?$"] 6) (#$ . 7166)) #@402 value is a function symbol depending on the kind of job is to be done. For 2-way jobs and for ediff-merge, it should be `ediff-setup-diff-regions'. For jobs requiring diff3, it should be `ediff-setup-diff-regions3'. The function should take three mandatory arguments, file-A, file-B, and file-C. It may ignore file C for diff2 jobs. It should also take one optional arguments, diff-number to refine. (defvar ediff-setup-diff-regions-function nil (#$ . 7390)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local ediff-setup-diff-regions-function put permanent-local t] 4) #@29 (fn FILE-A FILE-B FILE-C) (defalias 'ediff-setup-diff-regions #[771 "\305\306\"\203 \307\310!\210 \211\205 \311!\205 \312\311!!\262\204' \313\314\315\316\"!\317 #\210\320\n \"\210\321\322 \f#!\207" [ediff-diff-options ediff-diff-buffer ediff-diff-ok-lines-regexp ediff-word-mode ediff-narrow-bounds string-match "^-[ciu]\\| -[ciu]\\|\\(^\\| \\)-[^- ]+[ciu]" error "Options `-c', `-u', and `-i' are not allowed in `ediff-diff-options'" get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-diff" "*" ediff-make-diff2-buffer ediff-prepare-error-list ediff-convert-diffs-to-overlays ediff-extract-diffs] 8 (#$ . 7992)]) #@32 (fn DIFF-BUFFER FILE1 FILE2) (defalias 'ediff-make-diff2-buffer #[771 "\304\305\"\262\304\305\"\262\247\204# \306\307\310!\"\210\311\312!\210\313\202| \211\247\2047 \306\307\310!\"\210\311\312!\210\313\202| \306\314\315!\315!#\210\316\317 &\210\306\320!\210\211\205d \321!\205d \322\321!!\262\203s rq\210\323 )\202| \n\324=\206| \325!\207" [ediff-diff-program ediff-actual-diff-options this-command ediff-KILLED-VITAL-BUFFER ediff-file-attributes 7 message "Can't find file: %s" ediff-abbreviate-file-name sit-for 2 1 "Computing differences between %s and %s ..." file-name-nondirectory ediff-exec-process synchronize "" get-buffer buffer-name buffer-size ediff-quit error] 12 (#$ . 8648)]) #@37 (fn FILE-A FILE-B FILE-C REG-NUM) (defalias 'ediff-setup-fine-diff-regions #[1028 "\211\205 \306!\205 \307\306!!\262\204 \310\311\312\313\"!\314\211\211\211\211 \262\203, \n\202- \262\2037 \f\2028 \262\203C \202E \262\315TC\203W \316\317#\210\266\320\321 \203i \202k \f \203u \202w \205\210 \203\206 \202\210 &\210\322\"\210\323\314\203\235 \316\317#\210\266\203\253 \324\325\326#\202\257 \327\326\"\262\203\334 \204\303 \330\331A\"\210\202\334 \204\321 \330\332A\"\210\202\334 \204\334 \330\333A\"\210\334\"\207" [ediff-fine-diff-buffer ediff-3way-job ediff-diff3-program ediff-diff-program ediff-actual-diff3-options ediff-actual-diff-options get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-fine-diff" "*" nil "Refining difference region %d ..." apply message ediff-exec-process synchronize ediff-prepare-error-list "" ediff-extract-diffs3 3way-comparison word-mode ediff-extract-diffs mapc #[257 "\211\300\301I\210\211\302\301I\207" [0 nil 1] 4 "\n\n(fn ELT)"] #[257 "\211\300\301I\210\211\302\301I\207" [2 nil 3] 4 "\n\n(fn ELT)"] #[257 "\211\300\301I\210\211\302\301I\207" [4 nil 5] 4 "\n\n(fn ELT)"] ediff-convert-fine-diffs-to-overlays ediff-diff3-ok-lines-regexp ediff-diff-ok-lines-regexp ediff-verbose-p] 17 (#$ . 9375)]) #@28 (fn OK-REGEXP DIFF-BUFF) (defalias 'ediff-prepare-error-list #[514 "\211\205 \305!\205 \306\305!!\262\204 \307\310\311\312\"!\211\205, \305!\205, \306\305!!\262\203o rq\210\313\314 \210\211\211\205J \305!\205J \306\305!!\262\203Y r\211q\210\315 )\202b \n\316=\206b \317!c\210eb\210\320!\210)\202y \n\316=\204y \317!\210\211\205\211 \305!\205\211 \306\305!!\262\203\230 rq\210\321 )\202\241 \n\316=\206\241 \317!\322U?\205\323 \f\323 \210\324!\210\211\211\205\301 \305!\205\301 \306\305!!\262\203\314 \325\305!!\210\210\326\327\"\266\202\207" [ediff-error-buffer buffer-undo-list this-command ediff-KILLED-VITAL-BUFFER ediff-control-buffer get-buffer buffer-name get-buffer-create ediff-unique-buffer-name "*ediff-errors" "*" t erase-buffer buffer-string ediff-quit error delete-matching-lines buffer-size 0 ediff-skip-unsuitable-frames switch-to-buffer kill-buffer user-error "Errors in diff output. Diff output is in %S"] 9 (#$ . 10715)]) #@47 (fn DIFF-BUFFER WORD-MODE &optional BOUNDS) (defalias 'ediff-extract-diffs #[770 " \n\306\307\306\307\306\307\211\211\211 \203 \310\202 \311B\262\f\203@ \f@\312!\205+ \313!\262\262\fA@\312!\205<