[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: diff-autosaved
From: |
Andreas Röhler |
Subject: |
Re: diff-autosaved |
Date: |
Sat, 30 Apr 2011 12:03:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 |
Am 30.04.2011 11:48, schrieb Andrea Crotti:
Andreas Röhler<andreas.roehler@easy-emacs.de> writes:
Hi,
occassionally want to compare a file with its auto-saved version.
Couldn't find a function doing this.
Tweaked diff-backup for the purpose.
The result:
(defun diff-autosaved (&optional switches)
"Diff this file with its auto-saved version or vice versa.
With prefix arg, prompt for diff switches."
(interactive (list (diff-switches)))
(let ((dir default-directory)
(file (file-name-nondirectory (replace-regexp-in-string "#" ""
(buffer-file-name))))
bak ori)
(if (string-match "^#" file)
(setq bak file
ori (replace-regexp-in-string "#" "" file))
(setq bak (concat "#" file "#")
ori file))
(setq bak (concat dir bak))
(setq ori (concat dir ori))
(diff bak ori switches)))
Comments welcome.
Andreas
Nice I'll try it out...
But why do you want to compare with the auto-saved, and not for example
do diff-buffer-with-file?
If an auto-saved exists, it means, buffer has not being saved at some time.
diff-buffer-with-file doesn't relate to an existing auto-saved.
It does:
(diff buffer-file-name (current-buffer)...
And also using revision control I just see the git/bzr/whatever diff
with the last committed version..
If a buffer wasn't saved, VC will see no diff.
Just the auto-save exists in this case.
Cheers
Andreas