;ELC   
;;; compiled by jwz@thalidomide on Fri Apr 29 03:46:52 1994
;;; from file /th/jwz/emacs19/lisp/packages/diff.el
;;; emacs version 19.10 Lucid (beta16).
;;; bytecomp version 2.24; 26-Apr-94.
;;; 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."))

(require 'compile)
(defvar diff-switches (purecopy "-c") "\
*A string or list of strings specifying switches to be be passed to diff.")
(defvar diff-regexp-alist '(("^@@ -\\([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)) "\
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-old-file nil "\
This is the old file name in the comparison in this buffer.")
(defvar diff-new-file nil "\
This is the new file name in the comparison in this buffer.")
(defvar diff-old-temp-file nil "\
This is the name of a temp file to be deleted after diff finishes.")
(defvar diff-new-temp-file nil "\
This is the name of a temp file to be deleted after diff finishes.")
(fset 'diff-parse-differences #[(limit-search find-at-least) "!b#\n\")#@@Aq@A@A@\"88\"TY&`Y ։`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) "by ){! ǎ	!q*! +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])
(fset 'diff #[(old new &optional switches) "	!\n!\n!	!	!\n!\"	!\n!	!\"\n!	!	\nǎ:C:C\n	\n	F\n\nC		C%#$q!\nL!	L!\nL!	L!L)-" [expand-file-name new old file-directory-p file-name-nondirectory file-name-as-directory file-local-copy nil buf new-alt old-alt mapconcat identity append ("diff") switches diff-switches "-L" " " command compile-internal "No more differences" "Diff" diff-parse-differences make-local-variable 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 "\
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." (byte-code " 	!	!Q	$$	!\n!\n!Q\n!\n$	!$D*;#\"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)])
(fset 'diff-backup #[(file &optional switches) "!!!\"\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 "\
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'." (byte-code "!\n;#\"D" [read-file-name "Diff (file with backup): " current-prefix-arg read-string "Diff switches: " diff-switches mapconcat identity " "] 7)])
(fset 'diff-latest-backup-file #[(fn) "	!	!!)	!	!P	G\n	\"\"@P+" [expand-file-name fn make-backup-file-name bak file-exists-p file-name-directory dir file-name-nondirectory ".~" base-versions bv-length sort file-name-all-completions #[(fn1 fn2) "	!\n!V" [backup-extract-version fn1 fn2] 3]] 6 "\
Return the latest existing backup of FILE, or nil."])
(provide 'diff)
