Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current...
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Fri, 17 Sep 2010 21:59:02 +0000 (23:59 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Fri, 17 Sep 2010 21:59:02 +0000 (23:59 +0200)
42 files changed:
lisp/ChangeLog
lisp/dgnushack.el
lisp/earcon.el
lisp/flow-fill.el
lisp/gnus-agent.el
lisp/gnus-async.el
lisp/gnus-bcklg.el
lisp/gnus-cache.el
lisp/gnus-demon.el
lisp/gnus-int.el
lisp/gnus-kill.el
lisp/gnus-logic.el
lisp/gnus-registry.el
lisp/gnus-score.el
lisp/gnus-start.el
lisp/gnus-topic.el
lisp/gnus-util.el
lisp/gnus-uu.el
lisp/mm-partial.el
lisp/nnbabyl.el
lisp/nndiary.el
lisp/nndoc.el
lisp/nndraft.el
lisp/nneething.el
lisp/nnfolder.el
lisp/nnheader.el
lisp/nnir.el
lisp/nnmail.el
lisp/nnmaildir.el
lisp/nnmairix.el
lisp/nnmbox.el
lisp/nnml.el
lisp/nnnil.el
lisp/nnrss.el
lisp/nnspool.el
lisp/nnvirtual.el
lisp/nnweb.el
lisp/smime-ldap.el
lisp/smime.el
lisp/spam-report.el
lisp/spam.el
lisp/starttls.el

index 6fd81fb..6458bdf 100644 (file)
@@ -1,5 +1,8 @@
 2010-09-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * gnus.el: Throughout all files, replace (save-excursion (set-buffer
+       ...)) with (with-current-buffer ... ).
+
        * nntp.el (nntp-open-server): Return whether the open was successful or
        not.
 
index 3ac9577..3eddb6f 100644 (file)
@@ -308,7 +308,7 @@ dgnushack-compile."
   ;;(setq byte-compile-dynamic t)
   (unless warn
     (setq byte-compile-warnings
-         '(free-vars unresolved callargs redefine)))
+         '(free-vars unresolved callargs redefine suspicious)))
   (let ((files (directory-files srcdir nil "^[^=].*\\.el$"))
        ;;(byte-compile-generate-call-tree t)
        file elc)
index 2578abc..2086f86 100644 (file)
@@ -151,8 +151,7 @@ If N is negative, move backward instead."
 
 (defun earcon-button-push (marker)
   ;; Push button starting at MARKER.
-  (save-excursion
-    (set-buffer gnus-article-buffer)
+  (with-current-buffer gnus-article-buffer
     (goto-char marker)
     (let* ((entry (earcon-button-entry))
           (inhibit-point-motion-hooks t)
@@ -214,8 +213,7 @@ If N is negative, move backward instead."
 (defun gnus-earcon-display ()
   "Play sounds in message buffers."
   (interactive)
-  (save-excursion
-    (set-buffer gnus-article-buffer)
+  (with-current-buffer gnus-article-buffer
     (goto-char (point-min))
     ;; Skip headers
     (unless (search-forward "\n\n" nil t)
index c4c64db..2420577 100644 (file)
@@ -97,8 +97,7 @@ RFC 2646 suggests 66 characters for readability."
 
 ;;;###autoload
 (defun fill-flowed (&optional buffer delete-space)
-  (save-excursion
-    (set-buffer (or (current-buffer) buffer))
+  (with-current-buffer (or (current-buffer) buffer)
     (goto-char (point-min))
     ;; Remove space stuffing.
     (while (re-search-forward "^\\( \\|>+ $\\)" nil t)
index bbfdc66..6dcc77c 100644 (file)
@@ -305,8 +305,7 @@ buffer.  Automatically blocks multiple updates due to recursion."
 `(prog1 (let ((gnus-agent-inhibit-update-total-fetched-for t)) ,@body)
      (when (and gnus-agent-need-update-total-fetched-for
                (not gnus-agent-inhibit-update-total-fetched-for))
-       (save-excursion
-         (set-buffer gnus-group-buffer)
+       (with-current-buffer gnus-group-buffer
          (setq gnus-agent-need-update-total-fetched-for nil)
          (gnus-group-update-group ,group t)))))
 
@@ -474,8 +473,7 @@ manipulated as follows:
 (defun gnus-agent-stop-fetch ()
   "Save all data structures and clean up."
   (setq gnus-agent-spam-hashtb nil)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (widen)))
 
 (defmacro gnus-agent-with-fetch (&rest forms)
@@ -1608,8 +1606,7 @@ downloaded into the agent."
                       nntp-server-buffer (point-min) (point-max))
                       (setq pos (nreverse pos)))))
                 ;; Then save these articles into the Agent.
-                (save-excursion
-                  (set-buffer nntp-server-buffer)
+                (with-current-buffer nntp-server-buffer
                   (while pos
                     (narrow-to-region (cdar pos) (or (cdadr pos) (point-max)))
                     (goto-char (point-min))
@@ -1693,8 +1690,7 @@ downloaded into the agent."
   (setq date (or date t))
 
   (let (gnus-agent-article-alist group alist beg end)
-    (save-excursion
-      (set-buffer gnus-agent-overview-buffer)
+    (with-current-buffer gnus-agent-overview-buffer
       (when (nnheader-find-nov-line article)
        (forward-word 1)
        (setq beg (point))
@@ -1705,9 +1701,8 @@ downloaded into the agent."
        (push (setq alist (list group (gnus-agent-load-alist (caar crosses))))
              gnus-agent-group-alist))
       (setcdr alist (cons (cons (cdar crosses) date) (cdr alist)))
-      (save-excursion
-       (set-buffer (gnus-get-buffer-create (format " *Gnus agent overview %s*"
-                                                   group)))
+      (with-current-buffer (gnus-get-buffer-create
+                           (format " *Gnus agent overview %s*"group))
        (when (= (point-max) (point-min))
          (push (cons group (current-buffer)) gnus-agent-buffer-alist)
          (ignore-errors
@@ -1939,9 +1934,7 @@ article numbers will be returned."
        10 "gnus-agent-fetch-headers: undownloaded articles are '%s'"
        (gnus-compress-sequence articles t))
 
-      (save-excursion
-        (set-buffer nntp-server-buffer)
-
+      (with-current-buffer nntp-server-buffer
         (if articles
             (progn
              (gnus-message 7 "Fetching headers for %s..."
@@ -2767,8 +2760,7 @@ The following commands are available:
 
 (defun gnus-category-setup-buffer ()
   (unless (get-buffer gnus-category-buffer)
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create gnus-category-buffer))
+    (with-current-buffer (gnus-get-buffer-create gnus-category-buffer)
       (gnus-category-mode))))
 
 (defun gnus-category-prepare ()
index 979e671..a2ab54b 100644 (file)
@@ -145,8 +145,7 @@ that was fetched."
   (when (and (gnus-buffer-live-p summary)
             gnus-asynchronous
             (gnus-group-asynchronous-p group))
-    (save-excursion
-      (set-buffer gnus-summary-buffer)
+    (with-current-buffer gnus-summary-buffer
       (let ((next (caadr (gnus-data-find-list article))))
        (when next
          (if (not (fboundp 'run-with-idle-timer))
@@ -205,8 +204,7 @@ that was fetched."
 
          (when (and do-fetch article)
            ;; We want to fetch some more articles.
-           (save-excursion
-             (set-buffer summary)
+           (with-current-buffer summary
              (let (mark)
                (gnus-async-set-buffer)
                (goto-char (point-max))
index b385185..6823332 100644 (file)
@@ -40,8 +40,7 @@
 (defun gnus-backlog-buffer ()
   "Return the backlog buffer."
   (or (get-buffer gnus-backlog-buffer)
-      (save-excursion
-       (set-buffer (gnus-get-buffer-create gnus-backlog-buffer))
+      (with-current-buffer (gnus-get-buffer-create gnus-backlog-buffer)
        (buffer-disable-undo)
        (setq buffer-read-only t)
        (get-buffer gnus-backlog-buffer))))
@@ -76,8 +75,7 @@
           (gnus-backlog-remove-oldest-article))
        (push ident gnus-backlog-articles)
        ;; Insert the new article.
-       (save-excursion
-         (set-buffer (gnus-backlog-buffer))
+       (with-current-buffer (gnus-backlog-buffer)
          (let (buffer-read-only)
            (goto-char (point-max))
            (unless (bolp)
@@ -90,8 +88,7 @@
              (gnus-error 3 "Article %d is blank" number))))))))
 
 (defun gnus-backlog-remove-oldest-article ()
-  (save-excursion
-    (set-buffer (gnus-backlog-buffer))
+  (with-current-buffer (gnus-backlog-buffer)
     (goto-char (point-min))
     (if (zerop (buffer-size))
        ()                              ; The buffer is empty.
          beg end)
       (when (memq ident gnus-backlog-articles)
        ;; It was in the backlog.
-       (save-excursion
-         (set-buffer (gnus-backlog-buffer))
+       (with-current-buffer (gnus-backlog-buffer)
          (let (buffer-read-only)
            (when (setq beg (text-property-any
                             (point-min) (point-max) 'gnus-backlog
          beg end)
       (when (memq ident gnus-backlog-articles)
        ;; It was in the backlog.
-       (save-excursion
-         (set-buffer (gnus-backlog-buffer))
+       (with-current-buffer (gnus-backlog-buffer)
          (if (not (setq beg (text-property-any
                              (point-min) (point-max) 'gnus-backlog
                              ident)))
            (setq end
                  (next-single-property-change
                   (1+ beg) 'gnus-backlog (current-buffer) (point-max)))))
-       (save-excursion
-         (and buffer (set-buffer buffer))
+       (with-current-buffer (or (current-buffer) buffer)
          (let ((buffer-read-only nil))
            (erase-buffer)
            (insert-buffer-substring gnus-backlog-buffer beg end)))
index e3f33be..4b2d670 100644 (file)
@@ -180,8 +180,7 @@ it's not cached."
        ;; Save the article in the cache.
        (if (file-exists-p file)
            t                           ; The article already is saved.
-         (save-excursion
-           (set-buffer nntp-server-buffer)
+         (with-current-buffer nntp-server-buffer
            (require 'gnus-art)
            (let ((gnus-use-cache nil)
                  (gnus-article-decode-hook nil))
@@ -554,8 +553,7 @@ system for example was used.")
   (let ((cache-buf (gnus-get-buffer-create " *gnus-cache*"))
        beg end)
     (gnus-cache-save-buffers)
-    (save-excursion
-      (set-buffer cache-buf)
+    (with-current-buffer cache-buf
       (erase-buffer)
       (let ((coding-system-for-read gnus-cache-overview-coding-system)
            (file-name-coding-system nnmail-pathname-coding-system))
@@ -844,8 +842,7 @@ supported."
            ,@body)
      (when (and gnus-cache-need-update-total-fetched-for
                (not gnus-cache-inhibit-update-total-fetched-for))
-       (save-excursion
-         (set-buffer gnus-group-buffer)
+       (with-current-buffer gnus-group-buffer
          (setq gnus-cache-need-update-total-fetched-for nil)
          (gnus-group-update-group ,group t)))))
 
index caf9f87..67c1c8b 100644 (file)
@@ -291,11 +291,9 @@ minutes, the connection is closed."
   (let ((win (current-window-configuration)))
     (unwind-protect
        (save-window-excursion
-         (save-excursion
-           (when (gnus-alive-p)
-             (save-excursion
-               (set-buffer gnus-group-buffer)
-               (gnus-group-get-new-news)))))
+         (when (gnus-alive-p)
+           (with-current-buffer gnus-group-buffer
+             (gnus-group-get-new-news))))
       (set-window-configuration win))))
 
 (defun gnus-demon-add-scan-timestamps ()
index 4122b5a..88d3555 100644 (file)
@@ -503,8 +503,7 @@ If BUFFER, insert the article in that group."
       (setq res (gnus-request-article article group)
            clean-up t)))
     (when clean-up
-      (save-excursion
-       (set-buffer nntp-server-buffer)
+      (with-current-buffer nntp-server-buffer
        (goto-char (point-min))
        (when (search-forward "\n\n" nil t)
          (delete-region (1- (point)) (point-max)))
@@ -536,8 +535,7 @@ If BUFFER, insert the article in that group."
       (setq res (gnus-request-article article group)
            clean-up t)))
     (when clean-up
-      (save-excursion
-       (set-buffer nntp-server-buffer)
+      (with-current-buffer nntp-server-buffer
        (goto-char (point-min))
        (when (search-forward "\n\n" nil t)
          (delete-region (point-min) (1- (point))))))
index fc56449..5483a74 100644 (file)
@@ -349,8 +349,7 @@ If NEWSGROUP is nil, return the global kill file instead."
 
 (defun gnus-expunge (marks)
   "Remove lines marked with MARKS."
-  (save-excursion
-    (set-buffer gnus-summary-buffer)
+  (with-current-buffer gnus-summary-buffer
     (gnus-summary-limit-to-marks marks 'reverse)))
 
 (defun gnus-apply-kill-file-unless-scored ()
@@ -442,8 +441,7 @@ Returns the number of articles marked as read."
          (progn
            (delete-region beg (point))
            (insert (or (eval form) "")))
-       (save-excursion
-         (set-buffer gnus-summary-buffer)
+       (with-current-buffer gnus-summary-buffer
          (ignore-errors (eval form)))))
     (and (buffer-modified-p)
         gnus-kill-save-kill-file
@@ -555,8 +553,7 @@ COMMAND must be a Lisp expression or a string representing a key sequence."
          (and (eq 'quote (car (nth 2 object)))
               (not (consp (cdadr (nth 2 object))))))
       (concat "\n" (gnus-prin1-to-string object))
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create "*Gnus PP*"))
+    (with-current-buffer (gnus-get-buffer-create "*Gnus PP*")
       (buffer-disable-undo)
       (erase-buffer)
       (insert (format "\n(%S %S\n  '(" (nth 0 object) (nth 1 object)))
@@ -610,8 +607,7 @@ COMMAND must be a Lisp expression or a string representing a key sequence."
             6 "Searching for article: %d..." (mail-header-number header))
            (gnus-article-setup-buffer)
            (gnus-article-prepare (mail-header-number header) t)
-           (when (save-excursion
-                   (set-buffer gnus-article-buffer)
+           (when (with-current-buffer gnus-article-buffer
                    (goto-char (point-min))
                    (setq did-kill (re-search-forward regexp nil t)))
              (cond ((stringp form)     ;Keyboard macro.
index e6d28ae..9637ebf 100644 (file)
 (defun gnus-advanced-body (header match type)
   (when (string= header "all")
     (setq header "article"))
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (let* ((request-func (cond ((string= "head" header)
                                'gnus-request-head)
                               ((string= "body" header)
index 8ba6c16..a30847b 100644 (file)
@@ -241,8 +241,7 @@ considered precious) will not be trimmed."
   "Save the registry cache file."
   (interactive)
   (let ((file gnus-registry-cache-file))
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create " *Gnus-registry-cache*"))
+    (with-current-buffer (gnus-get-buffer-create " *Gnus-registry-cache*")
       (make-local-variable 'version-control)
     (setq version-control gnus-backup-startup-file)
     (setq buffer-file-name file)
@@ -674,8 +673,7 @@ Consults `gnus-registry-unfollowed-groups' and
        word words)
     (if (or (not (gnus-registry-fetch-extra id 'keywords))
            force)
-       (save-excursion
-         (set-buffer gnus-article-buffer)
+       (with-current-buffer gnus-article-buffer
          (article-goto-body)
          (save-window-excursion
            (save-restriction
index bd4a39e..5cd60dd 100644 (file)
@@ -708,8 +708,7 @@ file for the command instead of the current score file."
 
     ;; Change score file to the "all.SCORE" file.
     (when (eq symp 'a)
-      (save-excursion
-       (set-buffer gnus-summary-buffer)
+      (with-current-buffer gnus-summary-buffer
        (gnus-score-load-file
         ;; This is a kludge; yes...
         (cond
@@ -735,14 +734,12 @@ file for the command instead of the current score file."
 
     (when (eq symp 'a)
       ;; We change the score file back to the previous one.
-      (save-excursion
-       (set-buffer gnus-summary-buffer)
+      (with-current-buffer gnus-summary-buffer
        (gnus-score-load-file current-score-file)))))
 
 (defun gnus-score-insert-help (string alist idx)
   (setq gnus-score-help-winconf (current-window-configuration))
-  (save-excursion
-    (set-buffer (gnus-get-buffer-create "*Score Help*"))
+  (with-current-buffer (gnus-get-buffer-create "*Score Help*")
     (buffer-disable-undo)
     (delete-windows-on (current-buffer))
     (erase-buffer)
@@ -1270,8 +1267,7 @@ If FORMAT, also format the current score file."
               exclude-files))
             gnus-scores-exclude-files))
       (when local
-       (save-excursion
-         (set-buffer gnus-summary-buffer)
+       (with-current-buffer gnus-summary-buffer
          (while local
            (and (consp (car local))
                 (symbolp (caar local))
@@ -1528,8 +1524,7 @@ If FORMAT, also format the current score file."
                    (cons (cons header (or gnus-summary-default-score 0))
                          gnus-scores-articles))))
 
-         (save-excursion
-           (set-buffer (gnus-get-buffer-create "*Headers*"))
+         (with-current-buffer (gnus-get-buffer-create "*Headers*")
            (buffer-disable-undo)
            (when (gnus-buffer-live-p gnus-summary-buffer)
              (message-clone-locals gnus-summary-buffer))
@@ -1854,8 +1849,7 @@ score in `gnus-newsgroup-scored' by SCORE."
 
       ;; Change score file to the adaptive score file.  All entries that
       ;; this function makes will be put into this file.
-      (save-excursion
-       (set-buffer gnus-summary-buffer)
+      (with-current-buffer gnus-summary-buffer
        (gnus-score-load-file
         (or gnus-newsgroup-adaptive-score-file
             (gnus-score-file-name
@@ -1946,15 +1940,13 @@ score in `gnus-newsgroup-scored' by SCORE."
                   (setq rest entries)))
            (setq entries rest))))
       ;; We change the score file back to the previous one.
-      (save-excursion
-       (set-buffer gnus-summary-buffer)
+      (with-current-buffer gnus-summary-buffer
        (gnus-score-load-file current-score-file))
       (list (cons "references" news)))))
 
 (defun gnus-score-add-followups (header score scores &optional thread)
   "Add a score entry to the adapt file."
-  (save-excursion
-    (set-buffer gnus-summary-buffer)
+  (with-current-buffer gnus-summary-buffer
     (let* ((id (mail-header-id header))
           (scores (car scores))
           entry dont)
@@ -2282,8 +2274,7 @@ score in `gnus-newsgroup-scored' by SCORE."
   "Create adaptive score rules for this newsgroup."
   (when gnus-newsgroup-adaptive
     ;; We change the score file to the adaptive score file.
-    (save-excursion
-      (set-buffer gnus-summary-buffer)
+    (with-current-buffer gnus-summary-buffer
       (gnus-score-load-file
        (or gnus-newsgroup-adaptive-score-file
           (gnus-home-score-file gnus-newsgroup-name t)
@@ -2697,8 +2688,7 @@ GROUP using BNews sys file syntax."
         (trans (cdr (assq ?: nnheader-file-name-translation-alist)))
         (group-trans (nnheader-translate-file-chars group t))
         ofiles not-match regexp)
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create "*gnus score files*"))
+    (with-current-buffer (gnus-get-buffer-create "*gnus score files*")
       (buffer-disable-undo)
       ;; Go through all score file names and create regexp with them
       ;; as the source.
index 4210231..6aa0fa1 100644 (file)
@@ -594,8 +594,7 @@ Can be used to turn version control on or off."
 (defun gnus-subscribe-hierarchically (newgroup)
   "Subscribe new NEWGROUP and insert it in hierarchical newsgroup order."
   ;; Basic ideas by mike-w@cs.aukuni.ac.nz (Mike Williams)
-  (save-excursion
-    (set-buffer (nnheader-find-file-noselect gnus-current-startup-file))
+  (with-current-buffer (nnheader-find-file-noselect gnus-current-startup-file)
     (prog1
        (let ((groupkey newgroup) before)
          (while (and (not before) groupkey)
@@ -857,8 +856,7 @@ prompt the user for the name of an NNTP server to use."
       ;; it's not needed).
       ;; (set-window-point (get-buffer-window (current-buffer)) (point-max))
       (bury-buffer gnus-dribble-buffer)
-      (save-excursion
-       (set-buffer gnus-group-buffer)
+      (with-current-buffer gnus-group-buffer
        (gnus-group-set-mode-line))
       (set-buffer obuf))))
 
@@ -871,10 +869,9 @@ prompt the user for the name of an NNTP server to use."
   (let ((dribble-file (gnus-dribble-file-name)))
     (unless (file-exists-p (file-name-directory dribble-file))
       (make-directory (file-name-directory dribble-file) t))
-    (save-excursion
-      (set-buffer (setq gnus-dribble-buffer
-                       (gnus-get-buffer-create
-                        (file-name-nondirectory dribble-file))))
+    (with-current-buffer (setq gnus-dribble-buffer
+                              (gnus-get-buffer-create
+                               (file-name-nondirectory dribble-file)))
       (set (make-local-variable 'file-precious-flag) t)
       (erase-buffer)
       (setq buffer-file-name dribble-file)
@@ -923,8 +920,7 @@ prompt the user for the name of an NNTP server to use."
   (when (file-exists-p (gnus-dribble-file-name))
     (delete-file (gnus-dribble-file-name)))
   (when gnus-dribble-buffer
-    (save-excursion
-      (set-buffer gnus-dribble-buffer)
+    (with-current-buffer gnus-dribble-buffer
       (let ((auto (make-auto-save-file-name)))
        (when (file-exists-p auto)
          (delete-file auto))
@@ -934,14 +930,12 @@ prompt the user for the name of an NNTP server to use."
 (defun gnus-dribble-save ()
   (when (and gnus-dribble-buffer
             (buffer-name gnus-dribble-buffer))
-    (save-excursion
-      (set-buffer gnus-dribble-buffer)
+    (with-current-buffer gnus-dribble-buffer
       (save-buffer))))
 
 (defun gnus-dribble-clear ()
   (when (gnus-buffer-exists-p gnus-dribble-buffer)
-    (save-excursion
-      (set-buffer gnus-dribble-buffer)
+    (with-current-buffer gnus-dribble-buffer
       (erase-buffer)
       (set-buffer-modified-p nil)
       (setq buffer-saved-size (buffer-size)))))
@@ -1302,8 +1296,7 @@ for new groups, and subscribe the new groups as zombies."
          (when (gnus-active group)
            (gnus-group-change-level
             group gnus-level-default-subscribed gnus-level-killed)))
-       (save-excursion
-         (set-buffer gnus-group-buffer)
+       (with-current-buffer gnus-group-buffer
          ;; Don't error if the group already exists. This happens when a
          ;; first-time user types 'F'. -- didier
          (gnus-group-make-help-group t))
@@ -1877,8 +1870,7 @@ If SCAN, request a scan of that group as well."
 
 (defun gnus-parse-active ()
   "Parse active info in the nntp server buffer."
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (goto-char (point-min))
     ;; Parse the result we got from `gnus-request-group'.
     (when (looking-at "[0-9]+ [0-9]+ \\([0-9]+\\) [0-9]+")
@@ -2032,8 +2024,7 @@ If SCAN, request a scan of that group as well."
             (list "archive")))))
        method)
     (setq gnus-have-read-active-file nil)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (while (setq method (pop methods))
        ;; Only do each method once, in case the methods appear more
        ;; than once in this list.
@@ -2099,8 +2090,7 @@ If SCAN, request a scan of that group as well."
 (defun gnus-read-active-file-2 (groups method)
   "Read an active file for GROUPS in METHOD using `gnus-retrieve-groups'."
   (when groups
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (gnus-check-server method)
       (let ((list-type (gnus-retrieve-groups groups method)))
        (cond ((not list-type)
@@ -2781,8 +2771,7 @@ If FORCE is non-nil, the .newsrc file is read."
               (not force)
               (or (not gnus-dribble-buffer)
                   (not (buffer-name gnus-dribble-buffer))
-                  (zerop (save-excursion
-                           (set-buffer gnus-dribble-buffer)
+                  (zerop (with-current-buffer gnus-dribble-buffer
                            (buffer-size)))))
          (gnus-message 4 "(No changes need to be saved)")
        (gnus-run-hooks 'gnus-save-newsrc-hook)
@@ -2916,8 +2905,7 @@ If FORCE is non-nil, the .newsrc file is read."
 
 (defun gnus-gnus-to-newsrc-format ()
   ;; Generate and save the .newsrc file.
-  (save-excursion
-    (set-buffer (create-file-buffer gnus-current-startup-file))
+  (with-current-buffer (create-file-buffer gnus-current-startup-file)
     (let ((newsrc (cdr gnus-newsrc-alist))
          (standard-output (current-buffer))
          info ranges range method)
@@ -2990,8 +2978,7 @@ If FORCE is non-nil, the .newsrc file is read."
   (gnus-run-hooks 'gnus-slave-mode-hook))
 
 (defun gnus-slave-save-newsrc ()
-  (save-excursion
-    (set-buffer gnus-dribble-buffer)
+  (with-current-buffer gnus-dribble-buffer
     (let ((slave-name
           (mm-make-temp-file (concat gnus-current-startup-file "-slave-")))
          (modes (ignore-errors
@@ -3015,8 +3002,7 @@ If FORCE is non-nil, the .newsrc file is read."
     (if (not slave-files)
        ()                              ; There are no slave files to read.
       (gnus-message 7 "Reading slave newsrcs...")
-      (save-excursion
-       (set-buffer (gnus-get-buffer-create " *gnus slave*"))
+      (with-current-buffer (gnus-get-buffer-create " *gnus slave*")
        (setq slave-files
              (sort (mapcar (lambda (file)
                              (list (nth 5 (file-attributes file)) file))
@@ -3136,8 +3122,7 @@ If FORCE is non-nil, the .newsrc file is read."
 (defun gnus-group-get-description (group)
   "Get the description of a group by sending XGTITLE to the server."
   (when (gnus-request-group-description group)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (goto-char (point-min))
       (when (looking-at "[^ \t]+[ \t]+\\(.*\\)")
        (match-string 1)))))
index 89e61bc..7c71035 100644 (file)
@@ -148,8 +148,7 @@ See Info node `(gnus)Formatting Variables'."
 
 (defun gnus-group-parent-topic (group)
   "Return the topic GROUP is member of by looking at the group buffer."
-  (save-excursion
-    (set-buffer gnus-group-buffer)
+  (with-current-buffer gnus-group-buffer
     (if (gnus-group-goto-group group)
        (gnus-current-topic)
       (gnus-group-topic group))))
@@ -912,8 +911,7 @@ articles in the topic and its subtopics."
 
 (defun gnus-topic-change-level (group level oldlevel &optional previous)
   "Run when changing levels to enter/remove groups from topics."
-  (save-excursion
-    (set-buffer gnus-group-buffer)
+  (with-current-buffer gnus-group-buffer
     (let ((buffer-read-only nil))
       (unless gnus-topic-inhibit-change-level
        (gnus-group-goto-group (or (car (nth 2 previous)) group))
index 7cdb70a..334f0ee 100644 (file)
@@ -1115,8 +1115,7 @@ FILENAME exists and is Babyl format."
                  (gnus-yes-or-no-p
                   (concat "\"" filename "\" does not exist, create it? ")))
              (let ((file-buffer (create-file-buffer filename)))
-               (save-excursion
-                 (set-buffer file-buffer)
+               (with-current-buffer file-buffer
                   (if (fboundp 'rmail-insert-rmail-file-header)
                       (rmail-insert-rmail-file-header))
                  (let ((require-final-newline nil)
@@ -1194,8 +1193,7 @@ FILENAME exists and is Babyl format."
                (gnus-y-or-n-p
                 (concat "\"" filename "\" does not exist, create it? ")))
            (let ((file-buffer (create-file-buffer filename)))
-             (save-excursion
-               (set-buffer file-buffer)
+             (with-current-buffer file-buffer
                (let ((require-final-newline nil)
                      (coding-system-for-write mm-text-coding-system))
                  (gnus-write-buffer filename)))
@@ -1274,8 +1272,7 @@ This function saves the current buffer."
   "Say whether Gnus is running or not."
   (and (boundp 'gnus-group-buffer)
        (get-buffer gnus-group-buffer)
-       (save-excursion
-        (set-buffer gnus-group-buffer)
+       (with-current-buffer gnus-group-buffer
         (eq major-mode 'gnus-group-mode))))
 
 (defun gnus-remove-if (predicate list)
index 35120ea..614a52c 100644 (file)
@@ -827,8 +827,7 @@ When called interactively, prompt for REGEXP."
 (defun gnus-uu-save-article (buffer in-state)
   (cond
    (gnus-uu-save-separate-articles
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (let ((coding-system-for-write mm-text-coding-system))
        (gnus-write-buffer
         (concat gnus-uu-saved-article-name gnus-current-article)))
@@ -838,8 +837,7 @@ When called interactively, prompt for REGEXP."
            ((eq in-state 'last) (list 'end))
            (t (list 'middle)))))
    ((not gnus-uu-save-in-digest)
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (write-region (point-min) (point-max) gnus-uu-saved-article-name t)
       (cond ((eq in-state 'first) (list gnus-uu-saved-article-name 'begin))
            ((eq in-state 'first-and-last) (list gnus-uu-saved-article-name
@@ -857,11 +855,9 @@ When called interactively, prompt for REGEXP."
              (eq in-state 'first-and-last))
          (progn
            (setq state (list 'begin))
-           (save-excursion
-             (set-buffer (gnus-get-buffer-create "*gnus-uu-body*"))
+           (with-current-buffer (gnus-get-buffer-create "*gnus-uu-body*")
              (erase-buffer))
-           (save-excursion
-             (set-buffer (gnus-get-buffer-create "*gnus-uu-pre*"))
+           (with-current-buffer (gnus-get-buffer-create "*gnus-uu-pre*")
              (erase-buffer)
              (insert (format
                       "Date: %s\nFrom: %s\nSubject: %s Digest\n\n"
@@ -873,8 +869,7 @@ When called interactively, prompt for REGEXP."
              (insert "Topics:\n")))
        (when (not (eq in-state 'end))
          (setq state (list 'middle))))
-      (save-excursion
-       (set-buffer "*gnus-uu-body*")
+      (with-current-buffer "*gnus-uu-body*"
        (goto-char (setq beg (point-max)))
        (save-excursion
          (save-restriction
@@ -940,8 +935,7 @@ When called interactively, prompt for REGEXP."
        (when (re-search-forward "^Subject: \\(.*\\)$" nil t)
          (setq subj (buffer-substring (match-beginning 1) (match-end 1))))
        (when subj
-         (save-excursion
-           (set-buffer "*gnus-uu-pre*")
+         (with-current-buffer "*gnus-uu-pre*"
            (insert (format "   %s\n" subj)))))
       (when (or (eq in-state 'last)
                (eq in-state 'first-and-last))
@@ -951,8 +945,7 @@ When called interactively, prompt for REGEXP."
              (insert-buffer-substring "*gnus-uu-pre*")
              (goto-char (point-max))
              (insert-buffer-substring "*gnus-uu-body*"))
-         (save-excursion
-           (set-buffer "*gnus-uu-pre*")
+         (with-current-buffer "*gnus-uu-pre*"
            (insert (format "\n\n%s\n\n" (make-string 70 ?-)))
            (if gnus-uu-digest-buffer
                (with-current-buffer gnus-uu-digest-buffer
@@ -960,8 +953,7 @@ When called interactively, prompt for REGEXP."
                  (insert-buffer-substring "*gnus-uu-pre*"))
              (let ((coding-system-for-write mm-text-coding-system))
                (gnus-write-buffer gnus-uu-saved-article-name))))
-         (save-excursion
-           (set-buffer "*gnus-uu-body*")
+         (with-current-buffer "*gnus-uu-body*"
            (goto-char (point-max))
            (insert
             (concat (setq end-string (format "End of %s Digest" name))
@@ -993,8 +985,7 @@ When called interactively, prompt for REGEXP."
 
 (defun gnus-uu-binhex-article (buffer in-state)
   (let (state start-char)
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (widen)
       (goto-char (point-min))
       (when (not (re-search-forward gnus-uu-binhex-begin-line nil t))
@@ -1030,8 +1021,7 @@ When called interactively, prompt for REGEXP."
 ;; yEnc
 
 (defun gnus-uu-yenc-article (buffer in-state)
-  (save-excursion
-    (set-buffer gnus-original-article-buffer)
+  (with-current-buffer gnus-original-article-buffer
     (widen)
     (let ((file-name (yenc-extract-filename))
          state start-char)
@@ -1065,8 +1055,7 @@ When called interactively, prompt for REGEXP."
 (defun gnus-uu-decode-postscript-article (process-buffer in-state)
   (let ((state (list 'ok))
        start-char end-char file-name)
-    (save-excursion
-      (set-buffer process-buffer)
+    (with-current-buffer process-buffer
       (goto-char (point-min))
       (if (not (re-search-forward gnus-uu-postscript-begin-string nil t))
          (setq state (list 'wrong-type))
@@ -1128,8 +1117,7 @@ When called interactively, prompt for REGEXP."
   ;; replaces the last thing that looks like "2/3" with "[0-9]+/3"
   ;; or, if it can't find something like that, tries "2 of 3", then
   ;; finally just replaces the next to last number with "[0-9]+".
-  (save-excursion
-    (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name))
+  (with-current-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)
     (buffer-disable-undo)
     (erase-buffer)
     (insert (regexp-quote string))
@@ -1228,8 +1216,7 @@ When called interactively, prompt for REGEXP."
   ;; decoded in.  Returns the list of expanded strings.
   (let ((out-list string-list)
        string)
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name))
+    (with-current-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)
       (buffer-disable-undo)
       (while string-list
        (erase-buffer)
@@ -1332,11 +1319,9 @@ When called interactively, prompt for REGEXP."
        (gnus-summary-display-article article)
 
        ;; Push the article to the processing function.
-       (save-excursion
-         (set-buffer gnus-original-article-buffer)
+       (with-current-buffer gnus-original-article-buffer
          (let ((buffer-read-only nil))
-           (save-excursion
-             (set-buffer gnus-summary-buffer)
+           (with-current-buffer gnus-summary-buffer
              (setq process-state
                    (funcall process-function
                             gnus-original-article-buffer state)))))
@@ -1477,8 +1462,7 @@ When called interactively, prompt for REGEXP."
 
 (defun gnus-uu-uustrip-article (process-buffer in-state)
   ;; Uudecodes a file asynchronously.
-  (save-excursion
-    (set-buffer process-buffer)
+  (with-current-buffer process-buffer
     (let ((state (list 'wrong-type))
          process-connection-type case-fold-search buffer-read-only
          files start-char)
@@ -1600,8 +1584,7 @@ Gnus might fail to display all of it.")
 (defun gnus-uu-unshar-article (process-buffer in-state)
   (let ((state (list 'ok))
        start-char)
-    (save-excursion
-      (set-buffer process-buffer)
+    (with-current-buffer process-buffer
       (goto-char (point-min))
       (if (not (re-search-forward gnus-uu-shar-begin-string nil t))
          (setq state (list 'wrong-type))
@@ -1688,8 +1671,7 @@ Gnus might fail to display all of it.")
 
     (setq command (format "cd %s ; %s" dir (gnus-uu-command action file-path)))
 
-    (save-excursion
-      (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name))
+    (with-current-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)
       (erase-buffer))
 
     (gnus-message 5 "Unpacking: %s..." (gnus-uu-command action file-path))
@@ -2039,9 +2021,8 @@ If no file has been included, the user will be asked for a file."
       (setq file-name file-path))
 
     (unwind-protect
-       (if (save-excursion
-             (set-buffer (setq uubuf
-                               (gnus-get-buffer-create uuencode-buffer-name)))
+       (if (with-current-buffer
+               (setq uubuf (gnus-get-buffer-create uuencode-buffer-name))
              (erase-buffer)
              (funcall gnus-uu-post-encode-method file-path file-name))
            (insert-buffer-substring uubuf)
@@ -2073,8 +2054,8 @@ If no file has been included, the user will be asked for a file."
     (setq beg-binary (point))
     (setq end-binary (point-max))
 
-    (save-excursion
-      (set-buffer (setq uubuf (gnus-get-buffer-create encoded-buffer-name)))
+    (with-current-buffer
+       (setq uubuf (gnus-get-buffer-create encoded-buffer-name))
       (erase-buffer)
       (insert-buffer-substring post-buf beg-binary end-binary)
       (goto-char (point-min))
@@ -2129,8 +2110,7 @@ If no file has been included, the user will be asked for a file."
          (insert (format " (%d/%d)" i parts)))
 
        (goto-char (point-max))
-       (save-excursion
-         (set-buffer uubuf)
+       (with-current-buffer uubuf
          (goto-char beg)
          (if (= i parts)
              (goto-char (point-max))
index 3fec4a2..6509b64 100644 (file)
@@ -70,8 +70,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
            (sort (cons handle
                        (mm-partial-find-parts
                         id
-                        (save-excursion
-                          (set-buffer gnus-summary-buffer)
+                        (with-current-buffer gnus-summary-buffer
                           (gnus-summary-article-number))))
                  #'(lambda (a b)
                      (let ((anumber (string-to-number
@@ -83,8 +82,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
                        (< anumber bnumber)))))
       (setq gnus-article-mime-handles
            (mm-merge-handles gnus-article-mime-handles phandles))
-      (save-excursion
-       (set-buffer (generate-new-buffer " *mm*"))
+      (with-current-buffer (generate-new-buffer " *mm*")
        (while (setq phandle (pop phandles))
          (setq nn (string-to-number
                    (cdr (assq 'number
index 58e848b..512de38 100644 (file)
@@ -75,8 +75,7 @@
 (nnoo-define-basics nnbabyl)
 
 (deffoo nnbabyl-retrieve-headers (articles &optional group server fetch-old)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let ((number (length articles))
          (count 0)
   ;; Restore buffer mode.
   (when (and (nnbabyl-server-opened)
             nnbabyl-previous-buffer-mode)
-    (save-excursion
-      (set-buffer nnbabyl-mbox-buffer)
+    (with-current-buffer nnbabyl-mbox-buffer
       (narrow-to-region
        (caar nnbabyl-previous-buffer-mode)
        (cdar nnbabyl-previous-buffer-mode))
 
 (deffoo nnbabyl-request-article (article &optional newsgroup server buffer)
   (nnbabyl-possibly-change-newsgroup newsgroup server)
-  (save-excursion
-    (set-buffer nnbabyl-mbox-buffer)
+  (with-current-buffer nnbabyl-mbox-buffer
     (goto-char (point-min))
     (when (search-forward (nnbabyl-article-string article) nil t)
       (let (start stop summary-line)
   (nnmail-get-new-mail
    'nnbabyl
    (lambda ()
-     (save-excursion
-       (set-buffer nnbabyl-mbox-buffer)
+     (with-current-buffer nnbabyl-mbox-buffer
        (save-buffer)))
    (file-name-directory nnbabyl-mbox-file)
    group
         rest)
     (nnmail-activate 'nnbabyl)
 
-    (save-excursion
-      (set-buffer nnbabyl-mbox-buffer)
+    (with-current-buffer nnbabyl-mbox-buffer
       (set-text-properties (point-min) (point-max) nil)
       (while (and articles is-old)
        (goto-char (point-min))
        result)
     (and
      (nnbabyl-request-article article group server)
-     (save-excursion
-       (set-buffer buf)
+     (with-current-buffer buf
        (insert-buffer-substring nntp-server-buffer)
        (goto-char (point-min))
        (while (re-search-forward
 
 (deffoo nnbabyl-request-replace-article (article group buffer)
   (nnbabyl-possibly-change-newsgroup group)
-  (save-excursion
-    (set-buffer nnbabyl-mbox-buffer)
+  (with-current-buffer nnbabyl-mbox-buffer
     (goto-char (point-min))
     (if (not (search-forward (nnbabyl-article-string article) nil t))
        nil
   ;; Delete all articles in GROUP.
   (if (not force)
       ()                               ; Don't delete the articles.
-    (save-excursion
-      (set-buffer nnbabyl-mbox-buffer)
+    (with-current-buffer nnbabyl-mbox-buffer
       (goto-char (point-min))
       ;; Delete all articles in this group.
       (let ((ident (concat "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":"))
 
 (deffoo nnbabyl-request-rename-group (group new-name &optional server)
   (nnbabyl-possibly-change-newsgroup group server)
-  (save-excursion
-    (set-buffer nnbabyl-mbox-buffer)
+  (with-current-buffer nnbabyl-mbox-buffer
     (goto-char (point-min))
     (let ((ident (concat "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":"))
          (new-ident (concat "\nX-Gnus-Newsgroup: " new-name ":"))
 (defun nnbabyl-create-mbox ()
   (unless (file-exists-p nnbabyl-mbox-file)
     ;; Create a new, empty RMAIL mbox file.
-    (save-excursion
-      (set-buffer (setq nnbabyl-mbox-buffer
-                       (create-file-buffer nnbabyl-mbox-file)))
+    (with-current-buffer (setq nnbabyl-mbox-buffer
+                              (create-file-buffer nnbabyl-mbox-file))
       (setq buffer-file-name nnbabyl-mbox-file)
       (insert "BABYL OPTIONS:\n\n\^_")
       (nnmail-write-region
 
   (unless (and nnbabyl-mbox-buffer
               (buffer-name nnbabyl-mbox-buffer)
-              (save-excursion
-                (set-buffer nnbabyl-mbox-buffer)
+              (with-current-buffer nnbabyl-mbox-buffer
                 (= (buffer-size) (nnheader-file-size nnbabyl-mbox-file))))
     ;; This buffer has changed since we read it last.  Possibly.
     (save-excursion
index 3189d33..790e390 100644 (file)
@@ -380,8 +380,7 @@ all.  This may very well take some time.")
 
 (deffoo nndiary-retrieve-headers (sequence &optional group server fetch-old)
   (when (nndiary-possibly-change-directory group server)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (let* ((file nil)
             (number (length sequence))
@@ -615,8 +614,7 @@ all.  This may very well take some time.")
      (let (nndiary-current-directory
           nndiary-current-group
           nndiary-article-file-alist)
-       (save-excursion
-        (set-buffer buf)
+       (with-current-buffer buf
         (insert-buffer-substring nntp-server-buffer)
         (setq result (eval accept-form))
         (kill-buffer (current-buffer))
@@ -672,8 +670,7 @@ all.  This may very well take some time.")
 
 (deffoo nndiary-request-replace-article (article group buffer)
   (nndiary-possibly-change-directory group)
-  (save-excursion
-    (set-buffer buffer)
+  (with-current-buffer buffer
     (nndiary-possibly-create-directory group)
     (let ((chars (nnmail-insert-lines))
          (art (concat (int-to-string article) "\t"))
@@ -688,8 +685,7 @@ all.  This may very well take some time.")
              t)
        (setq headers (nndiary-parse-head chars article))
        ;; Replace the NOV line in the NOV file.
-       (save-excursion
-         (set-buffer (nndiary-open-nov group))
+       (with-current-buffer (nndiary-open-nov group)
          (goto-char (point-min))
          (if (or (looking-at art)
                  (search-forward (concat "\n" art) nil t))
@@ -842,8 +838,7 @@ all.  This may very well take some time.")
 
 ;; Find an article number in the current group given the Message-ID.
 (defun nndiary-find-group-number (id)
-  (save-excursion
-    (set-buffer (get-buffer-create " *nndiary id*"))
+  (with-current-buffer (get-buffer-create " *nndiary id*")
     (let ((alist nndiary-group-alist)
          number)
       ;; We want to look through all .overview files, but we want to
@@ -888,8 +883,7 @@ all.  This may very well take some time.")
     (let ((nov (expand-file-name nndiary-nov-file-name
                                 nndiary-current-directory)))
       (when (file-exists-p nov)
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (erase-buffer)
          (nnheader-insert-file-contents nov)
          (if (and fetch-old
@@ -989,8 +983,7 @@ all.  This may very well take some time.")
 
 (defun nndiary-add-nov (group article headers)
   "Add a nov line for the GROUP base."
-  (save-excursion
-    (set-buffer (nndiary-open-nov group))
+  (with-current-buffer (nndiary-open-nov group)
     (goto-char (point-max))
     (mail-header-set-number headers article)
     (nnheader-insert-nov headers)))
@@ -1015,8 +1008,7 @@ all.  This may very well take some time.")
   (or (cdr (assoc group nndiary-nov-buffer-alist))
       (let ((buffer (get-buffer-create (format " *nndiary overview %s*"
                                               group))))
-       (save-excursion
-         (set-buffer buffer)
+       (with-current-buffer buffer
          (set (make-local-variable 'nndiary-nov-buffer-file-name)
               (expand-file-name
                nndiary-nov-file-name
@@ -1103,9 +1095,8 @@ all.  This may very well take some time.")
         (nov (concat dir nndiary-nov-file-name))
         (nov-buffer (get-buffer-create " *nov*"))
         chars file headers)
-    (save-excursion
-      ;; Init the nov buffer.
-      (set-buffer nov-buffer)
+    ;; Init the nov buffer.
+    (with-current-buffer nov-buffer
       (buffer-disable-undo)
       (erase-buffer)
       (set-buffer nntp-server-buffer)
@@ -1125,20 +1116,17 @@ all.  This may very well take some time.")
          (unless (zerop (buffer-size))
            (goto-char (point-min))
            (setq headers (nndiary-parse-head chars (caar files)))
-           (save-excursion
-             (set-buffer nov-buffer)
+           (with-current-buffer nov-buffer
              (goto-char (point-max))
              (nnheader-insert-nov headers)))
          (widen))
        (setq files (cdr files)))
-      (save-excursion
-       (set-buffer nov-buffer)
+      (with-current-buffer nov-buffer
        (nnmail-write-region 1 (point-max) nov nil 'nomesg)
        (kill-buffer (current-buffer))))))
 
 (defun nndiary-nov-delete-article (group article)
-  (save-excursion
-    (set-buffer (nndiary-open-nov group))
+  (with-current-buffer (nndiary-open-nov group)
     (when (nnheader-find-nov-line article)
       (delete-region (point) (progn (forward-line 1) (point)))
       (when (bobp)
index ddeac7f..2e49205 100644 (file)
@@ -215,8 +215,7 @@ from the document.")
 
 (deffoo nndoc-retrieve-headers (articles &optional newsgroup server fetch-old)
   (when (nndoc-possibly-change-buffer newsgroup server)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (let (article entry)
        (if (stringp (car articles))
@@ -333,8 +332,7 @@ from the document.")
                               (concat " *nndoc " group "*"))))
            nndoc-group-alist)
       (setq nndoc-dissection-alist nil)
-      (save-excursion
-       (set-buffer nndoc-current-buffer)
+      (with-current-buffer nndoc-current-buffer
        (erase-buffer)
        (if (and (stringp nndoc-address)
                 (string-match nndoc-binary-file-names nndoc-address))
@@ -347,8 +345,7 @@ from the document.")
     ;; Initialize the nndoc structures according to this new document.
     (when (and nndoc-current-buffer
               (not nndoc-dissection-alist))
-      (save-excursion
-       (set-buffer nndoc-current-buffer)
+      (with-current-buffer nndoc-current-buffer
        (nndoc-set-delims)
        (if (eq nndoc-article-type 'mime-parts)
            (nndoc-dissect-mime-parts)
@@ -588,8 +585,7 @@ from the document.")
 (defun nndoc-generate-clari-briefs-head (article)
   (let ((entry (cdr (assq article nndoc-dissection-alist)))
        subject from)
-    (save-excursion
-      (set-buffer nndoc-current-buffer)
+    (with-current-buffer nndoc-current-buffer
       (save-restriction
        (narrow-to-region (car entry) (nth 3 entry))
        (goto-char (point-min))
@@ -677,8 +673,7 @@ from the document.")
   (let ((entry (cdr (assq article nndoc-dissection-alist)))
        (from "<no address given>")
        subject date)
-    (save-excursion
-      (set-buffer nndoc-current-buffer)
+    (with-current-buffer nndoc-current-buffer
       (save-restriction
        (narrow-to-region (car entry) (nth 1 entry))
        (goto-char (point-min))
@@ -829,8 +824,7 @@ from the document.")
        (first t)
        art-begin head-begin head-end body-begin body-end)
     (setq nndoc-dissection-alist nil)
-    (save-excursion
-      (set-buffer nndoc-current-buffer)
+    (with-current-buffer nndoc-current-buffer
       (goto-char (point-min))
       ;; Remove blank lines.
       (while (eq (following-char) ?\n)
@@ -902,8 +896,7 @@ When a MIME entity contains sub-entities, dissection produces one article for
 the header of this entity, and one article per sub-entity."
   (setq nndoc-dissection-alist nil
        nndoc-mime-split-ordinal 0)
-  (save-excursion
-    (set-buffer nndoc-current-buffer)
+  (with-current-buffer nndoc-current-buffer
     (nndoc-dissect-mime-parts-sub (point-min) (point-max) nil nil nil)))
 
 (defun nndoc-dissect-mime-parts-sub (head-begin body-end article-insert
index dd2b8a6..e92e00e 100644 (file)
@@ -77,8 +77,7 @@ are generated if and only if they are also in `message-draft-headers'.")
 
 (deffoo nndraft-retrieve-headers (articles &optional group server fetch-old)
   (nndraft-possibly-change-group group)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let* (article)
       ;; We don't support fetching by Message-ID.
@@ -119,8 +118,7 @@ are generated if and only if they are also in `message-draft-headers'.")
                              mm-text-coding-system)
                          mm-auto-save-coding-system)))
                   (nnmail-find-file newest)))
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (goto-char (point-min))
          ;; If there's a mail header separator in this file,
          ;; we remove it.
@@ -209,8 +207,7 @@ are generated if and only if they are also in `message-draft-headers'.")
        result)
     (and
      (nndraft-request-article article group server)
-     (save-excursion
-       (set-buffer buf)
+     (with-current-buffer buf
        (erase-buffer)
        (insert-buffer-substring nntp-server-buffer)
        (setq result (eval accept-form))
index 2f05c7e..bd5bfba 100644 (file)
@@ -81,8 +81,7 @@ included.")
 (deffoo nneething-retrieve-headers (articles &optional group server fetch-old)
   (nneething-possibly-change-directory group)
 
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let* ((number (length articles))
           (count 0)
@@ -323,8 +322,7 @@ included.")
      (if (equal '(0 0) (nth 5 atts)) ""
        (concat "Date: " (current-time-string (nth 5 atts)) "\n"))
      (or (when buffer
-          (save-excursion
-            (set-buffer buffer)
+          (with-current-buffer buffer
             (when (re-search-forward "<[a-zA-Z0-9_]@[-a-zA-Z0-9_]>" 1000 t)
               (concat "From: " (match-string 0) "\n"))))
         (nneething-from-line (nth 2 atts) file))
@@ -332,8 +330,7 @@ included.")
         (concat "Chars: " (int-to-string (nth 7 atts)) "\n")
        "")
      (if buffer
-        (save-excursion
-          (set-buffer buffer)
+        (with-current-buffer buffer
           (concat "Lines: " (int-to-string
                              (count-lines (point-min) (point-max)))
                   "\n"))
@@ -382,8 +379,7 @@ included.")
 
 (defun nneething-get-head (file)
   "Either find the head in FILE or make a head for FILE."
-  (save-excursion
-    (set-buffer (get-buffer-create nneething-work-buffer))
+  (with-current-buffer (get-buffer-create nneething-work-buffer)
     (setq case-fold-search nil)
     (buffer-disable-undo)
     (erase-buffer)
index 6413e98..5cebcb0 100644 (file)
@@ -157,8 +157,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
 (nnoo-define-basics nnfolder)
 
 (deffoo nnfolder-retrieve-headers (articles &optional group server fetch-old)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let (article start stop num)
       (nnfolder-possibly-change-group group server)
@@ -261,8 +260,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
 
 (deffoo nnfolder-request-article (article &optional group server buffer)
   (nnfolder-possibly-change-group group server)
-  (save-excursion
-    (set-buffer nnfolder-current-buffer)
+  (with-current-buffer nnfolder-current-buffer
     (goto-char (point-min))
     (when (nnfolder-goto-article article)
       (let (start stop)
@@ -360,8 +358,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
              nnfolder-current-group (car inf))))
     (when (and nnfolder-current-buffer
               (buffer-name nnfolder-current-buffer))
-      (save-excursion
-       (set-buffer nnfolder-current-buffer)
+      (with-current-buffer nnfolder-current-buffer
        ;; If the buffer was modified, write the file out now.
        (nnfolder-save-buffer)
        ;; If we're shutting the server down, we need to kill the
@@ -447,8 +444,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
        target)
     (nnmail-activate 'nnfolder)
 
-    (save-excursion
-      (set-buffer nnfolder-current-buffer)
+    (with-current-buffer nnfolder-current-buffer
       ;; Since messages are sorted in arrival order and expired in the
       ;; same order, we can stop as soon as we find a message that is
       ;; too old.
@@ -501,8 +497,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
          result)
       (and
        (nnfolder-request-article article group server)
-       (save-excursion
-        (set-buffer buf)
+       (with-current-buffer buf
         (erase-buffer)
         (insert-buffer-substring nntp-server-buffer)
         (goto-char (point-min))
@@ -578,8 +573,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
 
 (deffoo nnfolder-request-replace-article (article group buffer)
   (nnfolder-possibly-change-group group)
-  (save-excursion
-    (set-buffer buffer)
+  (with-current-buffer buffer
     (goto-char (point-min))
     (if (not (looking-at "X-From-Line: "))
        (insert "From nobody " (current-time-string) "\n")
@@ -596,8 +590,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
       (nnfolder-delete-mail)
       (insert-buffer-substring buffer)
       (unless (or gnus-nov-is-evil nnfolder-nov-is-evil)
-       (save-excursion
-         (set-buffer buffer)
+       (with-current-buffer buffer
          (let ((headers (nnfolder-parse-head article
                                              (point-min) (point-max))))
            (with-current-buffer (nnfolder-open-nov group)
@@ -630,8 +623,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
 
 (deffoo nnfolder-request-rename-group (group new-name &optional server)
   (nnfolder-possibly-change-group group server)
-  (save-excursion
-    (set-buffer nnfolder-current-buffer)
+  (with-current-buffer nnfolder-current-buffer
     (and (file-writable-p buffer-file-name)
         (ignore-errors
           (let ((new-file (nnfolder-group-pathname new-name)))
@@ -671,8 +663,7 @@ the group.  Then the marks file will be regenerated properly by Gnus.")
         (marker (concat "\n" nnfolder-article-marker))
         (number "[0-9]+")
         (activemin (cdr active)))
-    (save-excursion
-      (set-buffer nnfolder-current-buffer)
+    (with-current-buffer nnfolder-current-buffer
       (goto-char (point-min))
       (while (and (search-forward marker nil t)
                  (re-search-forward number nil t))
@@ -1114,8 +1105,7 @@ This command does not work if you use short group names."
 (defun nnfolder-open-nov (group)
   (or (cdr (assoc group nnfolder-nov-buffer-alist))
       (let ((buffer (get-buffer-create (format " *nnfolder overview %s*" group))))
-       (save-excursion
-         (set-buffer buffer)
+       (with-current-buffer buffer
          (set (make-local-variable 'nnfolder-nov-buffer-file-name)
               (nnfolder-group-nov-pathname group))
          (erase-buffer)
@@ -1139,8 +1129,7 @@ This command does not work if you use short group names."
       (setq nnfolder-nov-buffer-alist (cdr nnfolder-nov-buffer-alist)))))
 
 (defun nnfolder-nov-delete-article (group article)
-  (save-excursion
-    (set-buffer (nnfolder-open-nov group))
+  (with-current-buffer (nnfolder-open-nov group)
     (when (nnheader-find-nov-line article)
       (delete-region (point) (progn (forward-line 1) (point))))
     t))
@@ -1150,8 +1139,7 @@ This command does not work if you use short group names."
       nil
     (let ((nov (nnfolder-group-nov-pathname nnfolder-current-group)))
       (when (file-exists-p nov)
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (erase-buffer)
          (nnheader-insert-file-contents nov)
          (if (and fetch-old
@@ -1187,8 +1175,7 @@ This command does not work if you use short group names."
 
 (defun nnfolder-add-nov (group article headers)
   "Add a nov line for the GROUP base."
-  (save-excursion
-    (set-buffer (nnfolder-open-nov group))
+  (with-current-buffer (nnfolder-open-nov group)
     (goto-char (point-max))
     (mail-header-set-number headers article)
     (nnheader-insert-nov headers)))
index 9a90a76..1bfdbea 100644 (file)
@@ -835,8 +835,7 @@ The first string in ARGS can be a format string."
   "Clear the communication buffer and insert FORMAT and ARGS into the buffer.
 If FORMAT isn't a format string, it and all ARGS will be inserted
 without formatting."
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (if (string-match "%" format)
        (insert (apply 'format format args))
index 6096c6f..27610e7 100644 (file)
@@ -744,8 +744,7 @@ and show thread that contains this article."
       nnir-artlist
     ;; Cache miss.
     (setq nnir-artlist (nnir-run-query group)))
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (if (zerop (length nnir-artlist))
        (progn
          (setq nnir-current-query nil
index aa55b55..3e6cee8 100644 (file)
@@ -675,8 +675,7 @@ using different case (i.e. mailing-list@domain vs Mailing-List@Domain)."
   "Returns an assoc of group names and active ranges.
 nn*-request-list should have been called before calling this function."
   ;; Go through all groups from the active list.
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (nnmail-parse-active)))
 
 (defun nnmail-parse-active ()
@@ -1069,9 +1068,8 @@ will be copied over from that buffer."
                                  (list (list group ""))
                                nnmail-split-methods))
        (nnmail-group-names-not-encoded-p t))
-    (save-excursion
-      ;; Insert the incoming file.
-      (set-buffer (get-buffer-create nnmail-article-buffer))
+    ;; Insert the incoming file.
+    (with-current-buffer (get-buffer-create nnmail-article-buffer)
       (erase-buffer)
       (if (bufferp incoming)
          (insert-buffer-substring incoming)
@@ -1112,9 +1110,8 @@ FUNC will be called with the group name to determine the article number."
        (setq group-art
              (list (cons (caar methods) (funcall func (caar methods)))))
       ;; We do actual comparison.
-      (save-excursion
-       ;; Copy the article into the work buffer.
-       (set-buffer nntp-server-buffer)
+      ;; Copy the article into the work buffer.
+      (with-current-buffer nntp-server-buffer
        (erase-buffer)
        (insert-buffer-substring obuf)
        ;; Narrow to headers.
@@ -1581,10 +1578,9 @@ See the documentation for the variable `nnmail-split-fancy' for details."
          (and nnmail-cache-buffer
               (buffer-name nnmail-cache-buffer)))
       ()                               ; The buffer is open.
-    (save-excursion
-      (set-buffer
+    (with-current-buffer
        (setq nnmail-cache-buffer
-            (get-buffer-create " *nnmail message-id cache*")))
+            (get-buffer-create " *nnmail message-id cache*"))
       (gnus-add-buffer)
       (when (file-exists-p nnmail-message-id-cache-file)
        (nnheader-insert-file-contents nnmail-message-id-cache-file))
@@ -1596,8 +1592,7 @@ See the documentation for the variable `nnmail-split-fancy' for details."
             nnmail-treat-duplicates
             (buffer-name nnmail-cache-buffer)
             (buffer-modified-p nnmail-cache-buffer))
-    (save-excursion
-      (set-buffer nnmail-cache-buffer)
+    (with-current-buffer nnmail-cache-buffer
       ;; Weed out the excess number of Message-IDs.
       (goto-char (point-max))
       (when (search-backward "\n" nil t nnmail-message-id-cache-length)
@@ -1632,8 +1627,7 @@ See the documentation for the variable `nnmail-split-fancy' for details."
       ;; pass the first (of possibly >1) group which matches. -Josh
       (unless (gnus-buffer-live-p nnmail-cache-buffer)
        (nnmail-cache-open))
-      (save-excursion
-       (set-buffer nnmail-cache-buffer)
+      (with-current-buffer nnmail-cache-buffer
        (goto-char (point-max))
        (if (and grp (not (string= "" grp))
                 (gnus-methods-equal-p gnus-command-method
@@ -1666,8 +1660,7 @@ See the documentation for the variable `nnmail-split-fancy' for details."
 ;; cache.
 (defun nnmail-cache-fetch-group (id)
   (when (and nnmail-treat-duplicates nnmail-cache-buffer)
-    (save-excursion
-      (set-buffer nnmail-cache-buffer)
+    (with-current-buffer nnmail-cache-buffer
       (goto-char (point-max))
       (when (search-backward id nil t)
        (beginning-of-line)
@@ -1711,8 +1704,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
 
 (defun nnmail-cache-id-exists-p (id)
   (when nnmail-treat-duplicates
-    (save-excursion
-      (set-buffer nnmail-cache-buffer)
+    (with-current-buffer nnmail-cache-buffer
       (goto-char (point-max))
       (search-backward id nil t))))
 
index 827eafd..b79e710 100644 (file)
@@ -208,20 +208,16 @@ by nnmaildir-request-article.")
   (eval param))
 
 (defmacro nnmaildir--with-nntp-buffer (&rest body)
-  `(save-excursion
-     (set-buffer nntp-server-buffer)
+  `(with-current-buffer nntp-server-buffer
      ,@body))
 (defmacro nnmaildir--with-work-buffer (&rest body)
-  `(save-excursion
-     (set-buffer (get-buffer-create " *nnmaildir work*"))
+  `(with-current-buffer (get-buffer-create " *nnmaildir work*")
      ,@body))
 (defmacro nnmaildir--with-nov-buffer (&rest body)
-  `(save-excursion
-     (set-buffer (get-buffer-create " *nnmaildir nov*"))
+  `(with-current-buffer (get-buffer-create " *nnmaildir nov*")
      ,@body))
 (defmacro nnmaildir--with-move-buffer (&rest body)
-  `(save-excursion
-     (set-buffer (get-buffer-create " *nnmaildir move*"))
+  `(with-current-buffer (get-buffer-create " *nnmaildir move*")
      ,@body))
 
 (defmacro nnmaildir--subdir (dir subdir)
@@ -1249,8 +1245,7 @@ by nnmaildir-request-article.")
        (setf (nnmaildir--srv-error nnmaildir--cur-server)
              "Article has expired")
        (throw 'return nil))
-      (save-excursion
-       (set-buffer (or to-buffer nntp-server-buffer))
+      (with-current-buffer (or to-buffer nntp-server-buffer)
        (erase-buffer)
        (nnheader-insert-file-contents nnmaildir-article-file-name))
       (cons gname num-msgid))))
@@ -1289,8 +1284,7 @@ by nnmaildir-request-article.")
        (setf (nnmaildir--srv-error nnmaildir--cur-server)
              (concat "File exists: " tmpfile))
        (throw 'return nil))
-      (save-excursion
-       (set-buffer buffer)
+      (with-current-buffer buffer
        (gmm-write-region (point-min) (point-max) tmpfile nil 'no-message nil
                          'excl))
       (unix-sync) ;; no fsync :(
index 04db76b..b43a83e 100644 (file)
@@ -445,8 +445,7 @@ Other back ends might or might not work.")
       nil)
      ((not query)
       ;; No query -> return empty group
-      (save-excursion
-       (set-buffer nntp-server-buffer)
+      (with-current-buffer nntp-server-buffer
        (erase-buffer)
        (insert (concat "211 0 1 0 " group))
        t))
@@ -501,9 +500,9 @@ Other back ends might or might not work.")
          (nnmairix-request-group-with-article-number-correction
           folder qualgroup)))
        ((and (= rval 1)
-            (save-excursion (set-buffer nnmairix-mairix-output-buffer)
-                            (goto-char (point-min))
-                            (looking-at "^Matched 0 messages")))
+            (with-current-buffer nnmairix-mairix-output-buffer
+              (goto-char (point-min))
+              (looking-at "^Matched 0 messages")))
        ;; No messages found -> return empty group
        (nnheader-message 5 "Mairix: No matches found.")
        (set-buffer nntp-server-buffer)
@@ -584,8 +583,7 @@ Other back ends might or might not work.")
   (when server (nnmairix-open-server server))
   (if (nnmairix-call-backend "request-list" nnmairix-backend-server)
       (let (cpoint cur qualgroup folder)
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (goto-char (point-min))
          (setq cpoint (point))
          (while (re-search-forward nnmairix-group-regexp (point-max) t)
@@ -699,8 +697,7 @@ Other back ends might or might not work.")
       (when (or (eq nnmairix-propagate-marks-upon-close t)
                (and (eq nnmairix-propagate-marks-upon-close 'ask)
                     (y-or-n-p "Propagate marks to original articles? ")))
-      (save-excursion
-       (set-buffer gnus-group-buffer)
+      (with-current-buffer gnus-group-buffer
        (nnmairix-propagate-marks)
        ;; update mairix group
        (gnus-group-jump-to-group qualgroup)
@@ -998,8 +995,7 @@ with m:msgid of the current article and enabled threads."
     (if server
        (if (gnus-buffer-live-p gnus-article-buffer)
            (progn
-             (save-excursion
-               (set-buffer gnus-article-buffer)
+             (with-current-buffer gnus-article-buffer
                (gnus-summary-toggle-header 1)
                (setq mid (message-fetch-field "Message-ID")))
              (while (string-match "[<>]" mid)
@@ -1021,8 +1017,7 @@ f:current_from."
     (if server
        (if (gnus-buffer-live-p gnus-article-buffer)
            (progn
-             (save-excursion
-               (set-buffer gnus-article-buffer)
+             (with-current-buffer gnus-article-buffer
                (gnus-summary-toggle-header 1)
                (setq from (cadr (gnus-extract-address-components
                                  (gnus-fetch-field "From"))))
@@ -1046,8 +1041,7 @@ before deleting a group on the back end.  SERVER specifies nnmairix server."
        (when (nnmairix-call-backend
               "request-list" nnmairix-backend-server)
          (let (cur qualgroup folder)
-           (save-excursion
-             (set-buffer nntp-server-buffer)
+           (with-current-buffer nntp-server-buffer
              (goto-char (point-min))
              (while (re-search-forward nnmairix-group-regexp (point-max) t)
                (setq cur (match-string 0)
@@ -1152,8 +1146,7 @@ nnmairix server. Only marks from current session will be set."
                (push (list (car ogroup) (list (list number) (nth 1 mid-marks) (nth 2 mid-marks)))
                      number-cache)))))
        ;; now we set the marks
-       (save-excursion
-         (set-buffer gnus-group-buffer)
+       (with-current-buffer gnus-group-buffer
          (nnheader-message 5 "nnmairix: Propagating marks...")
          (dolist (cur number-cache)
            (setq method (gnus-find-method-for-group (car cur)))
@@ -1272,9 +1265,8 @@ Marks propagation has to be enabled for this to work."
   "Call mairix binary with COMMAND, using FOLDER and SEARCHQUERY.
 If THREADS is non-nil, enable full threads."
   (let ((args (cons (car command) '(nil t nil))))
-    (save-excursion
-      (set-buffer
-       (get-buffer-create nnmairix-mairix-output-buffer))
+    (with-current-buffer
+       (get-buffer-create nnmairix-mairix-output-buffer)
       (erase-buffer)
       (when (> (length command) 1)
        (setq args (append args (cdr command))))
@@ -1291,9 +1283,8 @@ If THREADS is non-nil, enable full threads."
 (defun nnmairix-call-mairix-binary-raw (command query)
   "Call mairix binary with COMMAND and QUERY in raw mode."
   (let ((args (cons (car command) '(nil t nil))))
-    (save-excursion
-      (set-buffer
-       (get-buffer-create nnmairix-mairix-output-buffer))
+    (with-current-buffer
+       (get-buffer-create nnmairix-mairix-output-buffer)
       (erase-buffer)
       (when (> (length command) 1)
         (setq args (append args (cdr command))))
@@ -1430,8 +1421,7 @@ MAIRIXGROUP.  NUMC contains values for article number correction."
        (corr (not (zerop numc)))
        (name (buffer-name nntp-server-buffer))
        header cur xref)
-    (save-excursion
-      (set-buffer buf)
+    (with-current-buffer buf
       (erase-buffer)
       (set-buffer nntp-server-buffer)
       (goto-char (point-min))
@@ -1621,8 +1611,7 @@ search in raw mode."
   (let ((server (nth 1 gnus-current-select-method))
        mid rval group allgroups)
     ;; get message id
-    (save-excursion
-      (set-buffer gnus-article-buffer)
+    (with-current-buffer gnus-article-buffer
       (gnus-summary-toggle-header 1)
       (setq mid (message-fetch-field "Message-ID"))
       ;; first check the registry (if available)
@@ -1678,8 +1667,7 @@ SERVER."
     (if (zerop (nnmairix-call-mairix-binary-raw
                (split-string nnmairix-mairix-command)
                (list (concat "m:" mid))))
-       (save-excursion
-         (set-buffer nnmairix-mairix-output-buffer)
+       (with-current-buffer nnmairix-mairix-output-buffer
          (goto-char (point-min))
          (while (re-search-forward "^/.*$" nil t)
            (push (nnmairix-get-group-from-file-path (match-string 0))
index 7d71dc1..4b01bfa 100644 (file)
@@ -79,8 +79,7 @@
 (nnoo-define-basics nnmbox)
 
 (deffoo nnmbox-retrieve-headers (sequence &optional newsgroup server fetch-old)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let ((number (length sequence))
          (count 0)
 
 (deffoo nnmbox-request-article (article &optional newsgroup server buffer)
   (nnmbox-possibly-change-newsgroup newsgroup server)
-  (save-excursion
-    (set-buffer nnmbox-mbox-buffer)
+  (with-current-buffer nnmbox-mbox-buffer
     (when (nnmbox-find-article article)
       (let (start stop)
        (re-search-backward (concat "^" message-unix-mail-delimiter) nil t)
   (nnmail-get-new-mail
    'nnmbox
    (lambda ()
-     (save-excursion
-       (set-buffer nnmbox-mbox-buffer)
+     (with-current-buffer nnmbox-mbox-buffer
        (nnmbox-save-buffer)))
    (file-name-directory nnmbox-mbox-file)
    group
         rest)
     (nnmail-activate 'nnmbox)
 
-    (save-excursion
-      (set-buffer nnmbox-mbox-buffer)
+    (with-current-buffer nnmbox-mbox-buffer
       (while (and articles is-old)
        (when (nnmbox-find-article (car articles))
          (if (setq is-old
        result)
     (and
      (nnmbox-request-article article group server)
-     (save-excursion
-       (set-buffer buf)
+     (with-current-buffer buf
        (erase-buffer)
        (insert-buffer-substring nntp-server-buffer)
        (goto-char (point-min))
 
 (deffoo nnmbox-request-replace-article (article group buffer)
   (nnmbox-possibly-change-newsgroup group)
-  (save-excursion
-    (set-buffer nnmbox-mbox-buffer)
+  (with-current-buffer nnmbox-mbox-buffer
     (if (not (nnmbox-find-article article))
        nil
       (nnmbox-delete-mail t t)
   ;; Delete all articles in GROUP.
   (if (not force)
       ()                               ; Don't delete the articles.
-    (save-excursion
-      (set-buffer nnmbox-mbox-buffer)
+    (with-current-buffer nnmbox-mbox-buffer
       (goto-char (point-min))
       ;; Delete all articles in this group.
       (let ((ident (concat "\nX-Gnus-Newsgroup: " nnmbox-current-group ":"))
 
 (deffoo nnmbox-request-rename-group (group new-name &optional server)
   (nnmbox-possibly-change-newsgroup group server)
-  (save-excursion
-    (set-buffer nnmbox-mbox-buffer)
+  (with-current-buffer nnmbox-mbox-buffer
     (goto-char (point-min))
     (let ((ident (concat "\nX-Gnus-Newsgroup: " nnmbox-current-group ":"))
          (new-ident (concat "\nX-Gnus-Newsgroup: " new-name ":"))
   (nnmbox-create-mbox)
   (if (and nnmbox-mbox-buffer
           (buffer-name nnmbox-mbox-buffer)
-          (save-excursion
-            (set-buffer nnmbox-mbox-buffer)
+          (with-current-buffer nnmbox-mbox-buffer
             (= (buffer-size) (nnheader-file-size nnmbox-mbox-file))))
       ()
     (save-excursion
index 6d676bb..5d62192 100644 (file)
@@ -160,8 +160,7 @@ non-nil.")
 
 (deffoo nnml-retrieve-headers (sequence &optional group server fetch-old)
   (when (nnml-possibly-change-directory group server)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (let* ((file nil)
             (number (length sequence))
@@ -405,8 +404,7 @@ non-nil.")
      (let (nnml-current-directory
           nnml-current-group
           nnml-article-file-alist)
-       (save-excursion
-        (set-buffer buf)
+       (with-current-buffer buf
         (insert-buffer-substring nntp-server-buffer)
         (setq result (eval accept-form))
         (kill-buffer (current-buffer))
@@ -462,8 +460,7 @@ non-nil.")
 
 (deffoo nnml-request-replace-article (article group buffer)
   (nnml-possibly-change-directory group)
-  (save-excursion
-    (set-buffer buffer)
+  (with-current-buffer buffer
     (nnml-possibly-create-directory group)
     (let ((chars (nnmail-insert-lines))
          (art (concat (int-to-string article) "\t"))
@@ -478,8 +475,7 @@ non-nil.")
              t)
        (setq headers (nnml-parse-head chars article))
        ;; Replace the NOV line in the NOV file.
-       (save-excursion
-         (set-buffer (nnml-open-nov group))
+       (with-current-buffer (nnml-open-nov group)
          (goto-char (point-min))
          (if (or (looking-at art)
                  (search-forward (concat "\n" art) nil t))
@@ -614,8 +610,7 @@ non-nil.")
 
 ;; Find an article number in the current group given the Message-ID.
 (defun nnml-find-group-number (id server)
-  (save-excursion
-    (set-buffer (get-buffer-create " *nnml id*"))
+  (with-current-buffer (get-buffer-create " *nnml id*")
     (let ((alist nnml-group-alist)
          number)
       ;; We want to look through all .overview files, but we want to
@@ -657,8 +652,7 @@ non-nil.")
       nil
     (let ((nov (expand-file-name nnml-nov-file-name nnml-current-directory)))
       (when (file-exists-p nov)
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (erase-buffer)
          (nnheader-insert-file-contents nov)
          (if (and fetch-old
@@ -804,16 +798,14 @@ article number.  This function is called narrowed to an article."
 
 (defun nnml-add-incremental-nov (group article headers)
   "Add a nov line for the GROUP nov headers, incrementally."
-  (save-excursion
-    (set-buffer (nnml-open-incremental-nov group))
+  (with-current-buffer (nnml-open-incremental-nov group)
     (goto-char (point-max))
     (mail-header-set-number headers article)
     (nnheader-insert-nov headers)))
 
 (defun nnml-add-nov (group article headers)
   "Add a nov line for the GROUP base."
-  (save-excursion
-    (set-buffer (nnml-open-nov group))
+  (with-current-buffer (nnml-open-nov group)
     (goto-char (point-max))
     (mail-header-set-number headers article)
     (nnheader-insert-nov headers)))
@@ -844,8 +836,7 @@ article number.  This function is called narrowed to an article."
                                              "")
                                            decoded)))
         (file-name-coding-system nnmail-pathname-coding-system))
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (set (make-local-variable 'nnml-nov-buffer-file-name)
           (nnmail-group-pathname decoded nnml-directory nnml-nov-file-name))
       (erase-buffer)
@@ -942,9 +933,8 @@ Unless no-active is non-nil, update the active file too."
         (nov (concat dir nnml-nov-file-name))
         (nov-buffer (get-buffer-create " *nov*"))
         chars file headers)
-    (save-excursion
+    (with-current-buffer nov-buffer
       ;; Init the nov buffer.
-      (set-buffer nov-buffer)
       (buffer-disable-undo)
       (erase-buffer)
       (set-buffer nntp-server-buffer)
@@ -964,20 +954,17 @@ Unless no-active is non-nil, update the active file too."
          (unless (zerop (buffer-size))
            (goto-char (point-min))
            (setq headers (nnml-parse-head chars (caar files)))
-           (save-excursion
-             (set-buffer nov-buffer)
+           (with-current-buffer nov-buffer
              (goto-char (point-max))
              (nnheader-insert-nov headers)))
          (widen))
        (setq files (cdr files)))
-      (save-excursion
-       (set-buffer nov-buffer)
+      (with-current-buffer nov-buffer
        (nnmail-write-region (point-min) (point-max) nov nil 'nomesg)
        (kill-buffer (current-buffer))))))
 
 (defun nnml-nov-delete-article (group article)
-  (save-excursion
-    (set-buffer (nnml-open-nov group))
+  (with-current-buffer (nnml-open-nov group)
     (when (nnheader-find-nov-line article)
       (delete-region (point) (progn (forward-line 1) (point)))
       (when (bobp)
@@ -1260,8 +1247,7 @@ Use the nov database for the current group if available."
                  (gnus-info-set-marks info newmarks))
                ;; 3/ Update the NOV entry for this article:
                (unless nnml-nov-is-evil
-                 (save-excursion
-                   (set-buffer (nnml-open-nov group))
+                 (with-current-buffer (nnml-open-nov group)
                    (when (nnheader-find-nov-line old-number)
                      ;; Replace the article number:
                      (looking-at old-number-string)
index f6bc35a..dd5e984 100644 (file)
@@ -58,8 +58,7 @@
 
 (defun nnnil-request-group (group &optional server fast)
   (let (deactivate-mark)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (insert "411 no such news group\n")))
   (setq nnnil-status-string "No such group")
index 555c2c3..f241e5b 100644 (file)
@@ -134,8 +134,7 @@ used to render text.  If it is nil, text will simply be folded.")
   (setq group (nnrss-decode-group-name group))
   (nnrss-possibly-change-group group server)
   (let (e)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (dolist (article articles)
        (if (setq e (assq article nnrss-group-data))
@@ -384,8 +383,7 @@ used to render text.  If it is nil, text will simply be folded.")
 
 (deffoo nnrss-request-list-newsgroups (&optional server)
   (nnrss-possibly-change-group nil server)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (dolist (elem nnrss-group-alist)
       (if (third elem)
@@ -396,8 +394,7 @@ used to render text.  If it is nil, text will simply be folded.")
   (nnrss-possibly-change-group nil server)
   (dolist (group groups)
     (nnrss-check-group group server))
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (dolist (group groups)
       (let ((elem (assoc group nnrss-server-data)))
index cdf2b82..ee1e36f 100644 (file)
@@ -109,8 +109,7 @@ there.")
 
 (deffoo nnspool-retrieve-headers (articles &optional group server fetch-old)
   "Retrieve the headers of ARTICLES."
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (when (nnspool-possibly-change-directory group)
       (let* ((number (length articles))
@@ -209,8 +208,7 @@ there.")
   (nnspool-possibly-change-directory group)
   (let ((res (nnspool-request-article id)))
     (when res
-      (save-excursion
-       (set-buffer nntp-server-buffer)
+      (with-current-buffer nntp-server-buffer
        (goto-char (point-min))
        (when (search-forward "\n\n" nil t)
          (delete-region (point-min) (point)))
@@ -221,8 +219,7 @@ there.")
   (nnspool-possibly-change-directory group)
   (let ((res (nnspool-request-article id)))
     (when res
-      (save-excursion
-       (set-buffer nntp-server-buffer)
+      (with-current-buffer nntp-server-buffer
        (goto-char (point-min))
        (when (search-forward "\n\n" nil t)
          (delete-region (1- (point)) (point-max)))
@@ -343,8 +340,7 @@ there.")
 ;;; Internal functions.
 
 (defun nnspool-inews-sentinel (proc status)
-  (save-excursion
-    (set-buffer (process-buffer proc))
+  (with-current-buffer (process-buffer proc)
     (goto-char (point-min))
     (if (or (zerop (buffer-size))
            (search-forward "spooled" nil t))
@@ -367,8 +363,7 @@ there.")
          last)
       (if (not (file-exists-p nov))
          ()
-       (save-excursion
-         (set-buffer nntp-server-buffer)
+       (with-current-buffer nntp-server-buffer
          (erase-buffer)
          (if nnspool-sift-nov-with-sed
              (nnspool-sift-nov-with-sed articles nov)
index c94d183..18faa23 100644 (file)
@@ -93,8 +93,7 @@ component group will show up when you enter the virtual group.")
 (deffoo nnvirtual-retrieve-headers (articles &optional newsgroup
                                             server fetch-old)
   (when (nnvirtual-possibly-change-server server)
-    (save-excursion
-      (set-buffer nntp-server-buffer)
+    (with-current-buffer nntp-server-buffer
       (erase-buffer)
       (if (stringp (car articles))
          'headers
@@ -170,8 +169,7 @@ component group will show up when you enter the virtual group.")
          ;; the nntp-server-buffer, which is where Gnus expects to find
          ;; them.
          (prog1
-             (save-excursion
-               (set-buffer nntp-server-buffer)
+             (with-current-buffer nntp-server-buffer
                (erase-buffer)
                (insert-buffer-substring vbuf)
                ;; FIX FIX FIX, we should be able to sort faster than
@@ -215,8 +213,7 @@ component group will show up when you enter the virtual group.")
         (t
          (setq nnvirtual-last-accessed-component-group cgroup)
          (if buffer
-             (save-excursion
-               (set-buffer buffer)
+             (with-current-buffer buffer
                ;; We bind this here to avoid double decoding.
                (let ((gnus-article-decode-hook nil))
                  (gnus-request-article-this-buffer (cdr amap) cgroup)))
@@ -335,8 +332,7 @@ component group will show up when you enter the virtual group.")
         (when (not (numberp (gnus-group-unread g)))
           (gnus-activate-group g)))
        nnvirtual-component-groups)
-      (save-excursion
-       (set-buffer gnus-group-buffer)
+      (with-current-buffer gnus-group-buffer
        (gnus-group-catchup-current nil all)))))
 
 
index 3b4f71c..e6289c5 100644 (file)
@@ -104,8 +104,7 @@ Valid types include `google', `dejanews', and `gmane'.")
 
 (deffoo nnweb-retrieve-headers (articles &optional group server fetch-old)
   (nnweb-possibly-change-server group server)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
     (let (article header)
       (mm-with-unibyte-current-buffer
@@ -147,16 +146,14 @@ Valid types include `google', `dejanews', and `gmane'.")
 (deffoo nnweb-close-group (group &optional server)
   (nnweb-possibly-change-server group server)
   (when (gnus-buffer-live-p nnweb-buffer)
-    (save-excursion
-      (set-buffer nnweb-buffer)
+    (with-current-buffer nnweb-buffer
       (set-buffer-modified-p nil)
       (kill-buffer nnweb-buffer)))
   t)
 
 (deffoo nnweb-request-article (article &optional group server buffer)
   (nnweb-possibly-change-server group server)
-  (save-excursion
-    (set-buffer (or buffer nntp-server-buffer))
+  (with-current-buffer (or buffer nntp-server-buffer)
     (let* ((header (cadr (assq article nnweb-articles)))
           (url (and header (mail-header-xref header))))
       (when (or (and url
@@ -185,16 +182,14 @@ Valid types include `google', `dejanews', and `gmane'.")
 (deffoo nnweb-close-server (&optional server)
   (when (and (nnweb-server-opened server)
             (gnus-buffer-live-p nnweb-buffer))
-    (save-excursion
-      (set-buffer nnweb-buffer)
+    (with-current-buffer nnweb-buffer
       (set-buffer-modified-p nil)
       (kill-buffer nnweb-buffer)))
   (nnoo-close-server 'nnweb server))
 
 (deffoo nnweb-request-list (&optional server)
   (nnweb-possibly-change-server nil server)
-  (save-excursion
-    (set-buffer nntp-server-buffer)
+  (with-current-buffer nntp-server-buffer
     (nnmail-generate-active (list (assoc server nnweb-group-alist)))
     t))
 
@@ -402,8 +397,7 @@ Valid types include `google', `dejanews', and `gmane'.")
 
 (defun nnweb-google-create-mapping ()
   "Perform the search and create a number-to-url alist."
-  (save-excursion
-    (set-buffer nnweb-buffer)
+  (with-current-buffer nnweb-buffer
     (erase-buffer)
     (nnheader-message 7 "Searching google...")
     (when (funcall (nnweb-definition 'search) nnweb-search)
@@ -459,8 +453,7 @@ Valid types include `google', `dejanews', and `gmane'.")
 ;;;
 (defun nnweb-gmane-create-mapping ()
   "Perform the search and create a number-to-url alist."
-  (save-excursion
-    (set-buffer nnweb-buffer)
+  (with-current-buffer nnweb-buffer
     (let ((case-fold-search t)
          (active (or (cadr (assoc nnweb-group nnweb-group-alist))
                      (cons 1 0)))
index 0480735..052dc93 100644 (file)
@@ -120,8 +120,7 @@ an alist of attribute/value pairs."
            (equal "" filter))
        (error "No search filter"))
     (setq filter (cons filter attributes))
-    (save-excursion
-      (set-buffer buf)
+    (with-current-buffer buf
       (erase-buffer)
       (if (and host
               (not (equal "" host)))
@@ -181,8 +180,7 @@ an alist of attribute/value pairs."
                                     "\\(<[\t ]*file://\\)?\\(.*\\)$"))
            (setq name (match-string 1)
                  value (match-string 4))
-           (save-excursion
-             (set-buffer bufval)
+           (with-current-buffer bufval
              (erase-buffer)
              (insert-file-contents-literally value)
              (delete-file value)
index d836f32..a266819 100644 (file)
@@ -708,8 +708,7 @@ The following commands are available:
   "Go to the SMIME buffer."
   (interactive)
   (unless (get-buffer smime-buffer)
-    (save-excursion
-      (set-buffer (get-buffer-create smime-buffer))
+    (with-current-buffer (get-buffer-create smime-buffer)
       (smime-mode)))
   (smime-draw-buffer)
   (switch-to-buffer smime-buffer))
index 0e32e93..e73444e 100644 (file)
@@ -109,8 +109,7 @@ Reports is as ham when HAM is set."
     ;; select this particular article
     (gnus-summary-select-article nil nil nil article)
     ;; resend it to the destination address
-    (save-excursion
-      (set-buffer gnus-original-article-buffer)
+    (with-current-buffer gnus-original-article-buffer
       (message-resend spam-report-resend-to))))
 
 (defun spam-report-resend-ham (articles)
@@ -292,8 +291,7 @@ symbol `ask', query before flushing the queue file."
     (gnus-message 7 "Processing requests using `%s'."
                  spam-report-url-ping-function))
   (or file (setq file spam-report-requests-file))
-  (save-excursion
-    (set-buffer (find-file-noselect file))
+  (with-current-buffer (find-file-noselect file)
     (goto-char (point-min))
     (while (and (not (eobp))
                (re-search-forward
index d079be2..b7908e5 100644 (file)
@@ -1605,8 +1605,7 @@ to find it out)."
        article))))
 
 (defun spam-fetch-article-header (article)
-  (save-excursion
-    (set-buffer gnus-summary-buffer)
+  (with-current-buffer gnus-summary-buffer
     (gnus-read-header article)
     (nth 3 (assq article gnus-newsgroup-data))))
 ;;}}}
@@ -2172,8 +2171,7 @@ See `spam-ifile-database'."
     (with-temp-buffer
       (let ((temp-buffer-name (buffer-name))
            (db-param (spam-get-ifile-database-parameter)))
-       (save-excursion
-         (set-buffer article-buffer-name)
+       (with-current-buffer article-buffer-name
          (apply 'call-process-region
                 (point-min) (point-max) spam-ifile-program
                 nil temp-buffer-name nil "-c"
@@ -2318,9 +2316,8 @@ With a non-nil REMOVE, remove the ADDRESSES."
     ;; else, we have a list of addresses here
     (unless (file-exists-p (file-name-directory file))
       (make-directory (file-name-directory file) t))
-    (save-excursion
-      (set-buffer
-       (find-file-noselect file))
+    (with-current-buffer
+       (find-file-noselect file)
       (dolist (a addresses)
        (when (stringp a)
          (goto-char (point-min))
@@ -2521,8 +2518,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
            return)
        (with-temp-buffer
          (let ((temp-buffer-name (buffer-name)))
-           (save-excursion
-             (set-buffer article-buffer-name)
+           (with-current-buffer article-buffer-name
              (apply 'call-process-region
                     (point-min) (point-max)
                     spam-bogofilter-program
@@ -2579,8 +2575,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
   (let ((article-buffer-name (buffer-name)))
     (with-temp-buffer
       (let ((temp-buffer-name (buffer-name)))
-       (save-excursion
-         (set-buffer article-buffer-name)
+       (with-current-buffer article-buffer-name
          (let ((status
                 (apply 'call-process-region
                        (point-min) (point-max)
@@ -2656,8 +2651,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
   (let ((article-buffer-name (buffer-name)))
     (with-temp-buffer
       (let ((temp-buffer-name (buffer-name)))
-       (save-excursion
-         (set-buffer article-buffer-name)
+       (with-current-buffer article-buffer-name
          (apply 'call-process-region
                 (point-min) (point-max) spam-assassin-program
                 nil temp-buffer-name nil spam-spamassassin-arguments))
@@ -2691,8 +2685,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
          ;; group the articles into mbox format
          (dolist (article articles)
            (let (article-string)
-             (save-excursion
-               (set-buffer summary-buffer-name)
+             (with-current-buffer summary-buffer-name
                (setq article-string (spam-get-article-as-string article)))
              (when (stringp article-string)
                (insert "From \n") ; mbox separator (sa-learn only checks the
@@ -2755,8 +2748,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
        return)
     (with-temp-buffer
       (let ((temp-buffer-name (buffer-name)))
-       (save-excursion
-         (set-buffer article-buffer-name)
+       (with-current-buffer article-buffer-name
          (apply 'call-process-region
                 (point-min) (point-max)
                 spam-bsfilter-program
@@ -2841,8 +2833,7 @@ With a non-nil REMOVE, remove the ADDRESSES."
        return)
     (with-temp-buffer
       (let ((temp-buffer-name (buffer-name)))
-       (save-excursion
-         (set-buffer article-buffer-name)
+       (with-current-buffer article-buffer-name
          (apply 'call-process-region
                 (point-min) (point-max)
                 spam-crm114-program
index 02a557d..bf1982f 100644 (file)
@@ -254,8 +254,7 @@ handshake, or nil on failure."
     (starttls-set-process-query-on-exit-flag process nil)
     (while (and (processp process)
                (eq (process-status process) 'run)
-               (save-excursion
-                 (set-buffer buffer)
+               (with-current-buffer buffer
                  (goto-char old-max)
                  (not (setq done (re-search-forward
                                   starttls-connect nil t)))))