Patch by Ed L. Cashin to make gnus-move-split-methods move to
[gnus] / lisp / gnus-mh.el
index ce15a01..a73e90b 100644 (file)
@@ -1,8 +1,9 @@
 ;;; gnus-mh.el --- mh-e interface for Gnus
-;; Copyright (C) 1994,95,96,97 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000
+;;        Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
-;;     Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
 
 ;; This file is part of GNU Emacs.
@@ -55,14 +56,23 @@ Optional argument FOLDER specifies folder name."
   ;; Thanks to yuki@flab.Fujitsu.JUNET and ohm@kaba.junet.
   (mh-find-path)
   (let ((folder
-        (gnus-read-save-file-name
-                 "Save %s in file:" folder
-                 gnus-folder-save-name gnus-newsgroup-name
-                 gnus-current-headers 'gnus-newsgroup-last-folder))
-       (errbuf (get-buffer-create " *Gnus rcvstore*"))
+        (cond ((and (eq folder 'default)
+                    gnus-newsgroup-last-folder)
+               gnus-newsgroup-last-folder)
+              (folder folder)
+              (t (mh-prompt-for-folder
+                  "Save article in"
+                  (funcall gnus-folder-save-name gnus-newsgroup-name
+                           gnus-current-headers gnus-newsgroup-last-folder)
+                  t))))
+       (errbuf (gnus-get-buffer-create " *Gnus rcvstore*"))
        ;; Find the rcvstore program.
-       (exec-path (if mh-lib (cons mh-lib exec-path) exec-path)))
-    (gnus-eval-in-buffer-window gnus-original-article-buffer
+       (exec-path (cond
+                   ((and (boundp 'mh-lib-progs) mh-lib-progs)
+                    (cons mh-lib-progs exec-path))
+                   (mh-lib (cons mh-lib exec-path))
+                   (t exec-path))))
+    (with-current-buffer gnus-original-article-buffer
       (save-restriction
        (widen)
        (unwind-protect