aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/mail/pmail.el28
1 files changed, 28 insertions, 0 deletions
diff --git a/lisp/mail/pmail.el b/lisp/mail/pmail.el
index 3a43cc0ce90..428102bdfc3 100644
--- a/lisp/mail/pmail.el
+++ b/lisp/mail/pmail.el
@@ -41,6 +41,34 @@
41(require 'mail-utils) 41(require 'mail-utils)
42(eval-when-compile (require 'mule-util)) ; for detect-coding-with-priority 42(eval-when-compile (require 'mule-util)) ; for detect-coding-with-priority
43 43
44
45;; The buffer-swapped-with feature has been moved here temporarily.
46;; When pmail is merged, this advice must be eliminated and the
47;; functionality somehow reimplemented.
48
49(defvar buffer-swapped-with nil
50 "Buffer that this buffer's contents are temporarily swapped with.
51You should only set this variable in file-visiting buffers,
52because it only affects how to save the buffer in its file.")
53
54(make-variable-buffer-local 'buffer-swapped-with)
55
56(defadvice basic-save-buffer
57 (around check-swap activate)
58 "If this buffer's real contents are swapped with some other buffer,
59temporarily unswap in order to save the real contents. This
60advice is temporarily used by pmail until a satisfactory solution
61can be written."
62 (if (not buffer-swapped-with)
63 ad-do-it
64 (unwind-protect
65 (let ((modp (buffer-modified-p)))
66 (buffer-swap-text buffer-swapped-with)
67 (set-buffer-modified-p modp)
68 ad-do-it)
69 (buffer-swap-text buffer-swapped-with)
70 (set-buffer-modified-p nil))))
71
44(defconst pmail-attribute-header "X-RMAIL-ATTRIBUTES" 72(defconst pmail-attribute-header "X-RMAIL-ATTRIBUTES"
45 "The header that stores the Pmail attribute data.") 73 "The header that stores the Pmail attribute data.")
46 74