;ELC   
;;; compiled by erik@naggum.no on Sun Jan 14 04:20:56 1996
;;; from file /gd/gnu/emacs/19.0/lisp/diff.el
;;; emacs version 19.30.70.6.
;;; 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.29")))
    (error "`diff.el' was compiled for Emacs 19.29 or later"))


(require (quote compile))
#@75 *A string or list of strings specifying switches to be be passed to diff.
(defvar diff-switches "-c" (#$ . -484))
#@34 *The command to use to run diff.
(defvar diff-command "diff" (#$ . -604))
#@326 Alist (REGEXP OLD-IDX NEW-IDX) of regular expressions to match difference
sections in \[diff] output.  If REGEXP matches, the OLD-IDX'th
subexpression gives the line number in the old file, and NEW-IDX'th
subexpression gives the line number in the new file.  If OLD-IDX or NEW-IDX
is nil, REGEXP matches only half a section.
(defvar diff-regexp-alist (quote (("^@@ -\\([0-9]+\\),[0-9]+ \\+\\([0-9]+\\),[0-9]+ @@$" 1 2) ("^\\*\\*\\* \\([0-9]+\\),[0-9]+ \\*\\*\\*\\*$" 1 nil) ("^--- \\([0-9]+\\),[0-9]+ ----$" nil 1) ("^\\([0-9]+\\)\\(,[0-9]+\\)?[adc]\\([0-9]+\\)\\(,[0-9]+\\)?$" 1 3) ("^\\([0-9]+\\)\\(,[0-9]+\\)?[adc]$" 1) ("^[adc]\\([0-9]+\\)\\( [0-9]+\\)?$" 1))) (#$ . 685))
#@61 This is the old file name in the comparison in this buffer.
(defvar diff-old-file nil (#$ . 1368))
#@61 This is the new file name in the comparison in this buffer.
(defvar diff-new-file nil (#$ . 1473))
#@68 This is the name of a temp file to be deleted after diff finishes.
(defvar diff-old-temp-file nil (#$ . 1578))
#@68 This is the name of a temp file to be deleted after diff finishes.
(defvar diff-new-temp-file nil (#$ . 1695))
(defalias 'diff-parse-differences #[(limit-search find-at-least) "ÀÂÃ!ˆ\fƒ \fbˆÅÆÈ#É\nËÌ\")ÍÀÎÀ„ž ÕÀÖ#ƒž ‰ƒS @@”„S A‰„B @‰A@ƒh A@\"ˆØ8ƒy Ø8\"ˆTƒ‹ Y„— ƒ, `Yƒ, Ö‰ƒ1 ƒ¨ `‚ª dÂÜ!ˆ.	Ÿ‰‡" [nil compilation-error-list message "Parsing differences..." compilation-parsing-end mapconcat #[(elt) "À	@ÂQ‡" ["\\(" elt "\\)"] 3] diff-regexp-alist "\\|" 1 subexpr mapcar #[(elt) "ÁÂA\"BÄ@!\\Å\\‡" [subexpr mapcar #[(n) "… 	\\‡" [n subexpr] 2] elt count-regexp-groupings 1] 4] #[(file subexpr) "Š”bˆÁyˆÂ )Ã”•{!ŠÅ ÇŽÈ	!qˆ*ŠÊ\f!ˆÂ +BB‰‡" [subexpr 0 point-marker string-to-int line match-data match-data ((store-match-data match-data)) find-file-noselect file goto-line compilation-error-list] 4] 0 g num-loci-found found-desired new-error groups regexp re-search-forward t diff-old-file 2 diff-new-file find-at-least limit-search "Parsing differences...done"] 7])
#@222 Find and display the differences between OLD and NEW files.
Interactively the current buffer's file name is the default for NEW
and a backup file for NEW is the default for OLD.
With prefix arg, prompt for diff switches.
(defalias 'diff #[(old new &optional switches) "À	!À\n!Ã\n!Ã	!ÄÄŽÈÉÊC\fƒ2 \f:ƒ, \f‚@ \fC‚@ :ƒ= ‚@ C„J …O Î\nÎ	FÏ†V \n!CÏ†_ 	!C%Ð#ÒÓÔÕ$Ö!ˆ×Ø!ÙLˆ×Ú!\nLˆ×Û!	Lˆ×Ü!Lˆ×Ý!Lˆ×Þ!ßLˆ-‡" [expand-file-name new old file-local-copy nil buf new-alt old-alt mapconcat identity append diff-command switches diff-switches "-L" shell-quote-argument " " command compile-internal "No more differences" "Diff" diff-parse-differences pop-to-buffer make-local-variable compilation-exit-message-function #[(status code msg) "Á=„\n \nB‡ÄUƒ Å‡ÆUƒ Ç‡\nB‡" [status exit msg code 0 ("finished (no differences)\n" . "no differences") 1 ("finished\n" . "differences found")] 2] diff-old-file diff-new-file diff-old-temp-file diff-new-temp-file compilation-finish-function #[(buff msg) "ƒ Á!ˆ\n… Á\n!‡" [diff-old-temp-file delete-file diff-new-temp-file] 2]] 9 (#$ . 2751) (byte-code "À‰Ã ‰ƒ Ä	!ƒ ÅÆÇ	!ÈQÀ	É$‚% ÅÊÀ‰É$‰Ë	!‰ƒE Ä\n!ƒE ÅÌÇ\n!ÈQÍ\n!\nÉ$‚M ÅÎÍ	!ÀÉ$‰DŸ*…l ÐÑ;ƒd ‚j ÓÔÕ#\"C¤‡" [nil newf oldf buffer-file-name file-exists-p read-file-name "Diff new file: (" file-name-nondirectory ") " t "Diff new file: " file-newest-backup "Diff original file: (" file-name-directory "Diff original file: " current-prefix-arg read-string "Diff switches: " diff-switches mapconcat identity " "] 8)])
#@220 Diff this file with its backup file or vice versa.
Uses the latest backup, if there are several numerical backups.
If this file is a backup, diff it with its original.
The backup file is the first file given to `diff'.
(defalias 'diff-backup #[(file &optional switches) "À‰Ã\f!ƒ \fÅ\f!‚  Æ\f!† ÇÈ\f\"\fÉ\n	\n#*‡" [nil ori bak backup-file-name-p file file-name-sans-versions diff-latest-backup-file error "No backup found for %s" diff switches] 4 (#$ . 4303) (list (read-file-name "Diff (file with backup): ") (if current-prefix-arg (read-string "Diff switches: " (if (stringp diff-switches) diff-switches (mapconcat (quote identity) diff-switches " "))) nil))])
#@52 Return the latest existing backup of FILE, or nil.
(defalias 'diff-latest-backup-file #[(fn) "À	Â\"‰ƒ Â	\"‚P ÄÅ	!!Æ	!È!…$ )†P É	!@\nË\n!\fÍÎ\n!!ÏP‰G\fÒÓ\f\"Ô\"@P,)‡" [find-file-name-handler fn diff-latest-backup-file handler file-chase-links expand-file-name make-backup-file-name bak file-exists-p find-backup-file-name backupname file-name-directory dir file-name-sans-versions file-name-nondirectory ".~" base-versions bv-length sort file-name-all-completions #[(fn1 fn2) "À	!À\n!V‡" [backup-extract-version fn1 fn2] 3]] 6 (#$ . 4980)])
(provide (quote diff))
