From: Yoni Rabkin Katzenell <address@hidden>
To: address@hidden
Date: Wed, 05 Dec 2007 18:54:32 +0200
Message-ID: <address@hidden>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Subject: TODO item: the mark and overlay in revert-buffer
--=-=-=
Hello, I am using GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, X toolkit,
Xaw3d scroll bars) of 2007-12-05
/etc/TODO says: revert-buffer should eliminate overlays and the mark.
This patch should do that. It removes the mark, mark-ring and all
overlays after `before-revert-hook' is run and before
`after-revert-hook' is run.
Additionally, the patch changes the doc-string to be more explicit about
how other modes use revert-buffer via 'revert-buffer-function'.
--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=2007-12-05-revert.patch
Content-Description: revert-buffer patch
*** old/files.el 2007-12-05 18:03:59.000000000 +0200
--- new/files.el 2007-12-05 18:03:54.000000000 +0200
***************
*** 4204,4213 ****
With a prefix argument, offer to revert from latest auto-save file, if
that is more recent than the visited file.
! This command also works for special buffers that contain text which
! doesn't come from a file, but reflects some other data base instead:
! for example, Dired buffers and `buffer-list' buffers. In these cases,
! it reconstructs the buffer contents from the appropriate data base.
When called from Lisp, the first argument is IGNORE-AUTO; only offer
to revert from the auto-save file when this is nil. Note that the
--- 4204,4215 ----
With a prefix argument, offer to revert from latest auto-save file, if
that is more recent than the visited file.
! This command also implements an interface for special buffers
! that contain text which doesn't come from a file, but reflects
! some other data instead (e.g. Dired buffers, `buffer-list'
! buffers). This is done via the variable
! `revert-buffer-function'. In these cases, it should reconstruct
! the buffer contents from the appropriate data.
When called from Lisp, the first argument is IGNORE-AUTO; only offer
to revert from the auto-save file when this is nil. Note that the
***************
*** 4323,4329 ****
(insert-file-contents file-name (not auto-save-p)
nil nil t))
(insert-file-contents file-name (not auto-save-p)
! nil nil t)))))
;; Recompute the truename in case changes in symlinks
;; have changed the truename.
(setq buffer-file-truename
--- 4325,4335 ----
(insert-file-contents file-name (not auto-save-p)
nil nil t))
(insert-file-contents file-name (not auto-save-p)
! nil nil t))
! ;; Reset the mark and remove all overlays.
! (setq mark-active nil
! mark-ring nil)
! (remove-overlays))))
;; Recompute the truename in case changes in symlinks
;; have changed the truename.
(setq buffer-file-truename
--=-=-=