summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/mh-e/mh-e.el10
-rw-r--r--lisp/mh-e/mh-folder.el10
2 files changed, 17 insertions, 3 deletions
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index e507996c581..f64b02c7bca 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -144,6 +144,10 @@ This directory contains, among other things, the mhl program.")
;;;###autoload
(put 'mh-lib-progs 'risky-local-variable t)
+(defvar mh-default-directory "~/"
+ "Default directory for MH-E folder buffers.
+Set to nil to have MH-E buffers inherit default-directory.")
+
;; Profile Components
(defvar mh-draft-folder nil
@@ -438,6 +442,12 @@ gnus-version)
(error "Bad element: %s" element))))
new-list))
+(defun mh-set-default-directory ()
+ "Set `default-directory' to `mh-default-directory' unless it is nil."
+ (when (stringp mh-default-directory)
+ (setq default-directory (file-name-as-directory
+ (expand-file-name mh-default-directory)))))
+
;;; MH-E Process Support
diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el
index 5009c2c4f98..e0c53724f9c 100644
--- a/lisp/mh-e/mh-folder.el
+++ b/lisp/mh-e/mh-folder.el
@@ -51,9 +51,12 @@ the MH mail system."
(interactive "P")
(mh-find-path)
(if arg
- (call-interactively 'mh-visit-folder)
+ (progn
+ (call-interactively 'mh-visit-folder)
+ (mh-set-default-directory))
(unless (get-buffer mh-inbox)
- (mh-visit-folder mh-inbox (symbol-name mh-unseen-seq)))
+ (mh-visit-folder mh-inbox (symbol-name mh-unseen-seq))
+ (mh-set-default-directory))
(mh-inc-folder)))
;;;###autoload
@@ -67,7 +70,8 @@ the MH mail system."
(mh-find-path) ; init mh-inbox
(if arg
(call-interactively 'mh-visit-folder)
- (mh-visit-folder mh-inbox)))
+ (mh-visit-folder mh-inbox))
+ (mh-set-default-directory))
;;; Desktop Integration