branch: elpa/vm commit f5e571771867a7e06b0d23ee05b32d869aca5257 Author: Stefan Monnier <monn...@iro.umontreal.ca> Commit: Stefan Monnier <monn...@iro.umontreal.ca>
Use `with-current-buffer`; silences compiler warning --- contrib/vm-bogofilter.el | 3 +- contrib/vm-sumurg.el | 16 +++++----- lisp/vcard.el | 3 +- lisp/vm-avirtual.el | 14 +++------ lisp/vm-biff.el | 3 +- lisp/vm-digest.el | 27 ++++++----------- lisp/vm-edit.el | 3 +- lisp/vm-folder.el | 6 ++-- lisp/vm-grepmail.el | 6 ++-- lisp/vm-imap.el | 27 ++++++----------- lisp/vm-mark.el | 9 +++--- lisp/vm-menu.el | 3 +- lisp/vm-message.el | 3 +- lisp/vm-mime.el | 79 ++++++++++++++++-------------------------------- lisp/vm-minibuf.el | 3 +- lisp/vm-motion.el | 6 ++-- lisp/vm-mouse.el | 5 ++- lisp/vm-pcrisis.el | 15 +++------ lisp/vm-pgg.el | 31 +++++++------------ lisp/vm-pine.el | 12 +++----- lisp/vm-pop.el | 21 +++++-------- lisp/vm-ps-print.el | 3 +- lisp/vm-reply.el | 3 +- lisp/vm-rfaddons.el | 28 ++++++++--------- lisp/vm-save.el | 27 ++++++----------- lisp/vm-serial.el | 9 ++---- lisp/vm-summary.el | 39 ++++++++---------------- lisp/vm-undo.el | 5 +-- lisp/vm-vcard.el | 6 ++-- lisp/vm-virtual.el | 11 +++---- lisp/vm-w3m.el | 8 ++--- lisp/vm-window.el | 12 +++----- lisp/vm.el | 3 +- 33 files changed, 157 insertions(+), 292 deletions(-) diff --git a/contrib/vm-bogofilter.el b/contrib/vm-bogofilter.el index bd8e885505..12d9a84e1d 100644 --- a/contrib/vm-bogofilter.el +++ b/contrib/vm-bogofilter.el @@ -338,8 +338,7 @@ vm-retrieved-spooled-mail-hook." (buffer (get-buffer-create "*Shell Command Output*")) ) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer)) (set-buffer (vm-buffer-of message)) (save-restriction diff --git a/contrib/vm-sumurg.el b/contrib/vm-sumurg.el index 054f23cd87..00f76a0da3 100644 --- a/contrib/vm-sumurg.el +++ b/contrib/vm-sumurg.el @@ -284,8 +284,7 @@ ;; to avoid indefinite build-up (unintern (concat (vm-su-message-id m) label) vm-sumurg-timer-obarray) - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of m))) + (with-current-buffer (vm-buffer-of (vm-real-message-of m)) (unintern label vm-label-obarray)) (save-excursion (vm-sumurg-set-urgency level nil 1 m)) ) @@ -302,8 +301,8 @@ ;; copy it to the other buffer ;; we expect always to be in the summary ;; buffer here, but just in case... - (save-excursion - (set-buffer (or vm-mail-buffer vm-summary-buffer)) + (with-current-buffer + (or vm-mail-buffer vm-summary-buffer) (setq vm-sumurg-timer-obarray o)))) (intern (concat (vm-su-message-id m) label) vm-sumurg-timer-obarray) @@ -491,8 +490,7 @@ (aref vm-sumurg-facearray (vm-sumurg-level-of (car vm-message-pointer)))) (if vm-presentation-buffer - (save-excursion - (set-buffer vm-presentation-buffer) + (with-current-buffer vm-presentation-buffer (set-extent-face vm-ml-sumurg-extent (aref vm-sumurg-facearray (vm-sumurg-level-of @@ -704,9 +702,9 @@ happens later.)" (mapcar (lambda (label) (when (string-match "^\\*+[-0-9:t]+$" label) (vm-add-or-delete-message-labels label count nil) - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of - (car vm-message-pointer)))) + (with-current-buffer + (vm-buffer-of (vm-real-message-of + (car vm-message-pointer))) (unintern label vm-label-obarray)))) (vm-labels-of (car vm-message-pointer))) (if date diff --git a/lisp/vcard.el b/lisp/vcard.el index fe58cf1109..681d8c07ef 100644 --- a/lisp/vcard.el +++ b/lisp/vcard.el @@ -202,8 +202,7 @@ would be returned." (let ((vcard nil) (buf (generate-new-buffer " *vcard parser work*"))) (unwind-protect - (save-excursion - (set-buffer buf) + (with-current-buffer buf ;; Make sure last line is newline-terminated. ;; An extra trailing newline is harmless. (insert raw "\n") diff --git a/lisp/vm-avirtual.el b/lisp/vm-avirtual.el index 509f8a5c51..d17647ae1e 100644 --- a/lisp/vm-avirtual.el +++ b/lisp/vm-avirtual.el @@ -654,8 +654,7 @@ If VIRTUAL is true we check the current message and not the real one." (if msg (if virtual (apply 'vm-vs-or msg selector) - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of msg))) + (with-current-buffer (vm-buffer-of (vm-real-message-of msg)) (apply 'vm-vs-or msg selector))) (if (eq major-mode 'mail-mode) (apply 'vm-mail-vs-or selector)))) @@ -679,9 +678,8 @@ format: (vm-virtual-check-diagnostics (or vm-virtual-check-diagnostics diagnostics))) (with-output-to-temp-buffer "*VM virtual-folder-check*" - (save-excursion - (set-buffer "*VM virtual-folder-check*") - (toggle-truncate-lines t)) + (with-current-buffer "*VM virtual-folder-check*" + (toggle-truncate-lines t)) (princ (format "Checking %S on <%s> from %s\n\n" selector (vm-su-subject msg) (vm-su-from msg))) (princ (format "\nThe virtual folder selector `%s' is %s\n" @@ -1090,8 +1088,7 @@ This is not yet the whole story! USR, 2013-01-18" (save-excursion (vm-select-folder-buffer-and-validate 0 (vm-interactive-p)) ;; remove old descriptions - (save-excursion - (set-buffer vm-summary-buffer) + (with-current-buffer vm-summary-buffer (goto-char (point-min)) (let ((buffer-read-only nil) (s (point-min)) @@ -1110,8 +1107,7 @@ This is not yet the whole story! USR, 2013-01-18" f (cdr (assoc m vm-sort-compare-auto-folder-cache))) (when (not (equal oldf f)) (setq m (vm-su-start-of m)) - (save-excursion - (set-buffer (marker-buffer m)) + (with-current-buffer (marker-buffer m) (let ((buffer-read-only nil)) (goto-char m) (insert (format "%s\n" (or f "no default folder"))) diff --git a/lisp/vm-biff.el b/lisp/vm-biff.el index 39558533c7..98743cf4bb 100644 --- a/lisp/vm-biff.el +++ b/lisp/vm-biff.el @@ -257,8 +257,7 @@ folder selectors work." (defun vm-biff-find-folder-window (msg) (let ((buf (vm-buffer-of msg))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (or (vm-biff-get-buffer-window buf) (and vm-presentation-buffer (vm-biff-get-buffer-window vm-presentation-buffer)) diff --git a/lisp/vm-digest.el b/lisp/vm-digest.el index 2fd1afdf5c..e54f250ec3 100644 --- a/lisp/vm-digest.el +++ b/lisp/vm-digest.el @@ -63,12 +63,10 @@ to find out how KEEP-LIST and DISCARD-REGEXP are used." (narrow-to-region (point) (point)) (insert "------- start of forwarded message -------\n") (setq source-buffer (vm-buffer-of m)) - (save-excursion - (set-buffer source-buffer) + (with-current-buffer source-buffer (save-restriction (widen) - (save-excursion - (set-buffer target-buffer) + (with-current-buffer target-buffer (let ((beg (point))) ;; (insert-buffer-substring ;; source-buffer (vm-headers-of m) (vm-text-end-of m)) @@ -335,12 +333,10 @@ to find out how KEEP-LIST and DISCARD-REGEXP are used." (insert "---------------\n") (setq m (vm-real-message-of (car mlist)) source-buffer (vm-buffer-of m)) - (save-excursion - (set-buffer source-buffer) + (with-current-buffer source-buffer (save-restriction (widen) - (save-excursion - (set-buffer target-buffer) + (with-current-buffer target-buffer (let ((beg (point))) (insert-buffer-substring source-buffer (vm-headers-of m) (vm-text-end-of m)) @@ -430,12 +426,10 @@ to find out how KEEP-LIST and DISCARD-REGEXP are used." (insert "---------------\n\n") (setq m (vm-real-message-of (car mlist)) source-buffer (vm-buffer-of m)) - (save-excursion - (set-buffer source-buffer) + (with-current-buffer source-buffer (save-restriction (widen) - (save-excursion - (set-buffer target-buffer) + (with-current-buffer target-buffer (let ((beg (point))) (insert-buffer-substring source-buffer (vm-headers-of m) (vm-text-end-of m)) @@ -674,8 +668,7 @@ burst." (when vm-delete-after-bursting ;; if start folder was virtual, we're now in the wrong ;; buffer. switch back. - (save-excursion - (set-buffer start-buffer) + (with-current-buffer start-buffer ;; don't move message pointer when deleting the message (let ((vm-move-after-deleting nil)) (vm-delete-message 1)))) @@ -788,8 +781,7 @@ burst." (vm-inform 5 "Bursting %s digest... done" digest-type) (and vm-delete-after-bursting (yes-or-no-p (format "Delete message %s? " (vm-number-of m))) - (save-excursion - (set-buffer start-buffer) + (with-current-buffer start-buffer ;; don't move message pointer when deleting the message (let ((vm-move-after-deleting nil)) (vm-delete-message 1)))) @@ -814,8 +806,7 @@ burst." M should be the message struct of a real message. Returns either \"rfc934\", \"rfc1153\" or \"mime\"." (catch 'return-value - (save-excursion - (set-buffer (vm-buffer-of m)) + (with-current-buffer (vm-buffer-of m) (let ((layout (vm-mm-layout m))) (if (and (vectorp layout) (or (vm-mime-layout-contains-type diff --git a/lisp/vm-edit.el b/lisp/vm-edit.el index 5d2233f6ac..def542575f 100644 --- a/lisp/vm-edit.el +++ b/lisp/vm-edit.el @@ -272,8 +272,7 @@ thread have their cached data discarded." (if (not (buffer-modified-p)) (vm-inform 5 "No change.") (widen) - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of (car mp)))) + (with-current-buffer (vm-buffer-of (vm-real-message-of (car mp))) (if (not (memq (vm-real-message-of (car mp)) vm-message-list)) (error "The original copy of this message has been expunged.")) (save-restriction diff --git a/lisp/vm-folder.el b/lisp/vm-folder.el index f23292bc85..5d887daac8 100644 --- a/lisp/vm-folder.el +++ b/lisp/vm-folder.el @@ -4168,8 +4168,7 @@ Same as \\[vm-recover-folder]." (find-file-noselect crash-box))) (if (eq (current-buffer) crash-buf) (error "folder is the same file as crash box, cannot continue")) - (save-excursion - (set-buffer crash-buf) + (with-current-buffer crash-buf (setq crash-folder-type (vm-get-folder-type)) (if (and crash-folder-type vm-check-folder-types) (cond ((eq crash-folder-type 'unknown) @@ -5428,8 +5427,7 @@ during retrieval. Gives an error if unable to retrieve message." (if (not (eq (vm-message-access-method-of mm) 'imap)) (message "External messages currently available only for imap folders.") - (save-excursion - (set-buffer (vm-buffer-of mm)) + (with-current-buffer (vm-buffer-of mm) (save-restriction (widen) (narrow-to-region (marker-position (vm-headers-of mm)) diff --git a/lisp/vm-grepmail.el b/lisp/vm-grepmail.el index ce0c0d2a37..8762ff59e1 100644 --- a/lisp/vm-grepmail.el +++ b/lisp/vm-grepmail.el @@ -168,8 +168,7 @@ FOLDERS should be a list of files/directories to search in." (vm-display (current-buffer) nil nil '(reading-message)) (vm-display (current-buffer) t nil '(vm-next-message reading-message)) - (save-excursion - (set-buffer process-buffer) + (with-current-buffer process-buffer (setq default-directory (expand-file-name vm-folder-directory)) (erase-buffer) (switch-to-buffer process-buffer) @@ -246,8 +245,7 @@ FOLDERS should be a list of files/directories to search in." MESSAGE-BUFFER is the buffer of the message. START the start position in the process output buffer. END the end position in the process output buffer." - (save-excursion - (set-buffer vm-grepmail-folder-buffer) + (with-current-buffer vm-grepmail-folder-buffer (let ((buffer-read-only nil)) (save-restriction (widen) diff --git a/lisp/vm-imap.el b/lisp/vm-imap.el index a2be767c61..de1d053392 100644 --- a/lisp/vm-imap.el +++ b/lisp/vm-imap.el @@ -610,8 +610,7 @@ from which mail is to be moved and DESTINATION is the VM folder." :purpose "movemail")) (or process (throw 'end-of-session nil)) (setq process-buffer (process-buffer process)) - (save-excursion ; = save-current-buffer? - (set-buffer process-buffer) + (with-current-buffer process-buffer ;;-------------------------------- (vm-buffer-type:enter 'process) ;;-------------------------------- @@ -1226,8 +1225,7 @@ Returns the process or nil if the session could not be created." (unwind-protect (catch 'end-of-session - (save-excursion ; = save-current-buffer? - (set-buffer imap-buffer) + (with-current-buffer imap-buffer ;;---------------------------- (vm-buffer-type:enter 'process) ;;---------------------------- @@ -1489,8 +1487,7 @@ as well." (when (and process (memq (process-status process) '(open run)) (buffer-live-p (process-buffer process))) (unwind-protect - (save-excursion ; = save-current-buffer? - (set-buffer imap-buffer) + (with-current-buffer imap-buffer ;;---------------------------- (vm-buffer-type:enter 'process) ;;---------------------------- @@ -3084,8 +3081,7 @@ server should be issued by UID, not message sequence number." (setq flags- (append (cdr copied-flags) flags-)) (unwind-protect - (save-excursion ; = save-current-buffer? - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) ;;---------------------------------- (vm-buffer-type:enter 'process) ;;---------------------------------- @@ -3167,8 +3163,7 @@ MAILBOX." ;;------------------- ) (unwind-protect - (save-excursion ; = save-current-buffer? - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) ;;---------------------------- (vm-buffer-type:enter 'process) ;;---------------------------- @@ -3556,8 +3551,7 @@ headers-only form." (mapcar (function cdr) retrieve-list))) (unwind-protect (condition-case error-data - (save-excursion ; = save-current-buffer? - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) ;;---------------------------- (vm-buffer-type:enter 'process) ;;---------------------------- @@ -3698,8 +3692,7 @@ headers-only form." (setq d-list (vm-imap-bunch-messages (nreverse (mapcar (function cdr) m-list)))) (setq expunge-count 0) ; number of messages expunged - (save-excursion ; = save-current-buffer? - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) ;;--------------------------- (vm-buffer-type:set 'process) ;;--------------------------- @@ -3881,8 +3874,7 @@ otherwise. (error "Message has an invalid UID")) (setq imap-buffer (process-buffer process)) (unwind-protect - (save-excursion ; = save-current-buffer? - (set-buffer imap-buffer) + (with-current-buffer imap-buffer ;;---------------------------------- (vm-buffer-type:enter 'process) (vm-imap-session-type:assert-active) @@ -4235,8 +4227,7 @@ IMAP mailbox spec." sep p r response need-ok) (vm-imap-check-connection process) (unwind-protect - (save-excursion ; = save-current-buffer? - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) ;;---------------------------------- (vm-buffer-type:enter 'process) (vm-imap-session-type:assert-active) diff --git a/lisp/vm-mark.el b/lisp/vm-mark.el index fee509cef6..149f125a3c 100644 --- a/lisp/vm-mark.el +++ b/lisp/vm-mark.el @@ -200,11 +200,10 @@ previous N-1 messages." (setq selector (intern (concat "vm-vs-" (symbol-name selector)))) (while mlist (if (if virtual - (save-excursion - (set-buffer - (vm-buffer-of - (vm-real-message-of - (car mlist)))) + (with-current-buffer + (vm-buffer-of + (vm-real-message-of + (car mlist))) (apply selector (vm-real-message-of (car mlist)) arglist)) (apply selector (car mlist) arglist)) (progn diff --git a/lisp/vm-menu.el b/lisp/vm-menu.el index ed8148465c..749c4a8ede 100644 --- a/lisp/vm-menu.el +++ b/lisp/vm-menu.el @@ -820,8 +820,7 @@ set to the command name so that window configuration will be done." (defun vm-menu--global-menubar () (if (featurep 'xemacs) - (save-excursion - (set-buffer (get-buffer-create "*scratch*")) + (with-current-buffer (get-buffer-create "*scratch*") current-menubar) (lookup-key (current-global-map) [menu-bar]))) diff --git a/lisp/vm-message.el b/lisp/vm-message.el index ab29cdd5c5..882d70ff2f 100644 --- a/lisp/vm-message.el +++ b/lisp/vm-message.el @@ -727,8 +727,7 @@ works in all VM buffers." mvec )) (defun vm-find-and-set-text-of (m) - (save-excursion - (set-buffer (vm-buffer-of m)) + (with-current-buffer (vm-buffer-of m) (save-restriction (widen) (goto-char (vm-headers-of m)) diff --git a/lisp/vm-mime.el b/lisp/vm-mime.el index 7fd17d8555..2e07ea54bf 100644 --- a/lisp/vm-mime.el +++ b/lisp/vm-mime.el @@ -430,8 +430,7 @@ freshly parsing the message contents." (progn (setq m (vm-real-message-of m)) (vm-set-mime-encoded-header-flag-of m - (save-excursion - (set-buffer (vm-buffer-of m)) + (with-current-buffer (vm-buffer-of m) (save-excursion (save-restriction (widen) @@ -517,8 +516,7 @@ same effect." coding-system foo)) (setq start (point-min) end (point-max)) (setq retval (buffer-size)) - (save-excursion - (set-buffer b) + (with-current-buffer b (goto-char b-start) (insert-buffer-substring work-buffer start end) (delete-region (point) (+ (point) oldsize)) @@ -548,8 +546,7 @@ same effect." coding-system foo)) (and (not (featurep 'xemacs)) (set-buffer-multibyte t)) ; is this safe? (setq start (point-min) end (point-max)) - (save-excursion - (set-buffer b) + (with-current-buffer b (goto-char b-start) (delete-region (point) (+ (point) oldsize)) (insert-buffer-substring work-buffer start end) @@ -675,8 +672,7 @@ out includes base-64, quoted-printable, uuencode and CRLF conversion." ((= counter 0) t))) (t (skip-chars-forward non-data-chars end))))) (and crlf - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (vm-mime-crlf-to-lf-region (point-min) (point-max)))) (goto-char start) (insert-buffer-substring work-buffer) @@ -729,8 +725,7 @@ out includes base-64, quoted-printable, uuencode and CRLF conversion." (if (not (eq status t)) (vm-mime-error "base64-encode failed: %s" (cdr status))) (if B-encoding - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer ;; if we're B encoding, strip out the line breaks (goto-char (point-min)) (while (search-forward "\n" nil t) @@ -821,8 +816,7 @@ out includes base-64, quoted-printable, uuencode and CRLF conversion." (setq copy-point (point)) (goto-char stop-point)) (t (setq copy-point stop-point))) - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (insert-buffer-substring buf inputpos copy-point)) (cond ((= (point) end) t) ((looking-at "\n") @@ -891,14 +885,12 @@ out includes base-64, quoted-printable, uuencode and CRLF conversion." (if (not (eq status t)) (vm-mime-error "qp-encode failed: %s" (cdr status))) (if quote-from - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (goto-char (point-min)) (while (re-search-forward "^From " nil t) (replace-match "=46rom " t t)))) (if Q-encoding - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer ;; strip out the line breaks (goto-char (point-min)) (while (search-forward "=\n" nil t) @@ -1563,8 +1555,7 @@ shorter pieces, rebuild it from them." a string denoting the folder name." (let ((pres-buf (vm-generate-new-multibyte-buffer (concat name " Presentation")))) - (save-excursion - (set-buffer pres-buf) + (with-current-buffer pres-buf (buffer-disable-undo (current-buffer)) (setq mode-name "VM Presentation" major-mode 'vm-presentation-mode @@ -1618,8 +1609,7 @@ source of the message." (when (fboundp 'remove-specifier) (remove-specifier (face-foreground 'default) pres-buf) (remove-specifier (face-background 'default) pres-buf)) - (save-excursion - (set-buffer (vm-buffer-of real-m)) + (with-current-buffer (vm-buffer-of real-m) (save-restriction (widen) ;; must reference this now so that headers will be in @@ -1866,8 +1856,7 @@ message body from the file into the current buffer. For example, 'X-VM-Storage: (file \"message-11\")' will fetch the actual message from the file \"message-11\"." (goto-char (match-end 0)) - (save-excursion - (set-buffer (marker-buffer (vm-text-of mm))) + (with-current-buffer (marker-buffer (vm-text-of mm)) (let ((buffer-read-only nil) (inhibit-read-only t) (buffer-undo-list t) @@ -3659,8 +3648,7 @@ button that this LAYOUT comes from." vm-wget-program "-q" "-O" "-" url) (error nil))) t - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) nil ))) ((if (and (memq 'w3m vm-url-retrieval-methods) @@ -3670,8 +3658,7 @@ button that this LAYOUT comes from." vm-w3m-program "-dump_source" url) (error nil))) t - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) nil ))) ((if (and (memq 'fetch vm-url-retrieval-methods) @@ -3681,8 +3668,7 @@ button that this LAYOUT comes from." vm-fetch-program "-o" "-" url) (error nil))) t - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) nil ))) ((if (and (memq 'curl vm-url-retrieval-methods) @@ -3692,8 +3678,7 @@ button that this LAYOUT comes from." vm-curl-program url) (error nil))) t - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) nil ))) ((if (and (memq 'lynx vm-url-retrieval-methods) @@ -3703,13 +3688,10 @@ button that this LAYOUT comes from." vm-lynx-program "-source" url) (error nil))) t - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) nil ))))) - (save-excursion - (set-buffer buffer) - (not (zerop (buffer-size)))))) + (not (zerop (buffer-size buffer))))) (defun vm-mime-internalize-local-external-bodies (layout) "Given a LAYOUT representing a message/external-body object, convert @@ -3775,8 +3757,7 @@ it to an internal object by retrieving the body. USR, 2011-03-28" (if (null id) (vm-mime-error "message/partial message missing id parameter")) - (save-excursion - (set-buffer (marker-buffer (vm-mm-layout-body-start layout))) + (with-current-buffer (marker-buffer (vm-mm-layout-body-start layout)) (save-excursion (save-restriction (widen) @@ -3970,8 +3951,7 @@ describing the image type. USR, 2011-03-25" (vm-set-extent-property e 'vm-mime-layout layout) (vm-set-extent-property e 'vm-mime-disposable t) (vm-set-extent-property e 'keymap keymap) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (set (make-local-variable 'vm-image-list) image-list) (set (make-local-variable 'vm-image-type) image-type) (set (make-local-variable 'vm-image-type-name) @@ -4089,8 +4069,7 @@ describing the image type. USR, 2011-03-25" (overlay-put o 'vm-mime-disposable t) (if vm-use-menus (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu)) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (set (make-local-variable 'vm-image-list) image-list) (set (make-local-variable 'vm-image-type) image-type) (set (make-local-variable 'vm-image-type-name) @@ -4238,8 +4217,7 @@ describing the image type. USR, 2011-03-25" (and work-buffer (kill-buffer work-buffer))))) (defun vm-process-sentinel-display-image-strips (process what-happened) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (cond ((and (boundp 'vm-extent-list) (boundp 'vm-image-list)) (let ((strips vm-image-list) @@ -4287,8 +4265,7 @@ describing the image type. USR, 2011-03-25" (defun vm-display-image-strips-on-overlay-regions (strips overlays image-type) (let (prop value omodified) - (save-excursion - (set-buffer (overlay-buffer (car vm-overlay-list))) + (with-current-buffer (overlay-buffer (car vm-overlay-list)) (setq omodified (buffer-modified-p)) (save-restriction (widen) @@ -4319,8 +4296,7 @@ describing the image type. USR, 2011-03-25" (setq which-strips (cons (string-to-number (match-string 1 output)) which-strips) i (match-end 0))) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (cond ((and (boundp 'vm-extent-list) (boundp 'vm-image-list)) (let ((strips vm-image-list) @@ -4373,8 +4349,7 @@ describing the image type. USR, 2011-03-25" (defun vm-display-some-image-strips-on-overlay-regions (strips overlays image-type which-strips) (let (sss ooo prop value omodified) - (save-excursion - (set-buffer (overlay-buffer (car vm-overlay-list))) + (with-current-buffer (overlay-buffer (car vm-overlay-list)) (setq omodified (buffer-modified-p)) (save-restriction (widen) @@ -8162,10 +8137,8 @@ the first sub part of a multipart/alternative is a text/plain part." (when (and nuke-html (member "multipart/alternative" parent-types) (vm-mime-types-match "text/html" this-type)) - (save-excursion - (set-buffer (vm-buffer-of m)) - (let ((inhibit-read-only t) - (buffer-read-only nil)) + (with-current-buffer (vm-buffer-of m) + (let ((buffer-read-only nil)) (save-restriction (widen) (if (vm-mm-layout-is-converted layout) diff --git a/lisp/vm-minibuf.el b/lisp/vm-minibuf.el index 941759ed44..5f9ca2a95a 100644 --- a/lisp/vm-minibuf.el +++ b/lisp/vm-minibuf.el @@ -176,8 +176,7 @@ to the calling program." (defun vm-minibuffer-show-completions (list) "Display LIST in a multi-column listing in the \" *Completions*\" buffer. LIST should be a list of strings." - (save-excursion - (set-buffer (get-buffer-create " *Completions*")) + (with-current-buffer (get-buffer-create " *Completions*") (setq buffer-read-only nil) (use-local-map (make-sparse-keymap)) ;; ignore vm-mutable-* here. the user shouldn't mind diff --git a/lisp/vm-motion.el b/lisp/vm-motion.el index 81ca29dbcb..95db09c254 100644 --- a/lisp/vm-motion.el +++ b/lisp/vm-motion.el @@ -530,8 +530,7 @@ If a new message is selected then return t, otherwise nil. USR, 2010-03-08" (and vm-follow-summary-cursor (eq major-mode 'vm-summary-mode) (let ((point (point)) message-pointer message-list mp) - (save-excursion - (set-buffer vm-mail-buffer) + (with-current-buffer vm-mail-buffer (setq message-pointer vm-message-pointer message-list vm-message-list)) (cond ((or (null message-pointer) @@ -576,8 +575,7 @@ If a new message is selected then return t, otherwise nil. USR, 2010-03-08" (+ (vm-su-start-of (car mp)) 3) 'invisible)) (setq mp (cdr mp))) (if (not (eq mp message-pointer)) - (save-excursion - (set-buffer vm-mail-buffer) + (with-current-buffer vm-mail-buffer ;; presentation disabled to avoid message ;; loading. USR, 2010-09-30 (vm-record-and-change-message-pointer diff --git a/lisp/vm-mouse.el b/lisp/vm-mouse.el index ec27d6ae82..e3f824c2d5 100644 --- a/lisp/vm-mouse.el +++ b/lisp/vm-mouse.el @@ -120,7 +120,7 @@ Mouse'." "Use mouse button 3 to see a menu of options.") (defun vm-mouse-get-mouse-track-string (event) - (save-excursion + (save-current-buffer ;; go to where the event occurred (cond ((featurep 'xemacs) (set-buffer (window-buffer (event-window event))) @@ -594,8 +594,7 @@ HISTORY argument is ignored." (defvar vm-mouse-read-string-should-delete-frame) (defun vm-mouse-read-string (prompt completion-list &optional multi-word) - (save-excursion - (set-buffer (vm-make-work-buffer " *Choices*")) + (with-current-buffer (vm-make-work-buffer " *Choices*") (use-local-map (make-sparse-keymap)) (setq buffer-read-only t) (make-local-variable 'vm-mouse-read-string-prompt) diff --git a/lisp/vm-pcrisis.el b/lisp/vm-pcrisis.el index 8a0a3638fe..cc042a9700 100644 --- a/lisp/vm-pcrisis.el +++ b/lisp/vm-pcrisis.el @@ -925,8 +925,7 @@ parameter POS means insert the pre-signature at position POS if (setq vmpc-auto-profiles (reverse vmpc-auto-profiles))) (when (and (file-exists-p vmpc-auto-profiles-file) ; (file-readable-p vmpc-auto-profiles-file)) - (save-excursion - (set-buffer (get-buffer-create "*pcrisis-temp*")) + (with-current-buffer (get-buffer-create "*pcrisis-temp*") (buffer-disable-undo (current-buffer)) (erase-buffer) (insert-file-contents vmpc-auto-profiles-file) @@ -942,8 +941,7 @@ parameter POS means insert the pre-signature at position POS if ;; if file is not writable, signal an error: (error "Error: P-Crisis could not write to file %s" vmpc-auto-profiles-file)) - (save-excursion - (set-buffer (get-buffer-create "*pcrisis-temp*")) + (with-current-buffer (get-buffer-create "*pcrisis-temp*") (buffer-disable-undo (current-buffer)) (erase-buffer) (goto-char (point-min)) @@ -1075,8 +1073,7 @@ If no email address in found in STR, returns nil." whitespace." (let (result (not-separators (concat "^" separators))) - (save-excursion - (set-buffer (get-buffer-create " *split*")) + (with-current-buffer (get-buffer-create " *split*") (erase-buffer) (insert string) (goto-char (point-min)) @@ -1474,8 +1471,7 @@ buffer to which to write diagnostic output." (let ((form (cons 'progn (cdr form))) (results (eval (cons 'progn (cdr form))))) (when verbose - (save-excursion - (set-buffer verbose) + (with-current-buffer verbose (insert (format "Action form is:\n%S\nResults are:\n%S\n" form results)))))))) @@ -1524,8 +1520,7 @@ recursion nor concurrent calls." ;; BUGME why is the global value resurrected after making the variable ;; buffer local? Is this related to defadvice? I have no idea what is ;; going on here! Thus we clear it afterwards now! - (save-excursion - (set-buffer (get-buffer-create " *vmpc-cleanup*")) + (with-current-buffer (get-buffer-create " *vmpc-cleanup*") (vmpc-init-vars) (setq vmpc-current-buffer nil))) diff --git a/lisp/vm-pgg.el b/lisp/vm-pgg.el index ab5f0b7d9e..4676e12775 100644 --- a/lisp/vm-pgg.el +++ b/lisp/vm-pgg.el @@ -490,12 +490,10 @@ If STATES is nil, clear it." (setq vm-pgg-state-message (car vm-message-pointer)) (setq vm-pgg-state nil) (when vm-presentation-buffer - (save-excursion - (set-buffer vm-presentation-buffer) + (with-current-buffer vm-presentation-buffer (setq vm-pgg-state nil))) (when vm-summary-buffer - (save-excursion - (set-buffer vm-summary-buffer) + (with-current-buffer vm-summary-buffer (setq vm-pgg-state nil)))) ;; add prefix (if (and states (not vm-pgg-state)) @@ -511,12 +509,10 @@ If STATES is nil, clear it." ;; propagate state (setq states vm-pgg-state) (when vm-presentation-buffer - (save-excursion - (set-buffer vm-presentation-buffer) + (with-current-buffer vm-presentation-buffer (setq vm-pgg-state states))) (when vm-summary-buffer - (save-excursion - (set-buffer vm-summary-buffer) + (with-current-buffer vm-summary-buffer (setq vm-pgg-state states))))) (defvar vm-pgg-cleartext-begin-regexp @@ -857,8 +853,7 @@ cleanup here after verification and decoding took place." :layout layout))) (t ;; decode the message now - (save-excursion - (set-buffer (vm-buffer-of (vm-mm-layout-message message))) + (with-current-buffer (vm-buffer-of (vm-mm-layout-message message)) (save-restriction (widen) (setq status (pgg-decrypt-region (vm-mm-layout-body-start message) @@ -868,16 +863,14 @@ cleanup here after verification and decoding took place." (vm-pgg-state-set 'error) (insert-buffer-substring pgg-errors-buffer) (put-text-property start (point) 'face 'vm-pgg-error)) - (save-excursion - (set-buffer pgg-output-buffer) + (with-current-buffer pgg-output-buffer (vm-pgg-crlf-cleanup (point-min) (point-max)) (setq message (vm-mime-parse-entity-safe nil :passing-message-only t))) (if message (vm-decode-mime-layout message) (insert-buffer-substring pgg-output-buffer)) - (setq status (save-excursion - (set-buffer pgg-errors-buffer) + (setq status (with-current-buffer pgg-errors-buffer (goto-char (point-min)) ;; TODO: care for BADSIG (when (re-search-forward "GOODSIG [^\n\r]+" (point-max) t) @@ -1021,8 +1014,8 @@ cleanup here after verification and decoding took place." ;; verify (unless (pgg-snarf-keys) (error "Snarfing failed")) - (save-excursion - (set-buffer (if (not (featurep 'xemacs)) pgg-errors-buffer pgg-output-buffer)) + (with-current-buffer + (if (not (featurep 'xemacs)) pgg-errors-buffer pgg-output-buffer) (message (buffer-substring (point-min) (point-max)))))) ;;; ###autoload @@ -1036,8 +1029,7 @@ cleanup here after verification and decoding took place." (description (concat "public key of " pgg-default-user-id)) (buffer (get-buffer-create (concat " *" description "*"))) start) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer) (setq start (point)) (pgg-insert-key) @@ -1084,8 +1076,7 @@ seed and thus creates the same boundery when called twice in a short period." (let ((composition-buffer (current-buffer)) (undo-list-backup buffer-undo-list) (work-buffer (get-buffer-create " *VM-PGG-WORK*"))) - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (buffer-disable-undo) (erase-buffer) (insert-buffer-substring composition-buffer) diff --git a/lisp/vm-pine.el b/lisp/vm-pine.el index 19e739bf68..be44165e5f 100644 --- a/lisp/vm-pine.el +++ b/lisp/vm-pine.el @@ -428,8 +428,7 @@ creation). If DRAFT is non-nil, then do not delete the draft message." (goto-char (point-max)) (if presentation-buffer ;; when using presentation buffer we have to - (save-excursion - (set-buffer presentation-buffer) + (with-current-buffer presentation-buffer (goto-char (point-min)) (search-forward-regexp "\n\n") (setq tstart (match-end 0) @@ -634,8 +633,7 @@ Optional argument DONT-KILL is positive, then do not kill source message." (setq folder-buffer (vm-get-file-buffer folder)) (if folder-buffer ;; o.k. the folder is already opened - (save-excursion - (set-buffer folder-buffer) + (with-current-buffer folder-buffer (vm-error-if-folder-read-only) (let ((buffer-read-only nil)) (save-restriction @@ -745,8 +743,7 @@ Drafts in other folders are not recognized!" ;; postponed message in postponed folder (when (and (not action) (setq buffer (vm-get-file-buffer ppfolder))) (if (and (get-buffer-window-list buffer nil 0)) - (when (save-excursion - (set-buffer buffer) + (when (with-current-buffer buffer (not (vm-deleted-flag (car vm-message-pointer)))) (message "Please select a draft!") (select-window (car (get-buffer-window-list buffer nil 0))) @@ -1049,8 +1046,7 @@ This function is a slightly changed version of `vm-auto-select-folder'." (result)) ;; Set up a buffer that matches our cached ;; match data. - (save-excursion - (set-buffer buf) + (with-current-buffer buf (if (not (featurep 'xemacs)) (set-buffer-multibyte nil)) ; for empty buffer (widen) diff --git a/lisp/vm-pop.el b/lisp/vm-pop.el index f432e8b368..f6dd546214 100644 --- a/lisp/vm-pop.el +++ b/lisp/vm-pop.el @@ -153,8 +153,7 @@ a POP server, find its cache file on the file system" (setq process (vm-pop-make-session source vm-pop-ok-to-ask)) (or process (throw 'done nil)) (setq process-buffer (process-buffer process)) - (save-excursion - (set-buffer process-buffer) + (with-current-buffer process-buffer ;; find out how many messages are in the box. (vm-pop-send-command process "STAT") (setq response (vm-pop-read-stat-response process) @@ -506,8 +505,7 @@ Returns the process or nil if the session could not be created." (vm-make-trace-buffer-name session-name host))) (unwind-protect (catch 'end-of-session - (save-excursion ; = save-current-buffer? - (set-buffer pop-buffer) + (with-current-buffer pop-buffer (setq vm-folder-type (or folder-type vm-default-folder-type)) (buffer-disable-undo pop-buffer) (make-local-variable 'vm-pop-read-point) @@ -679,8 +677,7 @@ is non-nil, the process buffer is retained, otherwise it is killed as well." (if (and process (memq (process-status process) '(open run)) (buffer-live-p (process-buffer process))) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (vm-pop-send-command process "QUIT") ;; Previously we did not read the QUIT response because of ;; TCP shutdown problems (under Windows?) that made it @@ -977,8 +974,7 @@ popdrop (let ((attrs (file-attributes target))) (or (null attrs) (equal 0 (nth 7 attrs))))) ((bufferp target) - (save-excursion - (set-buffer target) + (with-current-buffer target (zerop (buffer-size)))))) (let ((opoint (point))) (vm-convert-folder-header nil vm-folder-type) @@ -1003,8 +999,7 @@ popdrop (selective-display nil)) (write-region start end target t 0)) (let ((b (current-buffer))) - (save-excursion - (set-buffer target) + (with-current-buffer target (let ((buffer-read-only nil)) (insert-buffer-substring b start end))))) (delete-region start end) @@ -1047,8 +1042,7 @@ popdrop (defun vm-pop-get-uidl-data () (let ((there (make-vector 67 0)) (process (vm-folder-pop-process))) - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (vm-pop-send-command process "UIDL") (let ((start vm-pop-read-point) n uidl) @@ -1178,8 +1172,7 @@ LOCAL-EXPUNGE-LIST: A list of message descriptors for messages in the (widen) (goto-char (point-max)) (condition-case error-data - (save-excursion - (set-buffer (process-buffer process)) + (with-current-buffer (process-buffer process) (setq statblob (vm-pop-start-status-timer)) (vm-set-pop-stat-x-box statblob safe-popdrop) (vm-set-pop-stat-x-maxmsg statblob diff --git a/lisp/vm-ps-print.el b/lisp/vm-ps-print.el index e636c65e34..c782687560 100644 --- a/lisp/vm-ps-print.el +++ b/lisp/vm-ps-print.el @@ -387,8 +387,7 @@ for customization of the output." If EACH it t, then replace `vm-print-message' by 'vm-ps-print-each-message', otherwise by `vm-ps-print-message'." (let ((tmpbuf (get-buffer-create "*vm-ps-print*"))) - (save-excursion - (set-buffer tmpbuf) + (with-current-buffer tmpbuf (erase-buffer) (insert (format "(setq %s '%S)" (symbol-name menu) (symbol-value menu))) (if (re-search-backward "vm-\\(ps-\\)?print-\\(each-\\)?message" diff --git a/lisp/vm-reply.el b/lisp/vm-reply.el index 30dd73da3c..804589bca3 100644 --- a/lisp/vm-reply.el +++ b/lisp/vm-reply.el @@ -860,8 +860,7 @@ as replied to, forwarded, etc, if appropriate." (let (list) (setq list (vm-mime-fragment-composition vm-mime-max-message-size)) (while list - (save-excursion - (set-buffer (car list)) + (with-current-buffer (car list) (vm-mail-send) (kill-buffer (car list))) (setq list (cdr list))) diff --git a/lisp/vm-rfaddons.el b/lisp/vm-rfaddons.el index 3db400d546..f3cd0ca5a6 100644 --- a/lisp/vm-rfaddons.el +++ b/lisp/vm-rfaddons.el @@ -786,19 +786,18 @@ See the variable `vm-handle-return-receipt-mode' for customization. (Rob F)" "Your mail has been received on %s." (current-time-string))) (save-restriction - (save-excursion - (set-buffer (vm-buffer-of msg)) - (widen) - (setq message - (buffer-substring - (vm-vheaders-of msg) - (let ((tp (+ vm-handle-return-receipt-peek - (marker-position - (vm-text-of msg)))) - (ep (marker-position - (vm-end-of msg)))) - (if (< tp ep) tp ep)) - )))) + (with-current-buffer (vm-buffer-of msg) + (widen) + (setq message + (buffer-substring + (vm-vheaders-of msg) + (let ((tp (+ vm-handle-return-receipt-peek + (marker-position + (vm-text-of msg)))) + (ep (marker-position + (vm-end-of msg)))) + (if (< tp ep) tp ep)) + )))) (insert "\n-----------------------------------------------------------------------------\n" message) (if (re-search-backward "^\\s-+.*" (point-min) t) @@ -1913,8 +1912,7 @@ calls. (Rob F)" (error (message (cadr err)) (if (and (get-buffer n) - (< 0 (length (save-excursion - (set-buffer (get-buffer n)) + (< 0 (length (with-current-buffer (get-buffer n) (buffer-substring (point-min) (point-max)))))) (pop-to-buffer n)))) (if stream (delete-process stream)) diff --git a/lisp/vm-save.el b/lisp/vm-save.el index fe6cba47a9..bb0a7a690e 100644 --- a/lisp/vm-save.el +++ b/lisp/vm-save.el @@ -77,8 +77,7 @@ specified, use `vm-auto-folder-alist'." (result)) ;; Set up a buffer that matches our cached ;; match data. - (save-excursion - (set-buffer buf) + (with-current-buffer buf (if (not (featurep 'xemacs)) (set-buffer-multibyte nil)) ; for empty buffer (widen) @@ -426,8 +425,7 @@ The saved messages are flagged as `filed'." (vm-write-string folder (vm-trailing-message-separator target-type)))) ;; write to folder-buffer - (save-excursion - (set-buffer folder-buffer) + (with-current-buffer folder-buffer ;; if the buffer is a live VM folder ;; honor vm-folder-read-only. (when vm-folder-read-only @@ -581,8 +579,7 @@ This command should NOT be used to save message to mail folders; use (vm-text-of m) (vm-text-end-of m) file t 'quiet) (let ((start (vm-text-of m)) (end (vm-text-end-of m))) - (save-excursion - (set-buffer file-buffer) + (with-current-buffer file-buffer (save-excursion (let (buffer-read-only) (save-restriction @@ -608,7 +605,7 @@ This command should NOT be used to save message to mail folders; use (defun vm-switch-to-command-output-buffer (command buffer discard-output) "Eventually switch to the output buffer of the command." - (let ((output-bytes (save-excursion (set-buffer buffer) (buffer-size)))) + (let ((output-bytes (with-current-buffer buffer (buffer-size)))) (if (zerop output-bytes) (vm-inform 5 "Command '%s' produced no output." command) (if discard-output @@ -663,8 +660,7 @@ Output, if any, is displayed. The message is not altered." ;; vm-select-operable-messages for marks and threads. (mlist (vm-select-operable-messages 1 (vm-interactive-p) "Pipe"))) (vm-retrieve-operable-messages 1 mlist :fail t) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer)) (while mlist (setq m (vm-real-message-of (car mlist))) @@ -689,8 +685,7 @@ Output, if any, is displayed. The message is not altered." "Run a shell command with contents from the current message as input. This function is like `vm-pipe-message-to-command', but will not display the output of the command, but return it as a string." - (save-excursion - (set-buffer (vm-pipe-message-to-command command prefix-arg t)) + (with-current-buffer (vm-pipe-message-to-command command prefix-arg t) (buffer-substring-no-properties (point-min) (point-max)))) ;;;###autoload @@ -779,9 +774,7 @@ arguments after the command finished." (mlist (vm-select-operable-messages 1 (vm-interactive-p) "Pipe")) m process) (vm-retrieve-operable-messages 1 mlist :fail t) - (save-excursion - (set-buffer buffer) - (erase-buffer)) + (with-current-buffer buffer (erase-buffer)) (setq process (start-process command buffer (or shell-file-name "sh") shell-command-switch command)) @@ -838,8 +831,7 @@ output of the command, but return it as a string." (vm-select-folder-buffer) (list (read-string "Pipe to command: " vm-last-pipe-command) current-prefix-arg)))) - (save-excursion - (set-buffer (vm-pipe-messages-to-command command prefix-arg t)) + (with-current-buffer (vm-pipe-messages-to-command command prefix-arg t) (buffer-substring-no-properties (point-min) (point-max)))) ;;;###autoload @@ -894,8 +886,7 @@ Output, if any, is displayed. The message is not altered." (mlist (vm-select-operable-messages count (vm-interactive-p) "Print"))) (vm-retrieve-operable-messages count mlist :fail t) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (erase-buffer)) (while mlist (setq m (vm-real-message-of (car mlist))) diff --git a/lisp/vm-serial.el b/lisp/vm-serial.el index da3c81b29a..3ae44948e3 100644 --- a/lisp/vm-serial.el +++ b/lisp/vm-serial.el @@ -763,8 +763,7 @@ a warning." (defvar vm-serial-send-mail-exit nil) (defun vm-serial-send-mail-increment (variable) - (save-excursion - (set-buffer vm-serial-source-buffer) + (with-current-buffer vm-serial-source-buffer (eval (list 'vm-increment variable)))) @@ -821,8 +820,7 @@ questions will bother you!" vm-serial-killed-cnt 0))) ;; mail-extract-address-components isn't good at all! Fix it! - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (setq major-mode 'mail-mode)) (while (and (not work) vm-serial-send-mail-jobs) @@ -831,8 +829,7 @@ questions will bother you!" (concat (car to) " <" (cadr to) ">") (cadr to))) (copy-to-buffer work-buffer (point-min) (point-max)) - (save-excursion - (set-buffer work-buffer) + (with-current-buffer work-buffer (goto-char (point-min)) (vm-mail-mode-remove-header "To:") (mail-position-on-field "To") diff --git a/lisp/vm-summary.el b/lisp/vm-summary.el index 40126f59d8..43bf800fd3 100644 --- a/lisp/vm-summary.el +++ b/lisp/vm-summary.el @@ -180,8 +180,7 @@ mandatory." (setq vm-summary-buffer (or (get-buffer summary-buffer-name) (vm-generate-new-multibyte-buffer summary-buffer-name))) - (save-excursion - (set-buffer vm-summary-buffer) + (with-current-buffer vm-summary-buffer (abbrev-mode 0) (auto-fill-mode 0) ;; Experimental code to use buffer-face-mode to change font @@ -232,8 +231,7 @@ the messages in the current folder." (vm-mouse-support-possible-p)) vm-summary-enable-faces))) ;; (setq mp m-list) - (save-excursion - (set-buffer vm-summary-buffer) + (with-current-buffer vm-summary-buffer (setq line-move-ignore-invisible vm-summary-show-threads) (let ((buffer-read-only nil) (modified (buffer-modified-p)) @@ -513,9 +511,8 @@ buffer by a regenerated summary line." (vm-mouse-support-possible-p)) vm-summary-enable-faces)) summary) - (save-excursion + (with-current-buffer (marker-buffer (vm-su-start-of m)) (setq summary (vm-su-summary m)) - (set-buffer (marker-buffer (vm-su-start-of m))) (let ((buffer-read-only nil) s e i (selected nil) @@ -1074,8 +1071,7 @@ of multiple header lines which might match HEADER-NAME-REGEXP. (let ((contents nil) (regexp (concat "^\\(" header-name-regexp "\\)"))) (setq message (vm-real-message-of message)) - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of message))) + (with-current-buffer (vm-buffer-of (vm-real-message-of message)) (save-restriction (widen) (goto-char (vm-headers-of message)) @@ -1353,8 +1349,7 @@ field in the summary. USR, 2012-10-13" (if (not (memq (vm-message-type-of message) '(BellFrom_ From_ From_-with-Content-Length))) nil - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of message))) + (with-current-buffer (vm-buffer-of (vm-real-message-of message)) (save-excursion (save-restriction (widen) @@ -1498,8 +1493,7 @@ cached-data-vector." (defun vm-run-user-summary-function (function message) ;; (condition-case nil (let ((m (vm-real-message-of message))) - (save-excursion - (set-buffer (vm-buffer-of m)) + (with-current-buffer (vm-buffer-of m) (save-restriction (widen) (save-excursion @@ -1593,8 +1587,7 @@ The result is a mime-encoded string, but this is not certain. (if (not (memq (vm-message-type-of message) '(From_ BellFrom_ From_-with-Content-Length))) nil - (save-excursion - (set-buffer (vm-buffer-of message)) + (with-current-buffer (vm-buffer-of message) (save-excursion (save-restriction (widen) @@ -1834,8 +1827,7 @@ if necessary. The result is a mime-decoded string with text properties. (and id (car (vm-parse id "[^<]*\\(<[^>]+>\\)")))) ;; try running md5 on the message body to produce an ID ;; better than nothing. - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of m))) + (with-current-buffer (vm-buffer-of (vm-real-message-of m)) (save-restriction (widen) (condition-case nil @@ -1854,8 +1846,7 @@ entry (`vm-line-count-of') or recalculating it if necessary. USR 2010-05-13" (or (vm-line-count-of m) (vm-set-line-count-of m - (save-excursion - (set-buffer (vm-buffer-of (vm-real-message-of m))) + (with-current-buffer (vm-buffer-of (vm-real-message-of m)) (save-restriction (widen) (int-to-string @@ -2306,8 +2297,7 @@ Call this function if you made changes to `vm-summary-format'." (vm-mouse-support-possible-p)) vm-summary-enable-faces)) summary) - (save-excursion - (set-buffer (marker-buffer (vm-fs-start-of fs))) + (with-current-buffer (marker-buffer (vm-fs-start-of fs)) (let ((buffer-read-only nil)) (unwind-protect (save-excursion @@ -2377,8 +2367,7 @@ Call this function if you made changes to `vm-summary-format'." (do-mouse-track (or (and vm-mouse-track-summary (vm-mouse-support-possible-p)) vm-summary-enable-faces))) - (save-excursion - (set-buffer vm-folders-summary-buffer) + (with-current-buffer vm-folders-summary-buffer (erase-buffer) (let ((buffer-read-only nil)) (if (null vm-folders-summary-database) @@ -2465,8 +2454,7 @@ Call this function if you made changes to `vm-summary-format'." (defun vm-do-needed-folders-summary-update () (if (null vm-folders-summary-buffer) nil - (save-excursion - (set-buffer vm-folders-summary-buffer) + (with-current-buffer vm-folders-summary-buffer (if (or (eq vm-modification-counter vm-flushed-modification-counter) (null vm-folders-summary-hash)) nil @@ -2493,8 +2481,7 @@ Call this function if you made changes to `vm-summary-format'." (vm-set-fs-modflag-of fs t) (vm-check-for-killed-summary) (if vm-folders-summary-buffer - (save-excursion - (set-buffer vm-folders-summary-buffer) + (with-current-buffer vm-folders-summary-buffer (vm-increment vm-modification-counter)))) (if dont-descend nil diff --git a/lisp/vm-undo.el b/lisp/vm-undo.el index 370d15f10a..5b7f901819 100644 --- a/lisp/vm-undo.el +++ b/lisp/vm-undo.el @@ -589,10 +589,7 @@ changed attributes are stuffed into the folder. USR 2010-04-06" (cond ((and (not vm-folder-read-only) (or (not (vm-virtual-messages-of m)) - (not (save-excursion - (set-buffer - (vm-buffer-of - (vm-real-message-of m))) + (not (with-current-buffer (vm-buffer-of (vm-real-message-of m)) vm-folder-read-only)))) (dolist (v-m (cons (vm-real-message-of m) (vm-virtual-messages-of m))) (if (eq (vm-attributes-of m) (vm-attributes-of v-m)) diff --git a/lisp/vm-vcard.el b/lisp/vm-vcard.el index 895b3f0933..bbfab4137a 100644 --- a/lisp/vm-vcard.el +++ b/lisp/vm-vcard.el @@ -65,8 +65,7 @@ (let* ((beg (vm-mm-layout-body-start layout)) (end (vm-mm-layout-body-end layout)) (buf (if (markerp beg) (marker-buffer beg) (current-buffer))) - (raw (vm-vcard-decode (save-excursion - (set-buffer buf) + (raw (vm-vcard-decode (with-current-buffer buf (save-restriction (widen) (buffer-substring beg end))) @@ -79,8 +78,7 @@ (defun vm-vcard-decode (string layout) (let ((buf (generate-new-buffer " *vcard decoding*"))) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (insert string) (vm-mime-transfer-decode-region layout (point-min) (point-max)) (setq string (buffer-substring (point-min) (point-max)))) diff --git a/lisp/vm-virtual.el b/lisp/vm-virtual.el index 767e24dbdb..2e73ad4d29 100644 --- a/lisp/vm-virtual.el +++ b/lisp/vm-virtual.el @@ -215,9 +215,8 @@ all the real folder buffers involved." (vm-real-message-of m)) message-set))) (if virtual - (save-excursion - (set-buffer - (vm-buffer-of (vm-real-message-of m))) + (with-current-buffer + (vm-buffer-of (vm-real-message-of m)) (apply 'vm-vs-or m selectors)) (apply 'vm-vs-or m selectors))) (when (and vm-virtual-debug @@ -981,8 +980,7 @@ any) for this selector to detect the occurrences in the text." vm-spam-words-file (file-readable-p vm-spam-words-file) (not (get-file-buffer vm-spam-words-file))) - (save-excursion - (set-buffer (find-file-noselect vm-spam-words-file)) + (with-current-buffer (find-file-noselect vm-spam-words-file) (goto-char (point-min)) (while (re-search-forward "^\\s-*\\([^#;].*\\)\\s-*$" (point-max) t) (setq vm-spam-words (cons (match-string 1) vm-spam-words))) @@ -1366,8 +1364,7 @@ folder buffer (which should be the virtual folder in which M occurs)." (buffer-read-only nil) (modified (buffer-modified-p))) (unwind-protect - (save-excursion - (set-buffer (vm-buffer-of real-m)) + (with-current-buffer (vm-buffer-of real-m) (save-restriction (widen) ;; must reference this now so that headers will be in diff --git a/lisp/vm-w3m.el b/lisp/vm-w3m.el index 9807ff8ed2..f972fa8302 100644 --- a/lisp/vm-w3m.el +++ b/lisp/vm-w3m.el @@ -128,9 +128,7 @@ by the minor-mode-keymap for emacs-w3m text, as determined by (defun vm-w3m-cid-retrieve (url &rest args) "Insert a content of URL." - (let ((message (save-excursion - (set-buffer w3m-current-buffer) - (car vm-message-pointer))) + (let ((message (with-current-buffer w3m-current-buffer (car vm-message-pointer))) part type) (setq part (vm-mime-cid-retrieve url message)) @@ -189,8 +187,8 @@ If the prefix arg is given, all images are considered to be safe." ((eq major-mode 'vm-mode) vm-presentation-buffer)))) (if (buffer-live-p buffer) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (w3m-safe-toggle-inline-images arg))))) +(provide 'vm-w3m) ;;; vm-w3m.el ends here diff --git a/lisp/vm-window.el b/lisp/vm-window.el index db43d67354..4edb543503 100644 --- a/lisp/vm-window.el +++ b/lisp/vm-window.el @@ -100,8 +100,7 @@ (cond ((and buffer display) (if (and vm-display-buffer-hook (null (vm-get-visible-buffer-window buffer))) - (progn (save-excursion - (set-buffer buffer) + (progn (with-current-buffer buffer (run-hooks 'vm-display-buffer-hook)) (switch-to-buffer buffer)) (if (not (and (memq this-command commands) @@ -111,8 +110,7 @@ ((and buffer (not display)) (if (and vm-undisplay-buffer-hook (vm-get-visible-buffer-window buffer)) - (progn (save-excursion - (set-buffer buffer) + (progn (with-current-buffer buffer (run-hooks 'vm-undisplay-buffer-hook))) (if (not (and (memq this-command commands) (apply 'vm-set-window-configuration configs))) @@ -240,8 +238,7 @@ (if (and (stringp x) (get-buffer x) (zerop - (save-excursion - (set-buffer x) + (with-current-buffer x (buffer-size)))) nonexistent x ))))) @@ -311,8 +308,7 @@ window configurations." (vm-inform 5 "%s configuration recorded" tag))) (defun vm-buffer-to-label (buf) - (save-excursion - (set-buffer buf) + (with-current-buffer buf (cond ((eq major-mode 'vm-summary-mode) 'summary) ((eq major-mode 'vm-folders-summary-mode) diff --git a/lisp/vm.el b/lisp/vm.el index 2e045f73c8..fa5036f69c 100644 --- a/lisp/vm.el +++ b/lisp/vm.el @@ -1267,8 +1267,7 @@ summary buffer to select a folder." (setq vm-folders-summary-buffer (or (get-buffer summary-buffer-name) (vm-generate-new-multibyte-buffer summary-buffer-name))) - (save-excursion - (set-buffer vm-folders-summary-buffer) + (with-current-buffer vm-folders-summary-buffer (abbrev-mode 0) (auto-fill-mode 0) (vm-fsfemacs-nonmule-display-8bit-chars)