mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
(buffer-swapped-with): New var, moved from files.el. Add advice to
basic-save-buffer to use it.
This commit is contained in:
parent
9b854b5c5e
commit
aae1ecbbc8
@ -41,6 +41,34 @@
|
||||
(require 'mail-utils)
|
||||
(eval-when-compile (require 'mule-util)) ; for detect-coding-with-priority
|
||||
|
||||
|
||||
;; The buffer-swapped-with feature has been moved here temporarily.
|
||||
;; When pmail is merged, this advice must be eliminated and the
|
||||
;; functionality somehow reimplemented.
|
||||
|
||||
(defvar buffer-swapped-with nil
|
||||
"Buffer that this buffer's contents are temporarily swapped with.
|
||||
You should only set this variable in file-visiting buffers,
|
||||
because it only affects how to save the buffer in its file.")
|
||||
|
||||
(make-variable-buffer-local 'buffer-swapped-with)
|
||||
|
||||
(defadvice basic-save-buffer
|
||||
(around check-swap activate)
|
||||
"If this buffer's real contents are swapped with some other buffer,
|
||||
temporarily unswap in order to save the real contents. This
|
||||
advice is temporarily used by pmail until a satisfactory solution
|
||||
can be written."
|
||||
(if (not buffer-swapped-with)
|
||||
ad-do-it
|
||||
(unwind-protect
|
||||
(let ((modp (buffer-modified-p)))
|
||||
(buffer-swap-text buffer-swapped-with)
|
||||
(set-buffer-modified-p modp)
|
||||
ad-do-it)
|
||||
(buffer-swap-text buffer-swapped-with)
|
||||
(set-buffer-modified-p nil))))
|
||||
|
||||
(defconst pmail-attribute-header "X-RMAIL-ATTRIBUTES"
|
||||
"The header that stores the Pmail attribute data.")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user