]> git.eshelyaron.com Git - emacs.git/commitdiff
(set-rmail-inbox-list): Rewrite to only set inbox
authorHenrik Enberg <henrik.enberg@telia.com>
Fri, 20 Jan 2006 16:29:51 +0000 (16:29 +0000)
committerHenrik Enberg <henrik.enberg@telia.com>
Fri, 20 Jan 2006 16:29:51 +0000 (16:29 +0000)
list temporarily for a session.

lisp/mail/ChangeLog
lisp/mail/rmailmsc.el

index d86bd4ce860672a616e31c77f7cbcf440477a567..89a3b4abadbe2454831baebe41fea2bf164ba542 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-20  Henrik Enberg  <enberg@printf.se>
+
+       * rmailmsc.el (set-rmail-inbox-list): Rewrite to only set inbox
+       list temporarily for a session.
+
 2006-01-20  Alex Schroeder  <alex@gnu.org>
 
        * rmail.el (rmail-show-message): Minor changes: comments.
@@ -9,7 +14,7 @@
 
 2006-01-20  Henrik Enberg  <enberg@printf.se>
 
-       * rmail.el: (rmail-inbox-alist): New variable.
+       * rmail.el (rmail-inbox-alist): New variable.
        (rmail-get-file-inbox-list): New function.
        (rmail-perm-variables): Use it.
        (rmail-parse-file-inboxes): Deleted.
index f9b8783954e03aab0ee1331386f41bbf55d1f152..59d5ceda4499af490123e1f977a535a505b4ad59 100644 (file)
 You can specify one file name, or several names separated by commas.
 If FILE-NAME is empty, remove any existing inbox list."
   (interactive "sSet mailbox list to (comma-separated list of filenames): ")
-
   (unless (eq major-mode 'rmail-mode)
     (error "set-rmail-inbox-list works only for an Rmail file"))
-
-  (save-excursion
-    (let ((names (rmail-parse-file-inboxes))
-         (standard-output nil))
-      (if (or (not names)
+  (let ((inbox-list
+        (with-temp-buffer
+          (insert file-name)
+          (goto-char (point-min))
+          (nreverse (mail-parse-comma-list)))))
+    (when (or (not rmail-inbox-list)
              (y-or-n-p (concat "Replace "
-                               (mapconcat 'identity names ", ")
+                               (mapconcat 'identity
+                                          rmail-inbox-list
+                                          ", ")
                                "? ")))
-         (let ((buffer-read-only nil))
-           (widen)
-           (goto-char (point-min))
-           (search-forward "\n\^_")
-           (re-search-backward "^Mail" nil t)
-           (forward-line 0)
-           (if (looking-at "Mail:")
-               (delete-region (point)
-                              (progn (forward-line 1)
-                                     (point))))
-           (if (not (string= file-name ""))
-               (insert-before-markers "Mail: " file-name "\n"))))))
-  (setq rmail-inbox-list (rmail-parse-file-inboxes))
+      (message "Setting the inbox list for %s for this session"
+              (file-name-nondirectory (buffer-file-name)))
+      (setq rmail-inbox-list inbox-list)))
   (rmail-show-message rmail-current-message))
 
 ;;; arch-tag: 74ed1d50-2c25-4cbd-b5ae-d29ed8aba6e4