;;; 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.
(require 'gnus-msg)
(require 'gnus-sum)
+(eval-when-compile
+ (defvar mh-lib-progs))
+
(defun gnus-summary-save-article-folder (&optional arg)
"Append the current article to an mh folder.
If N is a positive number, save the N next articles.
If N is nil and any articles have been marked with the process mark,
save those articles instead."
(interactive "P")
+ (require 'gnus-art)
(let ((gnus-default-article-saver 'gnus-summary-save-in-folder))
(gnus-summary-save-article arg)))
;; 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