;;; mh-letter.el --- MH-Letter mode
;; Copyright (C) 1993, 1995, 1997,
-;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
This command leaves the mark before the letter and point after it."
(interactive
(let* ((folder
- (mh-prompt-for-folder "Message from"
- mh-sent-from-folder nil))
+ (mh-prompt-for-folder "Message from" mh-sent-from-folder nil))
(default
- (if (and (equal folder mh-sent-from-folder)
- (numberp mh-sent-from-msg))
- mh-sent-from-msg
+ (if (equal folder mh-sent-from-folder)
+ (or mh-sent-from-msg (nth 0 (mh-translate-range folder "cur")))
(nth 0 (mh-translate-range folder "cur"))))
(message
(read-string (concat "Message number"
(or (and default
(format " (default %d): " default))
- ": ")))))
+ ": "))
+ nil nil
+ (if (numberp default)
+ (int-to-string default)
+ default))))
(list folder message current-prefix-arg)))
+ (if (equal message "")
+ (error "No message number given"))
(save-restriction
(narrow-to-region (point) (point))
(let ((start (point-min)))
- (if (and (equal message "") (numberp mh-sent-from-msg))
- (setq message (int-to-string mh-sent-from-msg)))
(insert-file-contents
(expand-file-name message (mh-expand-file-name folder)))
(when (not verbatim)
(defun mh-position-on-field (field &optional ignored)
"Move to the end of the FIELD in the header.
Move to end of entire header if FIELD not found.
-Returns non-nil iff FIELD was found.
+Returns non-nil if FIELD was found.
The optional second arg is for pre-version 4 compatibility and is
IGNORED."
(cond ((mh-goto-header-field field)
"Do folder name completion in Fcc header field."
(let* ((end (point))
(beg (mh-beginning-of-word))
- (folder (buffer-substring beg end))
+ (folder (buffer-substring-no-properties beg end))
(leading-plus (and (> (length folder) 0) (equal (aref folder 0) ?+)))
- (last-slash (mh-search-from-end ?/ folder))
- (prefix (and last-slash (substring folder 0 last-slash)))
- (choices (mapcar #'(lambda (x)
- (list (cond (prefix (format "%s/%s" prefix x))
- (leading-plus (format "+%s" x))
- (t x))))
+ (choices (mapcar (lambda (x) (list x))
(mh-folder-completion-function folder nil t))))
+ (unless leading-plus
+ (setq folder (concat "+" folder)))
(mh-complete-word folder choices beg end)))
;;;###mh-autoload