mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08: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
1 changed files with 28 additions and 0 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue