diff options
| author | Bill Wohler | 2006-01-03 06:13:43 +0000 |
|---|---|---|
| committer | Bill Wohler | 2006-01-03 06:13:43 +0000 |
| commit | af43518401786b4745d27811df65d9d615780f31 (patch) | |
| tree | 90b6c3888c4d8edb4644d71cd8cd56d01f6c9f1f | |
| parent | 31869a0f005faf6b1e4ef65c97858a95547296ab (diff) | |
| download | emacs-af43518401786b4745d27811df65d9d615780f31.tar.gz emacs-af43518401786b4745d27811df65d9d615780f31.zip | |
* mh-alias.el (mh-alias-grab-from-field): Remove leading * from
docstring. Does this mean something in a defun?
* mh-customize.el (bw-new-face-to-old, bw-old-face-to-new): Checkdoc
fix.
* mh-e.el (mh-inc-folder): Rename maildrop-name argument to file so it
reads better in docstring and manual. Sync docstring with manual.
* mh-init.el (mh-defface-compat): Remove trailing space (checkdoc).
* mh-alias.el (mh-alias-apropos): Sync docstring with manual.
* mh-comp.el (mh-redistribute, mh-to-field, mh-to-fcc)
(mh-insert-auto-fields, mh-send-letter, mh-yank-cur-msg)
(mh-fully-kill-draft, mh-open-line, mh-letter-complete)
(mh-letter-complete-or-space, mh-letter-confirm-address)
(mh-letter-next-header-field-or-indent)
(mh-letter-previous-header-field): Ditto.
* mh-customize.el (mh-alias-completion-ignore-case-flag)
(mh-default-folder-for-message-function, mh-mml-method-default)
(mh-signature-file-name, mh-yank-behavior, mh-show-hook)
(mh-show-mode-hook) Ditto.
* mh-e.el (mh-refile-or-write-again, mh-toggle-showing): Ditto.
* mh-funcs.el (mh-pipe-msg, mh-sort-folder, mh-undo-folder)
(mh-store-msg, mh-store-buffer): Ditto
* mh-index.el (mh-index-search, mh-index-do-search)
(mh-index-next-folder, mh-index-sequenced-messages): Ditto.
* mh-junk.el (mh-spamassassin-blacklist): Ditto.
* mh-mime.el (mh-mh-compose-external-compressed-tar)
(mh-mh-compose-external-type, mh-mh-to-mime, mh-mh-to-mime-undo)
(mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
(mh-mml-secure-message-signencrypt): Ditto
* mh-pick.el (mh-search-folder): Ditto.
* mh-seq.el (mh-widen): Ditto.
* mh-utils.el (mh-show, mh-modify): Ditto.
| -rw-r--r-- | lisp/mh-e/ChangeLog | 49 | ||||
| -rw-r--r-- | lisp/mh-e/mh-alias.el | 6 | ||||
| -rw-r--r-- | lisp/mh-e/mh-comp.el | 91 | ||||
| -rw-r--r-- | lisp/mh-e/mh-customize.el | 73 | ||||
| -rw-r--r-- | lisp/mh-e/mh-e.el | 32 | ||||
| -rw-r--r-- | lisp/mh-e/mh-funcs.el | 30 | ||||
| -rw-r--r-- | lisp/mh-e/mh-index.el | 96 | ||||
| -rw-r--r-- | lisp/mh-e/mh-init.el | 2 | ||||
| -rw-r--r-- | lisp/mh-e/mh-junk.el | 83 | ||||
| -rw-r--r-- | lisp/mh-e/mh-mime.el | 41 | ||||
| -rw-r--r-- | lisp/mh-e/mh-pick.el | 101 | ||||
| -rw-r--r-- | lisp/mh-e/mh-seq.el | 10 | ||||
| -rw-r--r-- | lisp/mh-e/mh-utils.el | 12 |
13 files changed, 360 insertions, 266 deletions
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index a8e130bcc1b..9e68139065a 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,52 @@ | |||
| 1 | 2006-01-02 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | * mh-alias.el (mh-alias-grab-from-field): Remove leading * from | ||
| 4 | docstring. Does this mean something in a defun? | ||
| 5 | |||
| 6 | * mh-customize.el (bw-new-face-to-old, bw-old-face-to-new): | ||
| 7 | Checkdoc fix. | ||
| 8 | |||
| 9 | * mh-e.el (mh-inc-folder): Rename maildrop-name argument to file | ||
| 10 | so it reads better in docstring and manual. Sync docstring with | ||
| 11 | manual. | ||
| 12 | |||
| 13 | * mh-init.el (mh-defface-compat): Remove trailing space (checkdoc). | ||
| 14 | |||
| 15 | * mh-alias.el (mh-alias-apropos): Sync docstring with manual. | ||
| 16 | |||
| 17 | * mh-comp.el (mh-redistribute, mh-to-field, mh-to-fcc) | ||
| 18 | (mh-insert-auto-fields, mh-send-letter, mh-yank-cur-msg) | ||
| 19 | (mh-fully-kill-draft, mh-open-line, mh-letter-complete) | ||
| 20 | (mh-letter-complete-or-space, mh-letter-confirm-address) | ||
| 21 | (mh-letter-next-header-field-or-indent) | ||
| 22 | (mh-letter-previous-header-field): Ditto. | ||
| 23 | |||
| 24 | * mh-customize.el (mh-alias-completion-ignore-case-flag) | ||
| 25 | (mh-default-folder-for-message-function, mh-mml-method-default) | ||
| 26 | (mh-signature-file-name, mh-yank-behavior, mh-show-hook) | ||
| 27 | (mh-show-mode-hook) Ditto. | ||
| 28 | |||
| 29 | * mh-e.el (mh-refile-or-write-again, mh-toggle-showing): Ditto. | ||
| 30 | |||
| 31 | * mh-funcs.el (mh-pipe-msg, mh-sort-folder, mh-undo-folder) | ||
| 32 | (mh-store-msg, mh-store-buffer): Ditto | ||
| 33 | |||
| 34 | * mh-index.el (mh-index-search, mh-index-do-search) | ||
| 35 | (mh-index-next-folder, mh-index-sequenced-messages): Ditto. | ||
| 36 | |||
| 37 | * mh-junk.el (mh-spamassassin-blacklist): Ditto. | ||
| 38 | |||
| 39 | * mh-mime.el (mh-mh-compose-external-compressed-tar) | ||
| 40 | (mh-mh-compose-external-type, mh-mh-to-mime, mh-mh-to-mime-undo) | ||
| 41 | (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt) | ||
| 42 | (mh-mml-secure-message-signencrypt): Ditto | ||
| 43 | |||
| 44 | * mh-pick.el (mh-search-folder): Ditto. | ||
| 45 | |||
| 46 | * mh-seq.el (mh-widen): Ditto. | ||
| 47 | |||
| 48 | * mh-utils.el (mh-show, mh-modify): Ditto. | ||
| 49 | |||
| 1 | 2006-01-02 Mark D. Baushke <mdb@gnu.org> | 50 | 2006-01-02 Mark D. Baushke <mdb@gnu.org> |
| 2 | 51 | ||
| 3 | * mh-mime.el (mh-mml-unsecure-message): Remove unused argument. | 52 | * mh-mime.el (mh-mml-unsecure-message): Remove unused argument. |
diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el index 397cd9ea782..d9d77b6430d 100644 --- a/lisp/mh-e/mh-alias.el +++ b/lisp/mh-e/mh-alias.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-alias.el --- MH-E mail alias completion and expansion | 1 | ;;; mh-alias.el --- MH-E mail alias completion and expansion |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 1994, 1995, 1996, 1997, | 3 | ;; Copyright (C) 1994, 1995, 1996, 1997, |
| 4 | ;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Peter S. Galbraith <psg@debian.org> | 6 | ;; Author: Peter S. Galbraith <psg@debian.org> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -580,7 +580,7 @@ filing messages." | |||
| 580 | 580 | ||
| 581 | ;;;###mh-autoload | 581 | ;;;###mh-autoload |
| 582 | (defun mh-alias-grab-from-field () | 582 | (defun mh-alias-grab-from-field () |
| 583 | "*Add alias for the sender of the current message." | 583 | "Add alias for the sender of the current message." |
| 584 | (interactive) | 584 | (interactive) |
| 585 | (mh-alias-reload-maybe) | 585 | (mh-alias-reload-maybe) |
| 586 | (save-excursion | 586 | (save-excursion |
| @@ -609,7 +609,7 @@ filing messages." | |||
| 609 | 609 | ||
| 610 | ;;;###mh-autoload | 610 | ;;;###mh-autoload |
| 611 | (defun mh-alias-apropos (regexp) | 611 | (defun mh-alias-apropos (regexp) |
| 612 | "Show all aliases or addresses that match REGEXP." | 612 | "Show all aliases or addresses that match a regular expression REGEXP." |
| 613 | (interactive "sAlias regexp: ") | 613 | (interactive "sAlias regexp: ") |
| 614 | (if mh-alias-local-users | 614 | (if mh-alias-local-users |
| 615 | (mh-alias-reload-maybe)) | 615 | (mh-alias-reload-maybe)) |
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index 113572153af..63c35fd221f 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-comp.el --- MH-E functions for composing messages | 1 | ;;; mh-comp.el --- MH-E functions for composing messages |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 1997, | 3 | ;; Copyright (C) 1993, 1995, 1997, |
| 4 | ;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -462,7 +462,7 @@ the message had come from the original sender. When you run this | |||
| 462 | command, you are prompted for the TO and CC recipients. The | 462 | command, you are prompted for the TO and CC recipients. The |
| 463 | default MESSAGE is the current message. | 463 | default MESSAGE is the current message. |
| 464 | 464 | ||
| 465 | Also investigate the \\[mh-edit-again] command for another way to | 465 | Also investigate the command \\[mh-edit-again] for another way to |
| 466 | redistribute messages. | 466 | redistribute messages. |
| 467 | 467 | ||
| 468 | See also `mh-redist-full-contents-flag'." | 468 | See also `mh-redist-full-contents-flag'." |
| @@ -1114,10 +1114,12 @@ lines." | |||
| 1114 | ;;;###mh-autoload | 1114 | ;;;###mh-autoload |
| 1115 | (defun mh-to-field () | 1115 | (defun mh-to-field () |
| 1116 | "Move to specified header field. | 1116 | "Move to specified header field. |
| 1117 | The field is indicated by the previous keystroke (the last keystroke | 1117 | |
| 1118 | of the command) according to the list in the variable | 1118 | The field is indicated by the previous keystroke (the last |
| 1119 | `mh-to-field-choices'. Create the field if it does not exist. Set the | 1119 | keystroke of the command) according to the list in the variable |
| 1120 | mark to point before moving." | 1120 | `mh-to-field-choices'. |
| 1121 | Create the field if it does not exist. | ||
| 1122 | Set the mark to point before moving." | ||
| 1121 | (interactive) | 1123 | (interactive) |
| 1122 | (expand-abbrev) | 1124 | (expand-abbrev) |
| 1123 | (let ((target (cdr (or (assoc (char-to-string (logior last-input-char ?`)) | 1125 | (let ((target (cdr (or (assoc (char-to-string (logior last-input-char ?`)) |
| @@ -1146,8 +1148,9 @@ mark to point before moving." | |||
| 1146 | ;;;###mh-autoload | 1148 | ;;;###mh-autoload |
| 1147 | (defun mh-to-fcc (&optional folder) | 1149 | (defun mh-to-fcc (&optional folder) |
| 1148 | "Move to \"Fcc:\" header field. | 1150 | "Move to \"Fcc:\" header field. |
| 1149 | This command will prompt you for the FOLDER name in which to file a | 1151 | |
| 1150 | copy of the draft." | 1152 | This command will prompt you for the FOLDER name in which to file |
| 1153 | a copy of the draft." | ||
| 1151 | (interactive) | 1154 | (interactive) |
| 1152 | (or folder | 1155 | (or folder |
| 1153 | (setq folder (mh-prompt-for-folder | 1156 | (setq folder (mh-prompt-for-folder |
| @@ -1333,10 +1336,9 @@ The versions of MH-E, Emacs, and MH are shown." | |||
| 1333 | (defun mh-insert-auto-fields (&optional non-interactive) | 1336 | (defun mh-insert-auto-fields (&optional non-interactive) |
| 1334 | "Insert custom fields if recipient is found in `mh-auto-fields-list'. | 1337 | "Insert custom fields if recipient is found in `mh-auto-fields-list'. |
| 1335 | 1338 | ||
| 1336 | Sets buffer-local `mh-insert-auto-fields-done-local' when done | 1339 | Sets buffer-local `mh-insert-auto-fields-done-local' if header |
| 1337 | and inserted something. If NON-INTERACTIVE is non-nil, do not be | 1340 | fields were added. If NON-INTERACTIVE is non-nil, perform actions |
| 1338 | verbose and only attempt matches if | 1341 | quietly and only if `mh-insert-auto-fields-done-local' is nil. |
| 1339 | `mh-insert-auto-fields-done-local' is nil. | ||
| 1340 | 1342 | ||
| 1341 | An `identity' entry is skipped if one was already entered | 1343 | An `identity' entry is skipped if one was already entered |
| 1342 | manually. | 1344 | manually. |
| @@ -1476,9 +1478,9 @@ command. You can give a prefix argument ARG to monitor the first stage | |||
| 1476 | of the delivery\; this output can be found in a buffer called \"*MH-E | 1478 | of the delivery\; this output can be found in a buffer called \"*MH-E |
| 1477 | Mail Delivery*\". | 1479 | Mail Delivery*\". |
| 1478 | 1480 | ||
| 1479 | The hook `mh-before-send-letter-hook' is run at the beginning of the | 1481 | The hook `mh-before-send-letter-hook' is run at the beginning of |
| 1480 | this command. For example, if you want to check your spelling in your | 1482 | this command. For example, if you want to check your spelling in |
| 1481 | message before sending, add the `ispell-message' function. | 1483 | your message before sending, add the function `ispell-message'. |
| 1482 | 1484 | ||
| 1483 | In case the MH \"send\" program is installed under a different name, | 1485 | In case the MH \"send\" program is installed under a different name, |
| 1484 | use `mh-send-prog' to tell MH-E the name." | 1486 | use `mh-send-prog' to tell MH-E the name." |
| @@ -1607,12 +1609,13 @@ text from the message to which you're replying, and inserting | |||
| 1607 | `mh-ins-buf-prefix' (`> ') before each line. | 1609 | `mh-ins-buf-prefix' (`> ') before each line. |
| 1608 | 1610 | ||
| 1609 | The attribution consists of the sender's name and email address | 1611 | The attribution consists of the sender's name and email address |
| 1610 | followed by the content of the `mh-extract-from-attribution-verb' | 1612 | followed by the content of the option |
| 1611 | option. | 1613 | `mh-extract-from-attribution-verb'. |
| 1612 | 1614 | ||
| 1613 | You can also turn on the `mh-delete-yanked-msg-window-flag' | 1615 | You can also turn on the option |
| 1614 | option to delete the window containing the original message after | 1616 | `mh-delete-yanked-msg-window-flag' to delete the window |
| 1615 | yanking it to make more room on your screen for your reply. | 1617 | containing the original message after yanking it to make more |
| 1618 | room on your screen for your reply. | ||
| 1616 | 1619 | ||
| 1617 | You can control how the message to which you are replying is | 1620 | You can control how the message to which you are replying is |
| 1618 | yanked into your reply using `mh-yank-behavior'. | 1621 | yanked into your reply using `mh-yank-behavior'. |
| @@ -1741,9 +1744,10 @@ Otherwise, simply insert MH-INS-STRING before each line." | |||
| 1741 | ;;;###mh-autoload | 1744 | ;;;###mh-autoload |
| 1742 | (defun mh-fully-kill-draft () | 1745 | (defun mh-fully-kill-draft () |
| 1743 | "Quit editing and delete draft message. | 1746 | "Quit editing and delete draft message. |
| 1747 | |||
| 1744 | If for some reason you are not happy with the draft, you can use | 1748 | If for some reason you are not happy with the draft, you can use |
| 1745 | the this command to kill the draft buffer and delete the draft | 1749 | this command to kill the draft buffer and delete the draft |
| 1746 | message. Use the \\[kill-buffer] command if you don't want to | 1750 | message. Use the command \\[kill-buffer] if you don't want to |
| 1747 | delete the draft message." | 1751 | delete the draft message." |
| 1748 | (interactive) | 1752 | (interactive) |
| 1749 | (if (y-or-n-p "Kill draft message? ") | 1753 | (if (y-or-n-p "Kill draft message? ") |
| @@ -1771,9 +1775,9 @@ delete the draft message." | |||
| 1771 | 1775 | ||
| 1772 | ;;;###mh-autoload | 1776 | ;;;###mh-autoload |
| 1773 | (defun mh-open-line () | 1777 | (defun mh-open-line () |
| 1774 | "Insert a newline and leave point after it. | 1778 | "Insert a newline and leave point before it. |
| 1775 | 1779 | ||
| 1776 | This command is similar to the \\[open-line] command in that it | 1780 | This command is similar to the command \\[open-line] in that it |
| 1777 | inserts a newline after point. It differs in that it also inserts | 1781 | inserts a newline after point. It differs in that it also inserts |
| 1778 | the right number of quoting characters and spaces so that the | 1782 | the right number of quoting characters and spaces so that the |
| 1779 | next line begins in the same column as it was. This is useful | 1783 | next line begins in the same column as it was. This is useful |
| @@ -1865,12 +1869,13 @@ Any match found replaces the text from BEGIN to END." | |||
| 1865 | 1869 | ||
| 1866 | (defun mh-letter-complete (arg) | 1870 | (defun mh-letter-complete (arg) |
| 1867 | "Perform completion on header field or word preceding point. | 1871 | "Perform completion on header field or word preceding point. |
| 1872 | |||
| 1868 | If the field contains addresses (for example, \"To:\" or \"Cc:\") | 1873 | If the field contains addresses (for example, \"To:\" or \"Cc:\") |
| 1869 | or folders (for example, \"Fcc:\") then this command will | 1874 | or folders (for example, \"Fcc:\") then this command will provide |
| 1870 | provide alias completion. In the body of the message, this | 1875 | alias completion. In the body of the message, this command runs |
| 1871 | command runs `mh-letter-complete-function' instead, which is set | 1876 | `mh-letter-complete-function' instead, which is set to |
| 1872 | to \"'ispell-complete-word\" by default. This command takes a | 1877 | `ispell-complete-word' by default. This command takes a prefix |
| 1873 | prefix argument ARG that is passed to the | 1878 | argument ARG that is passed to the |
| 1874 | `mh-letter-complete-function'." | 1879 | `mh-letter-complete-function'." |
| 1875 | (interactive "P") | 1880 | (interactive "P") |
| 1876 | (let ((func nil)) | 1881 | (let ((func nil)) |
| @@ -1883,11 +1888,11 @@ prefix argument ARG that is passed to the | |||
| 1883 | 1888 | ||
| 1884 | (defun mh-letter-complete-or-space (arg) | 1889 | (defun mh-letter-complete-or-space (arg) |
| 1885 | "Perform completion or insert space. | 1890 | "Perform completion or insert space. |
| 1886 | Turn on the `mh-compose-space-does-completion-flag' option to use | ||
| 1887 | this command to perform completion in the header. Otherwise, a | ||
| 1888 | space is inserted. | ||
| 1889 | 1891 | ||
| 1890 | ARG is the number of spaces inserted." | 1892 | Turn on the option `mh-compose-space-does-completion-flag' to use |
| 1893 | this command to perform completion in the header. Otherwise, a | ||
| 1894 | space is inserted; use a prefix argument ARG to specify more than | ||
| 1895 | one space." | ||
| 1891 | (interactive "p") | 1896 | (interactive "p") |
| 1892 | (let ((func nil) | 1897 | (let ((func nil) |
| 1893 | (end-of-prev (save-excursion | 1898 | (end-of-prev (save-excursion |
| @@ -1904,9 +1909,10 @@ ARG is the number of spaces inserted." | |||
| 1904 | 1909 | ||
| 1905 | (defun mh-letter-confirm-address () | 1910 | (defun mh-letter-confirm-address () |
| 1906 | "Flash alias expansion. | 1911 | "Flash alias expansion. |
| 1907 | Addresses are separated by a comma\; and when you press the | 1912 | |
| 1908 | comma, this command flashes the alias expansion in the minibuffer | 1913 | Addresses are separated by a comma\; when you press the comma, |
| 1909 | if `mh-alias-flash-on-comma' is turned on." | 1914 | this command flashes the alias expansion in the minibuffer if |
| 1915 | `mh-alias-flash-on-comma' is turned on." | ||
| 1910 | (interactive) | 1916 | (interactive) |
| 1911 | (cond ((not (mh-in-header-p)) (self-insert-command 1)) | 1917 | (cond ((not (mh-in-header-p)) (self-insert-command 1)) |
| 1912 | ((eq (cdr (assoc (mh-letter-header-field-at-point) | 1918 | ((eq (cdr (assoc (mh-letter-header-field-at-point) |
| @@ -1929,9 +1935,11 @@ downcasing the field name." | |||
| 1929 | 1935 | ||
| 1930 | ;;;###mh-autoload | 1936 | ;;;###mh-autoload |
| 1931 | (defun mh-letter-next-header-field-or-indent (arg) | 1937 | (defun mh-letter-next-header-field-or-indent (arg) |
| 1932 | "Move to next field or indent depending on point. | 1938 | "Cycle to next field. |
| 1939 | |||
| 1933 | Within the header of the message, this command moves between | 1940 | Within the header of the message, this command moves between |
| 1934 | fields, but skips those fields listed in | 1941 | fields that are highlighted with the face |
| 1942 | `mh-letter-header-field', skipping those fields listed in | ||
| 1935 | `mh-compose-skipped-header-fields'. After the last field, this | 1943 | `mh-compose-skipped-header-fields'. After the last field, this |
| 1936 | command then moves point to the message body before cycling back | 1944 | command then moves point to the message body before cycling back |
| 1937 | to the first field. If point is already past the first line of | 1945 | to the first field. If point is already past the first line of |
| @@ -1969,10 +1977,11 @@ body." | |||
| 1969 | ;;;###mh-autoload | 1977 | ;;;###mh-autoload |
| 1970 | (defun mh-letter-previous-header-field () | 1978 | (defun mh-letter-previous-header-field () |
| 1971 | "Cycle to the previous header field. | 1979 | "Cycle to the previous header field. |
| 1980 | |||
| 1972 | This command moves backwards between the fields and cycles to the | 1981 | This command moves backwards between the fields and cycles to the |
| 1973 | body of the message after the first field. Unlike the | 1982 | body of the message after the first field. Unlike the command |
| 1974 | \\[mh-letter-next-header-field-or-indent] command, it will always | 1983 | \\[mh-letter-next-header-field-or-indent], it will always take |
| 1975 | take point to the last field from anywhere in the body." | 1984 | point to the last field from anywhere in the body." |
| 1976 | (interactive) | 1985 | (interactive) |
| 1977 | (let ((header-end (mh-mail-header-end))) | 1986 | (let ((header-end (mh-mail-header-end))) |
| 1978 | (if (>= (point) header-end) | 1987 | (if (>= (point) header-end) |
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el index edd6ee41b01..a2b667769bf 100644 --- a/lisp/mh-e/mh-customize.el +++ b/lisp/mh-e/mh-customize.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-customize.el --- MH-E customization | 1 | ;;; mh-customize.el --- MH-E customization |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Bill Wohler <wohler@newt.com> | 5 | ;; Author: Bill Wohler <wohler@newt.com> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -260,7 +260,7 @@ accordingly." | |||
| 260 | "*Non-nil means don't consider case significant in MH alias completion. | 260 | "*Non-nil means don't consider case significant in MH alias completion. |
| 261 | 261 | ||
| 262 | As MH ignores case in the aliases, so too does MH-E. However, you | 262 | As MH ignores case in the aliases, so too does MH-E. However, you |
| 263 | may turn this option off to make case significant which can be | 263 | may turn off this option to make case significant which can be |
| 264 | used to segregate completion of your aliases. You might use | 264 | used to segregate completion of your aliases. You might use |
| 265 | lowercase for mailing lists and uppercase for people." | 265 | lowercase for mailing lists and uppercase for people." |
| 266 | :type 'boolean | 266 | :type 'boolean |
| @@ -435,7 +435,7 @@ an alternate view. For example, \"'(\"-nolimit\" \"-textfield\" | |||
| 435 | ;;; Folder Selection (:group 'mh-folder-selection) | 435 | ;;; Folder Selection (:group 'mh-folder-selection) |
| 436 | 436 | ||
| 437 | (defcustom mh-default-folder-for-message-function nil | 437 | (defcustom mh-default-folder-for-message-function nil |
| 438 | "Function to select a default folder for refiling or \"Fcc\". | 438 | "Function to select a default folder for refiling or \"Fcc:\". |
| 439 | 439 | ||
| 440 | The current buffer is set to the message being refiled with point | 440 | The current buffer is set to the message being refiled with point |
| 441 | at the start of the message. This function should return the | 441 | at the start of the message. This function should return the |
| @@ -898,10 +898,11 @@ vanilla \"PGP\" and \"S/MIME\". | |||
| 898 | The `pgg' customization group may have some settings which may | 898 | The `pgg' customization group may have some settings which may |
| 899 | interest you (see Info node `(pgg)'). | 899 | interest you (see Info node `(pgg)'). |
| 900 | 900 | ||
| 901 | In particular, I set the option `pgg-encrypt-for-me' to t so that all | 901 | In particular, I turn on the option `pgg-encrypt-for-me' so that |
| 902 | messages I encrypt are encrypted with my public key as well. If you | 902 | all messages I encrypt are encrypted with my public key as well. |
| 903 | keep a copy of all of your outgoing mail with a \"Fcc:\" header field, | 903 | If you keep a copy of all of your outgoing mail with a \"Fcc:\" |
| 904 | this setting is vital so that you can read the mail you write!" | 904 | header field, this setting is vital so that you can read the mail |
| 905 | you write!" | ||
| 905 | :type '(choice (const :tag "PGP (MIME)" "pgpmime") | 906 | :type '(choice (const :tag "PGP (MIME)" "pgpmime") |
| 906 | (const :tag "PGP" "pgp") | 907 | (const :tag "PGP" "pgp") |
| 907 | (const :tag "S/MIME" "smime") | 908 | (const :tag "S/MIME" "smime") |
| @@ -925,8 +926,8 @@ said separator). The function `mh-signature-separator-p', which | |||
| 925 | reports t if the buffer contains a separator, may be useful as well. | 926 | reports t if the buffer contains a separator, may be useful as well. |
| 926 | 927 | ||
| 927 | The signature is inserted into your message with the command | 928 | The signature is inserted into your message with the command |
| 928 | \\<mh-letter-mode-map>\\[mh-insert-signature] or with the | 929 | \\<mh-letter-mode-map>\\[mh-insert-signature] or with the option |
| 929 | `mh-identity-list' option." | 930 | `mh-identity-list'." |
| 930 | :type 'file | 931 | :type 'file |
| 931 | :group 'mh-letter) | 932 | :group 'mh-letter) |
| 932 | 933 | ||
| @@ -971,33 +972,33 @@ this option doesn't exist." | |||
| 971 | (defcustom mh-yank-behavior 'attribution | 972 | (defcustom mh-yank-behavior 'attribution |
| 972 | "*Controls which part of a message is yanked by \\<mh-letter-mode-map>\\[mh-yank-cur-msg]. | 973 | "*Controls which part of a message is yanked by \\<mh-letter-mode-map>\\[mh-yank-cur-msg]. |
| 973 | 974 | ||
| 974 | To include the entire message, including the entire header, use \"Body | 975 | To include the entire message, including the entire header, use |
| 975 | and Header\". Use \"Body\" to yank just the body without the header. | 976 | \"Body and Header\". Use \"Body\" to yank just the body without |
| 976 | To yank only the portion of the message following the point, set this | 977 | the header. To yank only the portion of the message following the |
| 977 | option to \"Below Point\". | 978 | point, set this option to \"Below Point\". |
| 978 | 979 | ||
| 979 | Choose \"Invoke supercite\" to pass the entire message and header | 980 | Choose \"Invoke supercite\" to pass the entire message and header |
| 980 | through supercite. | 981 | through supercite. |
| 981 | 982 | ||
| 982 | If the \"Body With Attribution\" setting is used, then the message | 983 | If the \"Body With Attribution\" setting is used, then the |
| 983 | minus the header is yanked and a simple attribution line is added at | 984 | message minus the header is yanked and a simple attribution line |
| 984 | the top using the value of the `mh-extract-from-attribution-verb' | 985 | is added at the top using the value of the option |
| 985 | option. This is the default. | 986 | `mh-extract-from-attribution-verb'. This is the default. |
| 986 | 987 | ||
| 987 | If the \"Invoke supercite\" or \"Body With Attribution\" settings are | 988 | If the \"Invoke supercite\" or \"Body With Attribution\" settings |
| 988 | used, the \"-noformat\" argument is passed to the \"repl\" program to | 989 | are used, the \"-noformat\" argument is passed to the \"repl\" |
| 989 | override a \"-filter\" or \"-format\" argument. These settings also | 990 | program to override a \"-filter\" or \"-format\" argument. These |
| 990 | have \"Automatically\" variants that perform the action automatically | 991 | settings also have \"Automatically\" variants that perform the |
| 991 | when you reply so that you don't need to use \\[mh-yank-cur-msg] at | 992 | action automatically when you reply so that you don't need to use |
| 992 | all. Note that this automatic action is only performed if the show | 993 | \\[mh-yank-cur-msg] at all. Note that this automatic action is |
| 993 | buffer matches the message being replied to. People who use the | 994 | only performed if the show buffer matches the message being |
| 994 | automatic variants tend to turn on the | 995 | replied to. People who use the automatic variants tend to turn on |
| 995 | `mh-delete-yanked-msg-window-flag' option as well so that the show | 996 | the option `mh-delete-yanked-msg-window-flag' as well so that the |
| 996 | window is never displayed. | 997 | show window is never displayed. |
| 997 | 998 | ||
| 998 | If the show buffer has a region, the `mh-yank-behavior' option is | 999 | If the show buffer has a region, the option `mh-yank-behavior' is |
| 999 | ignored unless its value is one of Attribution variants in which case | 1000 | ignored unless its value is one of Attribution variants in which |
| 1000 | the attribution is added to the yanked region. | 1001 | case the attribution is added to the yanked region. |
| 1001 | 1002 | ||
| 1002 | If this option is set to one of the supercite flavors, the hook | 1003 | If this option is set to one of the supercite flavors, the hook |
| 1003 | `mail-citation-hook' is ignored and `mh-ins-buf-prefix' is not | 1004 | `mail-citation-hook' is ignored and `mh-ins-buf-prefix' is not |
| @@ -2460,7 +2461,7 @@ See also `mh-before-quit-hook'." | |||
| 2460 | 2461 | ||
| 2461 | It is the last thing called after messages are displayed. It's | 2462 | It is the last thing called after messages are displayed. It's |
| 2462 | used to affect the behavior of MH-E in general or when | 2463 | used to affect the behavior of MH-E in general or when |
| 2463 | `mh-show-mode-hook' is too early." | 2464 | `mh-show-mode-hook' is too early. See `mh-show-mode-hook'." |
| 2464 | :type 'hook | 2465 | :type 'hook |
| 2465 | :group 'mh-hooks | 2466 | :group 'mh-hooks |
| 2466 | :group 'mh-show) | 2467 | :group 'mh-show) |
| @@ -2470,7 +2471,7 @@ used to affect the behavior of MH-E in general or when | |||
| 2470 | 2471 | ||
| 2471 | This hook is called early on in the process of the message | 2472 | This hook is called early on in the process of the message |
| 2472 | display. It is usually used to perform some action on the | 2473 | display. It is usually used to perform some action on the |
| 2473 | message's content." | 2474 | message's content. See `mh-show-hook'." |
| 2474 | :type 'hook | 2475 | :type 'hook |
| 2475 | :group 'mh-hooks | 2476 | :group 'mh-hooks |
| 2476 | :group 'mh-show) | 2477 | :group 'mh-show) |
| @@ -2802,7 +2803,7 @@ The background and foreground are used in the image." | |||
| 2802 | (setq bw-face-generation 'new)))) | 2803 | (setq bw-face-generation 'new)))) |
| 2803 | 2804 | ||
| 2804 | (defun bw-new-face-to-old () | 2805 | (defun bw-new-face-to-old () |
| 2805 | "Sets old faces." | 2806 | "Set old faces." |
| 2806 | (face-spec-set 'mh-folder-body | 2807 | (face-spec-set 'mh-folder-body |
| 2807 | (mh-defface-compat | 2808 | (mh-defface-compat |
| 2808 | '((((class color) (min-colors 88) (background light)) | 2809 | '((((class color) (min-colors 88) (background light)) |
| @@ -2858,7 +2859,7 @@ The background and foreground are used in the image." | |||
| 2858 | (:bold t))))) | 2859 | (:bold t))))) |
| 2859 | 2860 | ||
| 2860 | (defun bw-old-face-to-new () | 2861 | (defun bw-old-face-to-new () |
| 2861 | "Sets new faces." | 2862 | "Set new faces." |
| 2862 | (face-spec-set 'mh-folder-body | 2863 | (face-spec-set 'mh-folder-body |
| 2863 | '((((class color)) | 2864 | '((((class color)) |
| 2864 | (:inherit mh-folder-msg-number)) | 2865 | (:inherit mh-folder-msg-number)) |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index 1deb465c1fe..19024ffc6f6 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 1986, 1987, 1988, | 3 | ;; Copyright (C) 1985, 1986, 1987, 1988, |
| 4 | ;; 1990, 1992, 1993, 1994, 1995, 1997, 1999, | 4 | ;; 1990, 1992, 1993, 1994, 1995, 1997, 1999, |
| 5 | ;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 5 | ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 6 | 6 | ||
| 7 | ;; Author: Bill Wohler <wohler@newt.com> | 7 | ;; Author: Bill Wohler <wohler@newt.com> |
| 8 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 8 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -711,21 +711,18 @@ Use the command \\[mh-show] to show the message normally again." | |||
| 711 | (mh-recenter 0)) | 711 | (mh-recenter 0)) |
| 712 | (setq mh-showing-with-headers t))) | 712 | (setq mh-showing-with-headers t))) |
| 713 | 713 | ||
| 714 | (defun mh-inc-folder (&optional maildrop-name folder) | 714 | (defun mh-inc-folder (&optional file folder) |
| 715 | "Incorporate new mail into a folder. | 715 | "Incorporate new mail into a folder. |
| 716 | 716 | ||
| 717 | You can incorporate mail from any file into the current folder by | 717 | You can incorporate mail from any file into the current folder by |
| 718 | specifying a prefix argument; you'll be prompted for the name of | 718 | specifying a prefix argument; you'll be prompted for the name of |
| 719 | the file to use as well as the destination folder | 719 | the FILE to use as well as the destination FOLDER |
| 720 | 720 | ||
| 721 | The hook `mh-inc-folder-hook' is run after incorporating new | 721 | The hook `mh-inc-folder-hook' is run after incorporating new |
| 722 | mail. Do not call this function from outside MH-E; use | 722 | mail. |
| 723 | \\[mh-rmail] instead. | ||
| 724 | 723 | ||
| 725 | In a program optional argument MAILDROP-NAME specifies an | 724 | Do not call this function from outside MH-E; use \\[mh-rmail] |
| 726 | alternate maildrop from the default. The optional argument FOLDER | 725 | instead." |
| 727 | specifies where to incorporate mail instead of the default named | ||
| 728 | by `mh-inbox'." | ||
| 729 | (interactive (list (if current-prefix-arg | 726 | (interactive (list (if current-prefix-arg |
| 730 | (expand-file-name | 727 | (expand-file-name |
| 731 | (read-file-name "inc mail from file: " | 728 | (read-file-name "inc mail from file: " |
| @@ -745,7 +742,7 @@ by `mh-inbox'." | |||
| 745 | ((not (eq (current-buffer) (get-buffer folder))) | 742 | ((not (eq (current-buffer) (get-buffer folder))) |
| 746 | (switch-to-buffer folder) | 743 | (switch-to-buffer folder) |
| 747 | (setq mh-previous-window-config config)))) | 744 | (setq mh-previous-window-config config)))) |
| 748 | (mh-get-new-mail maildrop-name) | 745 | (mh-get-new-mail file) |
| 749 | (when (and threading-needed-flag | 746 | (when (and threading-needed-flag |
| 750 | (save-excursion | 747 | (save-excursion |
| 751 | (goto-char (point-min)) | 748 | (goto-char (point-min)) |
| @@ -892,8 +889,10 @@ DONT-UPDATE-LAST-DESTINATION-FLAG is non-nil." | |||
| 892 | (defun mh-refile-or-write-again (range &optional interactive-flag) | 889 | (defun mh-refile-or-write-again (range &optional interactive-flag) |
| 893 | "Repeat last output command. | 890 | "Repeat last output command. |
| 894 | 891 | ||
| 895 | If you are refiling several messages into the same folder, you can use | 892 | If you are refiling several messages into the same folder, you |
| 896 | this command to repeat the last refile or write. You can use a range. | 893 | can use this command to repeat the last |
| 894 | refile (\\[mh-refile-msg]) or write (\\[mh-write-msg-to-file]). | ||
| 895 | You can use a range. | ||
| 897 | 896 | ||
| 898 | Check the documentation of `mh-interactive-range' to see how RANGE is | 897 | Check the documentation of `mh-interactive-range' to see how RANGE is |
| 899 | read in interactive use. | 898 | read in interactive use. |
| @@ -1255,7 +1254,14 @@ the command \\[mh-refile-or-write-again]." | |||
| 1255 | (append-to-file (point) (point-max) output-file)))) | 1254 | (append-to-file (point) (point-max) output-file)))) |
| 1256 | 1255 | ||
| 1257 | (defun mh-toggle-showing () | 1256 | (defun mh-toggle-showing () |
| 1258 | "Toggle the scanning mode/showing mode of displaying messages." | 1257 | "Toggle between MH-Folder and MH-Folder Show modes. |
| 1258 | |||
| 1259 | This command switches between MH-Folder mode and MH-Folder Show | ||
| 1260 | mode. MH-Folder mode turns off the associated show buffer so that | ||
| 1261 | you can perform operations on the messages quickly without | ||
| 1262 | reading them. This is an excellent way to prune out your junk | ||
| 1263 | mail or to refile a group of messages to another folder for later | ||
| 1264 | examination." | ||
| 1259 | (interactive) | 1265 | (interactive) |
| 1260 | (if mh-showing-mode | 1266 | (if mh-showing-mode |
| 1261 | (mh-set-scan-mode) | 1267 | (mh-set-scan-mode) |
diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el index 800ff96b510..4fb64b4cd17 100644 --- a/lisp/mh-e/mh-funcs.el +++ b/lisp/mh-e/mh-funcs.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-funcs.el --- MH-E functions not everyone will use right away | 1 | ;;; mh-funcs.el --- MH-E functions not everyone will use right away |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, | 3 | ;; Copyright (C) 1993, 1995, |
| 4 | ;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -214,9 +214,9 @@ Display RANGE after packing, or the entire folder if RANGE is nil." | |||
| 214 | "Pipe message through shell command COMMAND. | 214 | "Pipe message through shell command COMMAND. |
| 215 | 215 | ||
| 216 | You are prompted for the Unix command through which you wish to | 216 | You are prompted for the Unix command through which you wish to |
| 217 | run your message. If you give an argument INCLUDE-HEADER to this | 217 | run your message. If you give a prefix argument INCLUDE-HEADER to |
| 218 | command, the message header is included in the text passed to the | 218 | this command, the message header is included in the text passed |
| 219 | command." | 219 | to the command." |
| 220 | (interactive | 220 | (interactive |
| 221 | (list (read-string "Shell command on message: ") current-prefix-arg)) | 221 | (list (read-string "Shell command on message: ") current-prefix-arg)) |
| 222 | (let ((msg-file-to-pipe (mh-msg-filename (mh-get-msg-num t))) | 222 | (let ((msg-file-to-pipe (mh-msg-filename (mh-get-msg-num t))) |
| @@ -266,12 +266,11 @@ command." | |||
| 266 | 266 | ||
| 267 | ;;;###mh-autoload | 267 | ;;;###mh-autoload |
| 268 | (defun mh-sort-folder (&optional extra-args) | 268 | (defun mh-sort-folder (&optional extra-args) |
| 269 | "Sort the messages in the current folder by date. | 269 | "Sort folder. |
| 270 | 270 | ||
| 271 | Calls the MH program sortm to do the work. | 271 | By default, messages are sorted by date. The option |
| 272 | 272 | `mh-sortm-args' holds extra arguments to pass on to the command | |
| 273 | The arguments in the list `mh-sortm-args' are passed to sortm if | 273 | \"sortm\" when a prefix argument EXTRA-ARGS is used." |
| 274 | the optional argument EXTRA-ARGS is given." | ||
| 275 | (interactive "P") | 274 | (interactive "P") |
| 276 | (mh-process-or-undo-commands mh-current-folder) | 275 | (mh-process-or-undo-commands mh-current-folder) |
| 277 | (setq mh-next-direction 'forward) | 276 | (setq mh-next-direction 'forward) |
| @@ -288,7 +287,7 @@ the optional argument EXTRA-ARGS is given." | |||
| 288 | 287 | ||
| 289 | ;;;###mh-autoload | 288 | ;;;###mh-autoload |
| 290 | (defun mh-undo-folder () | 289 | (defun mh-undo-folder () |
| 291 | "Undo all pending deletes and refiles in current folder." | 290 | "Undo all refiles and deletes in the current folder." |
| 292 | (interactive) | 291 | (interactive) |
| 293 | (cond ((or mh-do-not-confirm-flag | 292 | (cond ((or mh-do-not-confirm-flag |
| 294 | (yes-or-no-p "Undo all commands in folder? ")) | 293 | (yes-or-no-p "Undo all commands in folder? ")) |
| @@ -310,7 +309,9 @@ however, you have a chance to specify a different extraction | |||
| 310 | directory. The next time you use this command, the default | 309 | directory. The next time you use this command, the default |
| 311 | directory is the last directory you used. If you would like to | 310 | directory is the last directory you used. If you would like to |
| 312 | change the initial default directory, customize the option | 311 | change the initial default directory, customize the option |
| 313 | `mh-store-default-directory'." | 312 | `mh-store-default-directory', change the value from \"Current\" |
| 313 | to \"Directory\", and then enter the name of the directory for | ||
| 314 | storing the content of these messages." | ||
| 314 | (interactive (list (let ((udir (or mh-store-default-directory | 315 | (interactive (list (let ((udir (or mh-store-default-directory |
| 315 | default-directory))) | 316 | default-directory))) |
| 316 | (read-file-name "Store message in directory: " | 317 | (read-file-name "Store message in directory: " |
| @@ -324,12 +325,9 @@ change the initial default directory, customize the option | |||
| 324 | 325 | ||
| 325 | ;;;###mh-autoload | 326 | ;;;###mh-autoload |
| 326 | (defun mh-store-buffer (directory) | 327 | (defun mh-store-buffer (directory) |
| 327 | "Store the file(s) contained in the current buffer into DIRECTORY. | 328 | "Unpack buffer created with \"uudecode\" or \"shar\". |
| 328 | |||
| 329 | The buffer can contain a shar file or uuencoded file. | ||
| 330 | 329 | ||
| 331 | Default directory is the last directory used, or initially the | 330 | See `mh-store-msg' for a description of DIRECTORY." |
| 332 | value of `mh-store-default-directory' or the current directory." | ||
| 333 | (interactive (list (let ((udir (or mh-store-default-directory | 331 | (interactive (list (let ((udir (or mh-store-default-directory |
| 334 | default-directory))) | 332 | default-directory))) |
| 335 | (read-file-name "Store buffer in directory: " | 333 | (read-file-name "Store buffer in directory: " |
diff --git a/lisp/mh-e/mh-index.el b/lisp/mh-e/mh-index.el index c8ec7fb399b..08775c557b1 100644 --- a/lisp/mh-e/mh-index.el +++ b/lisp/mh-e/mh-index.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-index -- MH-E interface to indexing programs | 1 | ;;; mh-index -- MH-E interface to indexing programs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
| 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 6 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -359,46 +359,52 @@ construct the base name." | |||
| 359 | &optional window-config) | 359 | &optional window-config) |
| 360 | "Perform an indexed search in an MH mail folder. | 360 | "Perform an indexed search in an MH mail folder. |
| 361 | 361 | ||
| 362 | Use a prefix argument to repeat the search. | 362 | Use a prefix argument to repeat the last search. |
| 363 | 363 | ||
| 364 | Unlike regular searches, the prompt for the folder to search can be | 364 | Unlike regular searches, the prompt for the folder to search can |
| 365 | \"all\" to search all folders; in addition, the search works recursively | 365 | be \"all\" to search all folders; in addition, the search works |
| 366 | on the listed folder. The search criteria are entered in an MH-Pick | 366 | recursively on the listed folder. The search criteria are entered |
| 367 | buffer as described in `mh-search-folder'. | 367 | in an MH-Pick buffer as described in `mh-search-folder'.\\<mh-pick-mode-map> |
| 368 | 368 | ||
| 369 | To perform the search, type \\<mh-pick-mode-map>\\[mh-do-search]. | 369 | To perform the search, type \\[mh-do-search]. Another difference |
| 370 | Another difference from the regular searches is that because the | 370 | from the regular searches is that because the search operates on |
| 371 | search operates on more than one folder, the messages that are found | 371 | more than one folder, the messages that are found are put in a |
| 372 | are put in a temporary sub-folder of \"+mhe-index\" and are displayed in | 372 | temporary sub-folder of \"+mhe-index\" and are displayed in an |
| 373 | an MH-Folder buffer. This buffer is special because it displays | 373 | MH-Folder buffer. This buffer is special because it displays |
| 374 | messages from multiple folders; each set of messages from a given | 374 | messages from multiple folders; each set of messages from a given |
| 375 | folder has a heading with the folder name. | 375 | folder has a heading with the folder name.\\<mh-folder-mode-map> |
| 376 | 376 | ||
| 377 | In addition, the \\<mh-folder-mode-map>\\[mh-index-visit-folder] | 377 | The appearance of the heading can be modified by customizing the |
| 378 | command can be used to visit the folder of the message at point. | 378 | face `mh-index-folder'. You can jump back and forth between the |
| 379 | Initially, only the messages that matched the search criteria are | 379 | headings using the commands \\[mh-index-next-folder] and |
| 380 | displayed in the folder. While the temporary buffer has its own set of | 380 | \\[mh-index-previous-folder]. |
| 381 | message numbers, the actual messages numbers are shown in the visited | 381 | |
| 382 | folder. Thus, the \\[mh-index-visit-folder] command is useful to find | 382 | In addition, the command \\[mh-index-visit-folder] can be used to |
| 383 | the actual message number of an interesting message, or to view | 383 | visit the folder of the message at point. Initially, only the |
| 384 | surrounding messages with the \\[mh-rescan-folder] command. | 384 | messages that matched the search criteria are displayed in the |
| 385 | 385 | folder. While the temporary buffer has its own set of message | |
| 386 | Because this folder is temporary, you'll probably get in the habit of | 386 | numbers, the actual messages numbers are shown in the visited |
| 387 | killing it when you're done with \\[mh-kill-folder]. | 387 | folder. Thus, the command \\[mh-index-visit-folder] is useful to |
| 388 | 388 | find the actual message number of an interesting message, or to | |
| 389 | If you have run the \\[mh-search-folder] command, but change your mind | 389 | view surrounding messages with the command \\[mh-rescan-folder]. |
| 390 | while entering the search criteria and actually want to run an indexed | 390 | |
| 391 | search, then you can use the | 391 | Because this folder is temporary, you'll probably get in the |
| 392 | \\<mh-pick-mode-map>\\[mh-index-do-search] command in the MH-Pick | 392 | habit of killing it when you're done with |
| 393 | buffer. | 393 | \\[mh-kill-folder]. |
| 394 | 394 | ||
| 395 | The \\<mh-folder-mode-map>\\[mh-index-search] command runs the command | 395 | If you have run the command \\[mh-search-folder], but change your |
| 396 | defined by the `mh-index-program' option. The default value is | 396 | mind while entering the search criteria and actually want to run |
| 397 | \"Auto-detect\" which means that MH-E will automatically choose one of | 397 | an indexed search, then you can use the command |
| 398 | \\<mh-pick-mode-map>\\[mh-index-do-search] in the MH-Pick | ||
| 399 | buffer.\\<mh-folder-mode-map> | ||
| 400 | |||
| 401 | The command \\[mh-index-search] runs the command defined by the | ||
| 402 | option `mh-index-program'. The default value is \"Auto-detect\" | ||
| 403 | which means that MH-E will automatically choose one of | ||
| 398 | \"swish++\", \"swish-e\", \"mairix\", \"namazu\", \"pick\" and | 404 | \"swish++\", \"swish-e\", \"mairix\", \"namazu\", \"pick\" and |
| 399 | \"grep\" in that order. If, for example, you have both \"swish++\" and | 405 | \"grep\" in that order. If, for example, you have both |
| 400 | \"mairix\" installed and you want to use \"mairix\", then you can set | 406 | \"swish++\" and \"mairix\" installed and you want to use |
| 401 | this option to \"mairix\". | 407 | \"mairix\", then you can set this option to \"mairix\". |
| 402 | 408 | ||
| 403 | *NOTE* | 409 | *NOTE* |
| 404 | 410 | ||
| @@ -621,7 +627,7 @@ PROC is used to convert the value to actual data." | |||
| 621 | 627 | ||
| 622 | ;;;###mh-autoload | 628 | ;;;###mh-autoload |
| 623 | (defun mh-index-do-search () | 629 | (defun mh-index-do-search () |
| 624 | "Construct appropriate regexp and call `mh-index-search'." | 630 | "Find messages that match the qualifications in the current pattern buffer." |
| 625 | (interactive) | 631 | (interactive) |
| 626 | (unless (mh-index-choose) (error "No indexing program found")) | 632 | (unless (mh-index-choose) (error "No indexing program found")) |
| 627 | (let* ((regexp-list (mh-pick-parse-search-buffer)) | 633 | (let* ((regexp-list (mh-pick-parse-search-buffer)) |
| @@ -736,8 +742,7 @@ parsed." | |||
| 736 | ;;;###mh-autoload | 742 | ;;;###mh-autoload |
| 737 | (defun mh-index-next-folder (&optional backward-flag) | 743 | (defun mh-index-next-folder (&optional backward-flag) |
| 738 | "Jump to the next folder marker. | 744 | "Jump to the next folder marker. |
| 739 | The function is only applicable to folders displaying index search | 745 | |
| 740 | results. | ||
| 741 | With non-nil optional argument BACKWARD-FLAG, jump to the previous | 746 | With non-nil optional argument BACKWARD-FLAG, jump to the previous |
| 742 | group of results." | 747 | group of results." |
| 743 | (interactive "P") | 748 | (interactive "P") |
| @@ -1305,11 +1310,12 @@ recursively. All parameters ARGS are ignored." | |||
| 1305 | 1310 | ||
| 1306 | ;;;###mh-autoload | 1311 | ;;;###mh-autoload |
| 1307 | (defun mh-index-sequenced-messages (folders sequence) | 1312 | (defun mh-index-sequenced-messages (folders sequence) |
| 1308 | "Display messages from FOLDERS in SEQUENCE. | 1313 | "Display messages in any sequence. |
| 1309 | All messages in the sequence you provide from the folders in | 1314 | |
| 1310 | `mh-new-messages-folders' are listed. With a prefix argument, | 1315 | All messages from the FOLDERS in `mh-new-messages-folders' in the |
| 1311 | enter a space-separated list of folders, or nothing to search all | 1316 | SEQUENCE you provide are listed. With a prefix argument, enter a |
| 1312 | folders." | 1317 | space-separated list of folders at the prompt, or nothing to |
| 1318 | search all folders." | ||
| 1313 | (interactive | 1319 | (interactive |
| 1314 | (list (if current-prefix-arg | 1320 | (list (if current-prefix-arg |
| 1315 | (split-string (read-string "Search folder(s) (default all): ")) | 1321 | (split-string (read-string "Search folder(s) (default all): ")) |
diff --git a/lisp/mh-e/mh-init.el b/lisp/mh-e/mh-init.el index 2818674afae..ba78c269439 100644 --- a/lisp/mh-e/mh-init.el +++ b/lisp/mh-e/mh-init.el | |||
| @@ -334,7 +334,7 @@ there. Otherwise, the images directory is added to the | |||
| 334 | 334 | ||
| 335 | (defun mh-defface-compat (spec) | 335 | (defun mh-defface-compat (spec) |
| 336 | "Convert SPEC for defface if necessary to run on older platforms. | 336 | "Convert SPEC for defface if necessary to run on older platforms. |
| 337 | Modifies SPEC in place and returns it. See `defface' for the spec definition. | 337 | Modifies SPEC in place and returns it. See `defface' for the spec definition. |
| 338 | 338 | ||
| 339 | When `mh-min-colors-defined-flag' is nil, this function finds a | 339 | When `mh-min-colors-defined-flag' is nil, this function finds a |
| 340 | display with a single \"class\" requirement with a \"color\" | 340 | display with a single \"class\" requirement with a \"color\" |
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 5d2bf87581e..71d3fbf7b8b 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mh-junk.el --- Interface to anti-spam measures | 1 | ;;; mh-junk.el --- Interface to anti-spam measures |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>, | 5 | ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>, |
| 6 | ;; Bill Wohler <wohler@newt.com> | 6 | ;; Bill Wohler <wohler@newt.com> |
| @@ -108,10 +108,12 @@ RANGE is read in interactive use." | |||
| 108 | (defun mh-spamassassin-blacklist (msg) | 108 | (defun mh-spamassassin-blacklist (msg) |
| 109 | "Blacklist MSG with SpamAssassin. | 109 | "Blacklist MSG with SpamAssassin. |
| 110 | 110 | ||
| 111 | SpamAssassin is one of the more popular spam filtering programs. Get | 111 | SpamAssassin is one of the more popular spam filtering programs. |
| 112 | it from your local distribution or from http://spamassassin.org/. | 112 | Get it from your local distribution or from |
| 113 | http://spamassassin.org/. | ||
| 113 | 114 | ||
| 114 | To use SpamAssassin, add the following recipes to \".procmailrc\": | 115 | To use SpamAssassin, add the following recipes to |
| 116 | \".procmailrc\": | ||
| 115 | 117 | ||
| 116 | MAILDIR=$HOME/`mhparam Path` | 118 | MAILDIR=$HOME/`mhparam Path` |
| 117 | 119 | ||
| @@ -130,56 +132,59 @@ To use SpamAssassin, add the following recipes to \".procmailrc\": | |||
| 130 | 132 | ||
| 131 | If you don't use \"spamc\", use \"spamassassin -P -a\". | 133 | If you don't use \"spamc\", use \"spamassassin -P -a\". |
| 132 | 134 | ||
| 133 | Note that one of the recipes above throws away messages with a score | 135 | Note that one of the recipes above throws away messages with a |
| 134 | greater than or equal to 10. Here's how you can determine a value that | 136 | score greater than or equal to 10. Here's how you can determine a |
| 135 | works best for you. | 137 | value that works best for you. |
| 136 | 138 | ||
| 137 | First, run \"spamassassin -t\" on every mail message in your archive and | 139 | First, run \"spamassassin -t\" on every mail message in your |
| 138 | use Gnumeric to verify that the average plus the standard deviation of | 140 | archive and use Gnumeric to verify that the average plus the |
| 139 | good mail is under 5, the SpamAssassin default for \"spam\". | 141 | standard deviation of good mail is under 5, the SpamAssassin |
| 142 | default for \"spam\". | ||
| 140 | 143 | ||
| 141 | Using Gnumeric, sort the messages by score and view the messages with | 144 | Using Gnumeric, sort the messages by score and view the messages |
| 142 | the highest score. Determine the score which encompasses all of your | 145 | with the highest score. Determine the score which encompasses all |
| 143 | interesting messages and add a couple of points to be conservative. | 146 | of your interesting messages and add a couple of points to be |
| 144 | Add that many dots to the \"X-Spam-Level:\" header field above to send | 147 | conservative. Add that many dots to the \"X-Spam-Level:\" header |
| 145 | messages with that score down the drain. | 148 | field above to send messages with that score down the drain. |
| 146 | 149 | ||
| 147 | In the example above, messages with a score of 5-9 are set aside in | 150 | In the example above, messages with a score of 5-9 are set aside |
| 148 | the \"+spam\" folder for later review. The major weakness of rules-based | 151 | in the \"+spam\" folder for later review. The major weakness of |
| 149 | filters is a plethora of false positives so it is worthwhile to check. | 152 | rules-based filters is a plethora of false positives so it is |
| 153 | worthwhile to check. | ||
| 150 | 154 | ||
| 151 | If SpamAssassin classifies a message incorrectly, or is unsure, you | 155 | If SpamAssassin classifies a message incorrectly, or is unsure, |
| 152 | can use the MH-E commands \\[mh-junk-blacklist] and | 156 | you can use the MH-E commands \\[mh-junk-blacklist] and |
| 153 | \\[mh-junk-whitelist]. | 157 | \\[mh-junk-whitelist]. |
| 154 | 158 | ||
| 155 | The \\[mh-junk-blacklist] command adds a \"blacklist_from\" entry to | 159 | The command \\[mh-junk-blacklist] adds a \"blacklist_from\" entry |
| 156 | \"~/spamassassin/user_prefs\", deletes the message, and sends the | 160 | to \"~/spamassassin/user_prefs\", deletes the message, and sends |
| 157 | message to the Razor, so that others might not see this spam. If the | 161 | the message to the Razor, so that others might not see this spam. |
| 158 | \"sa-learn\" command is available, the message is also recategorized as | 162 | If the \"sa-learn\" command is available, the message is also |
| 159 | spam. | 163 | recategorized as spam. |
| 160 | 164 | ||
| 161 | The \\[mh-junk-whitelist] command adds a \"whitelist_from\" rule to the | 165 | The command \\[mh-junk-whitelist] adds a \"whitelist_from\" rule |
| 162 | \"~/.spamassassin/user_prefs\" file. If the \"sa-learn\" command is | 166 | to the \"~/.spamassassin/user_prefs\" file. If the \"sa-learn\" |
| 163 | available, the message is also recategorized as ham. | 167 | command is available, the message is also recategorized as ham. |
| 164 | 168 | ||
| 165 | Over time, you'll observe that the same host or domain occurs | 169 | Over time, you'll observe that the same host or domain occurs |
| 166 | repeatedly in the \"blacklist_from\" entries, so you might think that | 170 | repeatedly in the \"blacklist_from\" entries, so you might think |
| 167 | you could avoid future spam by blacklisting all mail from a particular | 171 | that you could avoid future spam by blacklisting all mail from a |
| 168 | domain. The utility function `mh-spamassassin-identify-spammers' helps | 172 | particular domain. The utility function |
| 169 | you do precisely that. This function displays a frequency count of the | 173 | `mh-spamassassin-identify-spammers' helps you do precisely that. |
| 170 | hosts and domains in the \"blacklist_from\" entries from the last blank | 174 | This function displays a frequency count of the hosts and domains |
| 171 | line in \"~/.spamassassin/user_prefs\" to the end of the file. This | 175 | in the \"blacklist_from\" entries from the last blank line in |
| 176 | \"~/.spamassassin/user_prefs\" to the end of the file. This | ||
| 172 | information can be used so that you can replace multiple | 177 | information can be used so that you can replace multiple |
| 173 | \"blacklist_from\" entries with a single wildcard entry such as: | 178 | \"blacklist_from\" entries with a single wildcard entry such as: |
| 174 | 179 | ||
| 175 | blacklist_from *@*amazingoffersdirect2u.com | 180 | blacklist_from *@*amazingoffersdirect2u.com |
| 176 | 181 | ||
| 177 | In versions of SpamAssassin (2.50 and on) that support a Bayesian | 182 | In versions of SpamAssassin (2.50 and on) that support a Bayesian |
| 178 | classifier, \\[mh-junk-blacklist] uses the \"sa-learn\" program to | 183 | classifier, \\[mh-junk-blacklist] uses the program \"sa-learn\" |
| 179 | recategorize the message as spam. Neither MH-E, nor SpamAssassin, | 184 | to recategorize the message as spam. Neither MH-E, nor |
| 180 | rebuilds the database after adding words, so you will need to run | 185 | SpamAssassin, rebuilds the database after adding words, so you |
| 181 | \"sa-learn --rebuild\" periodically. This can be done by adding the | 186 | will need to run \"sa-learn --rebuild\" periodically. This can be |
| 182 | following to your crontab: | 187 | done by adding the following to your crontab: |
| 183 | 188 | ||
| 184 | 0 * * * * sa-learn --rebuild > /dev/null 2>&1" | 189 | 0 * * * * sa-learn --rebuild > /dev/null 2>&1" |
| 185 | (unless mh-spamassassin-executable | 190 | (unless mh-spamassassin-executable |
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index bcf7948964b..9edcf10b36d 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-mime.el --- MH-E support for composing MIME messages | 1 | ;;; mh-mime.el --- MH-E support for composing MIME messages |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, | 3 | ;; Copyright (C) 1993, 1995, |
| 4 | ;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -318,9 +318,10 @@ set of ATTRIBUTES and an optional COMMENT can also be included." | |||
| 318 | ;;;###mh-autoload | 318 | ;;;###mh-autoload |
| 319 | (defun mh-mh-compose-anon-ftp (host filename type description) | 319 | (defun mh-mh-compose-anon-ftp (host filename type description) |
| 320 | "Add tag to include anonymous ftp reference to a file. | 320 | "Add tag to include anonymous ftp reference to a file. |
| 321 | You can even have your message initiate an \"ftp\" transfer when | 321 | |
| 322 | the recipient reads the message. You are prompted for the remote | 322 | You can have your message initiate an \"ftp\" transfer when the |
| 323 | HOST and FILENAME, the media TYPE, and the content DESCRIPTION. | 323 | recipient reads the message. You are prompted for the remote HOST |
| 324 | and FILENAME, the media TYPE, and the content DESCRIPTION. | ||
| 324 | 325 | ||
| 325 | See also \\[mh-mh-to-mime]." | 326 | See also \\[mh-mh-to-mime]." |
| 326 | (interactive (list | 327 | (interactive (list |
| @@ -334,8 +335,9 @@ See also \\[mh-mh-to-mime]." | |||
| 334 | ;;;###mh-autoload | 335 | ;;;###mh-autoload |
| 335 | (defun mh-mh-compose-external-compressed-tar (host filename description) | 336 | (defun mh-mh-compose-external-compressed-tar (host filename description) |
| 336 | "Add tag to include anonymous ftp reference to a compressed tar file. | 337 | "Add tag to include anonymous ftp reference to a compressed tar file. |
| 338 | |||
| 337 | In addition to retrieving the file via anonymous \"ftp\" as per | 339 | In addition to retrieving the file via anonymous \"ftp\" as per |
| 338 | the \\[mh-mh-compose-anon-ftp] command, the file will also be | 340 | the command \\[mh-mh-compose-anon-ftp], the file will also be |
| 339 | uncompressed and untarred. You are prompted for the remote HOST | 341 | uncompressed and untarred. You are prompted for the remote HOST |
| 340 | and FILENAME and the content DESCRIPTION. | 342 | and FILENAME and the content DESCRIPTION. |
| 341 | 343 | ||
| @@ -356,6 +358,7 @@ See also \\[mh-mh-to-mime]." | |||
| 356 | attributes parameters | 358 | attributes parameters |
| 357 | comment) | 359 | comment) |
| 358 | "Add tag to refer to a remote file. | 360 | "Add tag to refer to a remote file. |
| 361 | |||
| 359 | This command is a general utility for referencing external files. | 362 | This command is a general utility for referencing external files. |
| 360 | In fact, all of the other commands that insert directives to | 363 | In fact, all of the other commands that insert directives to |
| 361 | access external files call this command. You are prompted for the | 364 | access external files call this command. You are prompted for the |
| @@ -435,14 +438,14 @@ Typically, you send a message with attachments just like any other | |||
| 435 | message. However, you may take a sneak preview of the MIME encoding if | 438 | message. However, you may take a sneak preview of the MIME encoding if |
| 436 | you wish by running this command. | 439 | you wish by running this command. |
| 437 | 440 | ||
| 438 | If you wish to pass additional arguments to \"mhbuild\" (\"mhn\") to | 441 | If you wish to pass additional arguments to \"mhbuild\" (\"mhn\") |
| 439 | affect how it builds your message, use the `mh-mh-to-mime-args' | 442 | to affect how it builds your message, use the option |
| 440 | option. For example, you can build a consistency check into the | 443 | `mh-mh-to-mime-args'. For example, you can build a consistency |
| 441 | message by setting `mh-mh-to-mime-args' to \"-check\". The recipient | 444 | check into the message by setting `mh-mh-to-mime-args' to |
| 442 | of your message can then run \"mhbuild -check\" on the | 445 | \"-check\". The recipient of your message can then run \"mhbuild |
| 443 | message--\"mhbuild\" (\"mhn\") will complain if the message has been | 446 | -check\" on the message--\"mhbuild\" (\"mhn\") will complain if |
| 444 | corrupted on the way. This command only consults this option when | 447 | the message has been corrupted on the way. This command only |
| 445 | given a prefix argument EXTRA-ARGS. | 448 | consults this option when given a prefix argument EXTRA-ARGS. |
| 446 | 449 | ||
| 447 | The hook `mh-mh-to-mime-hook' is called after the message has been | 450 | The hook `mh-mh-to-mime-hook' is called after the message has been |
| 448 | formatted. | 451 | formatted. |
| @@ -484,8 +487,10 @@ This function will quote all such characters." | |||
| 484 | ;;;###mh-autoload | 487 | ;;;###mh-autoload |
| 485 | (defun mh-mh-to-mime-undo (noconfirm) | 488 | (defun mh-mh-to-mime-undo (noconfirm) |
| 486 | "Undo effects of \\[mh-mh-to-mime]. | 489 | "Undo effects of \\[mh-mh-to-mime]. |
| 487 | Optional non-nil argument NOCONFIRM means don't ask for | 490 | |
| 488 | confirmation." | 491 | It does this by reverting to a backup file. You are prompted to |
| 492 | confirm this action, but you can avoid the confirmation by adding | ||
| 493 | a prefix argument NOCONFIRM." | ||
| 489 | (interactive "*P") | 494 | (interactive "*P") |
| 490 | (if (null buffer-file-name) | 495 | (if (null buffer-file-name) |
| 491 | (error "Buffer does not seem to be associated with any file")) | 496 | (error "Buffer does not seem to be associated with any file")) |
| @@ -654,7 +659,7 @@ IDENTITY is optionally the default-user-id to use." | |||
| 654 | "Add tag to sign the message. | 659 | "Add tag to sign the message. |
| 655 | 660 | ||
| 656 | A proper multipart message is created for you when you send the | 661 | A proper multipart message is created for you when you send the |
| 657 | message. Use the \\[mh-mml-unsecure-message] command to remove | 662 | message. Use the command \\[mh-mml-unsecure-message] to remove |
| 658 | this tag. Use a prefix argument METHOD to be prompted for one of | 663 | this tag. Use a prefix argument METHOD to be prompted for one of |
| 659 | the possible security methods (see `mh-mml-method-default')." | 664 | the possible security methods (see `mh-mml-method-default')." |
| 660 | (interactive (list (mh-mml-query-cryptographic-method))) | 665 | (interactive (list (mh-mml-query-cryptographic-method))) |
| @@ -665,7 +670,7 @@ the possible security methods (see `mh-mml-method-default')." | |||
| 665 | "Add tag to encrypt the message. | 670 | "Add tag to encrypt the message. |
| 666 | 671 | ||
| 667 | A proper multipart message is created for you when you send the | 672 | A proper multipart message is created for you when you send the |
| 668 | message. Use the \\[mh-mml-unsecure-message] command to remove | 673 | message. Use the command \\[mh-mml-unsecure-message] to remove |
| 669 | this tag. Use a prefix argument METHOD to be prompted for one of | 674 | this tag. Use a prefix argument METHOD to be prompted for one of |
| 670 | the possible security methods (see `mh-mml-method-default')." | 675 | the possible security methods (see `mh-mml-method-default')." |
| 671 | (interactive (list (mh-mml-query-cryptographic-method))) | 676 | (interactive (list (mh-mml-query-cryptographic-method))) |
| @@ -676,7 +681,7 @@ the possible security methods (see `mh-mml-method-default')." | |||
| 676 | "Add tag to encrypt and sign the message. | 681 | "Add tag to encrypt and sign the message. |
| 677 | 682 | ||
| 678 | A proper multipart message is created for you when you send the | 683 | A proper multipart message is created for you when you send the |
| 679 | message. Use the \\[mh-mml-unsecure-message] command to remove | 684 | message. Use the command \\[mh-mml-unsecure-message] to remove |
| 680 | this tag. Use a prefix argument METHOD to be prompted for one of | 685 | this tag. Use a prefix argument METHOD to be prompted for one of |
| 681 | the possible security methods (see `mh-mml-method-default')." | 686 | the possible security methods (see `mh-mml-method-default')." |
| 682 | (interactive (list (mh-mml-query-cryptographic-method))) | 687 | (interactive (list (mh-mml-query-cryptographic-method))) |
diff --git a/lisp/mh-e/mh-pick.el b/lisp/mh-e/mh-pick.el index 03314ffa6c6..8089d3e8ae7 100644 --- a/lisp/mh-e/mh-pick.el +++ b/lisp/mh-e/mh-pick.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-pick.el --- make a search pattern and search for a message in MH-E | 1 | ;;; mh-pick.el --- make a search pattern and search for a message in MH-E |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, | 3 | ;; Copyright (C) 1993, 1995, |
| 4 | ;; 2001, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -54,13 +54,14 @@ | |||
| 54 | (defun mh-search-folder (folder window-config) | 54 | (defun mh-search-folder (folder window-config) |
| 55 | "Search FOLDER for messages matching a pattern. | 55 | "Search FOLDER for messages matching a pattern. |
| 56 | 56 | ||
| 57 | With this command, you can search a folder for messages to or from a | 57 | With this command, you can search a folder for messages to or |
| 58 | particular person or about a particular subject. In fact, you can also | 58 | from a particular person or about a particular subject. In fact, |
| 59 | search for messages containing selected strings in any arbitrary | 59 | you can also search for messages containing selected strings in |
| 60 | header field or any string found within the messages. | 60 | any arbitrary header field or any string found within the |
| 61 | messages. | ||
| 61 | 62 | ||
| 62 | You are first prompted for the name of the folder to search and then | 63 | You are first prompted for the name of the folder to search and |
| 63 | placed in the following buffer in MH-Pick mode: | 64 | then placed in the following buffer in MH-Pick mode: |
| 64 | 65 | ||
| 65 | From: | 66 | From: |
| 66 | To: | 67 | To: |
| @@ -69,26 +70,27 @@ placed in the following buffer in MH-Pick mode: | |||
| 69 | Subject: | 70 | Subject: |
| 70 | -------- | 71 | -------- |
| 71 | 72 | ||
| 72 | Edit this template by entering your search criteria in an appropriate | 73 | Edit this template by entering your search criteria in an |
| 73 | header field that is already there, or create a new field yourself. If | 74 | appropriate header field that is already there, or create a new |
| 74 | the string you're looking for could be anywhere in a message, then | 75 | field yourself. If the string you're looking for could be |
| 75 | place the string underneath the row of dashes. The | 76 | anywhere in a message, then place the string underneath the row |
| 76 | \\[mh-search-folder] command uses the MH command \"pick\" to do the | 77 | of dashes. The command \\[mh-search-folder] uses the MH command |
| 77 | real work. | 78 | \"pick\" to do the real work. |
| 78 | 79 | ||
| 79 | There are no semantics associated with the search criteria--they are | 80 | There are no semantics associated with the search criteria--they |
| 80 | simply treated as strings. Case is ignored when all lowercase is used, | 81 | are simply treated as strings. Case is ignored when all lowercase |
| 81 | and regular expressions (a la \"ed\") are available. It is all right | 82 | is used, and regular expressions (a la \"ed\") are available. It |
| 82 | to specify several search criteria. What happens then is that a | 83 | is all right to specify several search criteria. What happens |
| 83 | logical _and_ of the various fields is performed. If you prefer a | 84 | then is that a logical _and_ of the various fields is performed. |
| 84 | logical _or_ operation, run \\[mh-search-folder] multiple times. | 85 | If you prefer a logical _or_ operation, run \\[mh-search-folder] |
| 85 | 86 | multiple times. | |
| 86 | As an example, let's say that we want to find messages from Ginnean | 87 | |
| 87 | about horseback riding in the Kosciusko National Park (Australia) | 88 | As an example, let's say that we want to find messages from |
| 88 | during January, 1994. Normally we would start with a broad search and | 89 | Ginnean about horseback riding in the Kosciusko National |
| 89 | narrow it down if necessary to produce a manageable amount of data, | 90 | Park (Australia) during January, 1994. Normally we would start |
| 90 | but we'll cut to the chase and create a fairly restrictive set of | 91 | with a broad search and narrow it down if necessary to produce a |
| 91 | criteria as follows: | 92 | manageable amount of data, but we'll cut to the chase and create |
| 93 | a fairly restrictive set of criteria as follows: | ||
| 92 | 94 | ||
| 93 | From: ginnean | 95 | From: ginnean |
| 94 | To: | 96 | To: |
| @@ -98,31 +100,32 @@ criteria as follows: | |||
| 98 | -------- | 100 | -------- |
| 99 | 101 | ||
| 100 | As with MH-Letter mode, MH-Pick provides commands like | 102 | As with MH-Letter mode, MH-Pick provides commands like |
| 101 | \\<mh-pick-mode-map>\\[mh-to-field] to help you fill in the blanks. | 103 | \\<mh-pick-mode-map>\\[mh-to-field] to help you fill in the |
| 104 | blanks. | ||
| 102 | 105 | ||
| 103 | To perform the search, type \\[mh-do-search]. The selected messages | 106 | To perform the search, type \\[mh-do-search]. The selected |
| 104 | are placed in the \"search\" sequence, which you can use later in | 107 | messages are placed in the \"search\" sequence, which you can use |
| 105 | forwarding, printing, or narrowing your field of view. Subsequent | 108 | later in forwarding, printing, or narrowing your field of view. |
| 106 | searches are appended to the \"search\" sequence. If, however, you | 109 | Subsequent searches are appended to the \"search\" sequence. If, |
| 107 | wish to start with a clean slate, first delete the \"search\" | 110 | however, you wish to start with a clean slate, first delete the |
| 108 | sequence. | 111 | \"search\" sequence. |
| 109 | 112 | ||
| 110 | If you're searching in a folder that is already displayed in an | 113 | If you're searching in a folder that is already displayed in an |
| 111 | MH-Folder buffer, only those messages contained in the buffer are used | 114 | MH-Folder buffer, only those messages contained in the buffer are |
| 112 | for the search. Therefore, if you want to search in all messages, | 115 | used for the search. Therefore, if you want to search in all |
| 113 | first kill the folder's buffer with | 116 | messages, first kill the folder's buffer with |
| 114 | \\<mh-folder-mode-map>\\[kill-buffer] or scan the entire folder with | 117 | \\<mh-folder-mode-map>\\[kill-buffer] or scan the entire folder |
| 115 | \\[mh-rescan-folder]. | 118 | with \\[mh-rescan-folder]. |
| 116 | 119 | ||
| 117 | If you find that you do the same thing over and over when editing the | 120 | If you find that you do the same thing over and over when editing |
| 118 | search template, you may wish to bind some shortcuts to keys. This can | 121 | the search template, you may wish to bind some shortcuts to keys. |
| 119 | be done with the variable `mh-pick-mode-hook', which is called when | 122 | This can be done with the variable `mh-pick-mode-hook', which is |
| 120 | \\[mh-search-folder] is run on a new pattern. | 123 | called when \\[mh-search-folder] is run on a new pattern. |
| 121 | 124 | ||
| 122 | If you have run the \\[mh-index-search] command, but change your mind | 125 | If you have run the \\[mh-index-search] command, but change your |
| 123 | while entering the search criteria and actually want to run a regular | 126 | mind while entering the search criteria and actually want to run |
| 124 | search, then you can use the \\<mh-pick-mode-map>\\[mh-pick-do-search] | 127 | a regular search, then you can use the command |
| 125 | command. | 128 | \\<mh-pick-mode-map>\\[mh-pick-do-search] in the MH-Pick buffer. |
| 126 | 129 | ||
| 127 | In a program, argument WINDOW-CONFIG is the current window | 130 | In a program, argument WINDOW-CONFIG is the current window |
| 128 | configuration and is used when the search folder is dismissed." | 131 | configuration and is used when the search folder is dismissed." |
diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el index 6fb70e61de8..dffb831ad2b 100644 --- a/lisp/mh-e/mh-seq.el +++ b/lisp/mh-e/mh-seq.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-seq.el --- MH-E sequences support | 1 | ;;; mh-seq.el --- MH-E sequences support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, | 3 | ;; Copyright (C) 1993, 1995, |
| 4 | ;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -177,6 +177,7 @@ you want to delete the messages, use \"\\[universal-argument] | |||
| 177 | ;;;###mh-autoload | 177 | ;;;###mh-autoload |
| 178 | (defun mh-list-sequences () | 178 | (defun mh-list-sequences () |
| 179 | "List all sequences in folder. | 179 | "List all sequences in folder. |
| 180 | |||
| 180 | The list appears in a buffer named \"*MH-E Sequences*\"." | 181 | The list appears in a buffer named \"*MH-E Sequences*\"." |
| 181 | (interactive) | 182 | (interactive) |
| 182 | (let ((folder mh-current-folder) | 183 | (let ((folder mh-current-folder) |
| @@ -219,6 +220,7 @@ The list appears in a buffer named \"*MH-E Sequences*\"." | |||
| 219 | ;;;###mh-autoload | 220 | ;;;###mh-autoload |
| 220 | (defun mh-msg-is-in-seq (message) | 221 | (defun mh-msg-is-in-seq (message) |
| 221 | "Display the sequences in which the current message appears. | 222 | "Display the sequences in which the current message appears. |
| 223 | |||
| 222 | Use a prefix argument to display the sequences in which another | 224 | Use a prefix argument to display the sequences in which another |
| 223 | MESSAGE appears." | 225 | MESSAGE appears." |
| 224 | (interactive "P") | 226 | (interactive "P") |
| @@ -329,8 +331,10 @@ OP is one of 'widen and 'unthread." | |||
| 329 | ;;;###mh-autoload | 331 | ;;;###mh-autoload |
| 330 | (defun mh-widen (&optional all-flag) | 332 | (defun mh-widen (&optional all-flag) |
| 331 | "Remove last restriction. | 333 | "Remove last restriction. |
| 332 | If optional prefix argument ALL-FLAG is non-nil, remove all | 334 | |
| 333 | limits." | 335 | Each limit or sequence restriction can be undone in turn with |
| 336 | this command. Give this command a prefix argument ALL-FLAG to | ||
| 337 | remove all limits and sequence restrictions." | ||
| 334 | (interactive "P") | 338 | (interactive "P") |
| 335 | (let ((msg (mh-get-msg-num nil))) | 339 | (let ((msg (mh-get-msg-num nil))) |
| 336 | (when mh-folder-view-stack | 340 | (when mh-folder-view-stack |
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index e008c93916e..0bfadfbe238 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; mh-utils.el --- MH-E code needed for both sending and reading | 1 | ;;; mh-utils.el --- MH-E code needed for both sending and reading |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1995, 1997, | 3 | ;; Copyright (C) 1993, 1995, 1997, |
| 4 | ;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | 4 | ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| @@ -1647,6 +1647,14 @@ scrolls to the beginning of the message. MH-E normally hides a lot of | |||
| 1647 | the superfluous header fields that mailers add to a message, but if | 1647 | the superfluous header fields that mailers add to a message, but if |
| 1648 | you wish to see all of them, use the command \\[mh-header-display]. | 1648 | you wish to see all of them, use the command \\[mh-header-display]. |
| 1649 | 1649 | ||
| 1650 | Two hooks can be used to control how messages are displayed. The | ||
| 1651 | first hook, `mh-show-mode-hook', is called early on in the | ||
| 1652 | process of the message display. It is usually used to perform | ||
| 1653 | some action on the message's content. The second hook, | ||
| 1654 | `mh-show-hook', is the last thing called after messages are | ||
| 1655 | displayed. It's used to affect the behavior of MH-E in general or | ||
| 1656 | when `mh-show-mode-hook' is too early. | ||
| 1657 | |||
| 1650 | From a program, optional argument MESSAGE can be used to display an | 1658 | From a program, optional argument MESSAGE can be used to display an |
| 1651 | alternative message. The optional argument REDISPLAY-FLAG forces the | 1659 | alternative message. The optional argument REDISPLAY-FLAG forces the |
| 1652 | redisplay of the message even if the show buffer was already | 1660 | redisplay of the message even if the show buffer was already |
| @@ -1728,7 +1736,7 @@ this with this command. It displays the raw message in an | |||
| 1728 | editable buffer. When you are done editing, save and kill the | 1736 | editable buffer. When you are done editing, save and kill the |
| 1729 | buffer as you would any other. | 1737 | buffer as you would any other. |
| 1730 | 1738 | ||
| 1731 | From a program, edit MESSAGE instead if it is non-nil." | 1739 | From a program, edit MESSAGE; nil means edit current message." |
| 1732 | (interactive) | 1740 | (interactive) |
| 1733 | (let* ((message (or message (mh-get-msg-num t))) | 1741 | (let* ((message (or message (mh-get-msg-num t))) |
| 1734 | (msg-filename (mh-msg-filename message)) | 1742 | (msg-filename (mh-msg-filename message)) |