Mercurial > emacs
annotate lisp/mh-e/mh-comp.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | 7be123ae7612 |
children | 6c6130ccdefd |
rev | line source |
---|---|
68465 | 1 ;;; mh-comp.el --- MH-E functions for composing and sending messages |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
2 |
62847
aa8c2e12ee24
Upgraded to MH-E version 7.84.
Bill Wohler <wohler@newt.com>
parents:
62465
diff
changeset
|
3 ;; Copyright (C) 1993, 1995, 1997, |
106815 | 4 ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
101468
a9bf21156375
Follow Glenn's lead and update format of Copyright.
Bill Wohler <wohler@newt.com>
parents:
100908
diff
changeset
|
5 ;; Free Software Foundation, Inc. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
6 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
7 ;; Author: Bill Wohler <wohler@newt.com> |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
8 ;; Maintainer: Bill Wohler <wohler@newt.com> |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
9 ;; Keywords: mail |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
10 ;; See: mh-e.el |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
11 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
12 ;; This file is part of GNU Emacs. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
13 |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92126
diff
changeset
|
14 ;; GNU Emacs is free software: you can redistribute it and/or modify |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
15 ;; it under the terms of the GNU General Public License as published by |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92126
diff
changeset
|
16 ;; the Free Software Foundation, either version 3 of the License, or |
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92126
diff
changeset
|
17 ;; (at your option) any later version. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
18 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
19 ;; GNU Emacs is distributed in the hope that it will be useful, |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
22 ;; GNU General Public License for more details. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
23 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
24 ;; You should have received a copy of the GNU General Public License |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
92126
diff
changeset
|
25 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
26 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
27 ;;; Commentary: |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
28 |
68465 | 29 ;; This file includes the functions in the MH-Folder maps that get us |
30 ;; into MH-Letter mode, as well the functions in the MH-Letter mode | |
31 ;; that are used to send the mail. Other that those, functions that | |
32 ;; are needed in mh-letter.el should be found there. | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
33 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
34 ;;; Change Log: |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
35 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
36 ;;; Code: |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
37 |
68096
57c4e7929f99
* mh-alias.el (mh-alias-gecos-name): Use replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68013
diff
changeset
|
38 (require 'mh-e) |
68465 | 39 (require 'mh-gnus) ;needed because mh-gnus.el not compiled |
40 (require 'mh-scan) | |
68096
57c4e7929f99
* mh-alias.el (mh-alias-gecos-name): Use replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68013
diff
changeset
|
41 |
68465 | 42 (require 'sendmail) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
43 |
68465 | 44 (autoload 'easy-menu-add "easymenu") |
45 (autoload 'mml-insert-tag "mml") | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
46 |
67681 | 47 |
48 | |
68465 | 49 ;;; Site Customization |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
50 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
51 (defvar mh-send-prog "send" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
52 "Name of the MH send program. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
53 Some sites need to change this because of a name conflict.") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
54 |
71352
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
55 (defvar mh-send-uses-spost-flag nil |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
56 "Non-nil means \"send\" uses \"spost\" to submit messages. |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
57 |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
58 If the value of \"postproc:\" is \"spost\", you may need to set |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
59 this variable to t to tell MH-E to avoid using features of |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
60 \"post\" that are not supported by \"spost\". You'll know that |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
61 you'll need to do this if sending mail fails with an error of |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
62 \"spost: -msgid unknown\".") |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
63 |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
64 (defvar mh-redist-background nil |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
65 "If non-nil redist will be done in background like send. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
66 This allows transaction log to be visible if -watch, -verbose or |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
67 -snoop are used.") |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
68 |
67681 | 69 |
70 | |
68465 | 71 ;;; Variables |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
72 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
73 (defvar mh-comp-formfile "components" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
74 "Name of file to be used as a skeleton for composing messages. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
75 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
76 Default is \"components\". |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
77 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
78 If not an absolute file name, the file is searched for first in the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
79 user's MH directory, then in the system MH lib directory.") |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
80 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
81 (defvar mh-repl-formfile "replcomps" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
82 "Name of file to be used as a skeleton for replying to messages. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
83 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
84 Default is \"replcomps\". |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
85 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
86 If not an absolute file name, the file is searched for first in the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
87 user's MH directory, then in the system MH lib directory.") |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
88 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
89 (defvar mh-repl-group-formfile "replgroupcomps" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
90 "Name of file to be used as a skeleton for replying to messages. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
91 |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
92 Default is \"replgroupcomps\". |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
93 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
94 This file is used to form replies to the sender and all recipients of |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
95 a message. Only used if `(mh-variant-p 'nmh)' is non-nil. |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
96 If not an absolute file name, the file is searched for first in the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
97 user's MH directory, then in the system MH lib directory.") |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
98 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
99 (defvar mh-rejected-letter-start |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
100 (format "^%s$" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
101 (regexp-opt |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
102 '("Content-Type: message/rfc822" ;MIME MDN |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
103 "------ This is a copy of the message, including all the headers. ------";from exim |
68465 | 104 "--- Below this line is a copy of the message."; from qmail |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
105 " ----- Unsent message follows -----" ;from sendmail V5 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
106 " --------Unsent Message below:" ; from sendmail at BU |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
107 " ----- Original message follows -----" ;from sendmail V8 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
108 "------- Unsent Draft" ;from MH itself |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
109 "---------- Original Message ----------" ;from zmailer |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
110 " --- The unsent message follows ---" ;from AIX mail system |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
111 " Your message follows:" ;from MMDF-II |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
112 "Content-Description: Returned Content" ;1993 KJ sendmail |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
113 )))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
114 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
115 (defvar mh-new-draft-cleaned-headers |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
116 "^Date:\\|^Received:\\|^Message-Id:\\|^From:\\|^Sender:\\|^Errors-To:\\|^Delivery-Date:\\|^Return-Path:" |
67760
9c3504ae6060
Follow MH-E Developers Guide conventions. Use `' quotes for Help
Bill Wohler <wohler@newt.com>
parents:
67759
diff
changeset
|
117 "Regexp of header lines to remove before offering a message as a new draft\\<mh-folder-mode-map>. |
9c3504ae6060
Follow MH-E Developers Guide conventions. Use `' quotes for Help
Bill Wohler <wohler@newt.com>
parents:
67759
diff
changeset
|
118 Used by the \\[mh-edit-again] and \\[mh-extract-rejected-mail] commands.") |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
119 |
95690
c12a32810ea6
(mh-letter-mode-syntax-table): Define within defvar.
John Paul Wallington <jpw@pobox.com>
parents:
94663
diff
changeset
|
120 (defvar mh-letter-mode-syntax-table |
c12a32810ea6
(mh-letter-mode-syntax-table): Define within defvar.
John Paul Wallington <jpw@pobox.com>
parents:
94663
diff
changeset
|
121 (let ((syntax-table (make-syntax-table text-mode-syntax-table))) |
c12a32810ea6
(mh-letter-mode-syntax-table): Define within defvar.
John Paul Wallington <jpw@pobox.com>
parents:
94663
diff
changeset
|
122 (modify-syntax-entry ?% "." syntax-table) |
c12a32810ea6
(mh-letter-mode-syntax-table): Define within defvar.
John Paul Wallington <jpw@pobox.com>
parents:
94663
diff
changeset
|
123 syntax-table) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
124 "Syntax table used by MH-E while in MH-Letter mode.") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
125 |
73129
6478736310c3
mh-comp.el (mh-send-args): Initialize to "" instead of nil
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
71352
diff
changeset
|
126 (defvar mh-send-args "" |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
127 "Extra args to pass to \"send\" command.") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
128 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
129 (defvar mh-annotate-char nil |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
130 "Character to use to annotate `mh-sent-from-msg'.") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
131 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
132 (defvar mh-annotate-field nil |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
133 "Field name for message annotation.") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
134 |
82839
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
135 (defvar mh-annotate-list nil |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
136 "Messages annotated, either a sequence name or a list of message numbers. |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
137 This variable can be used by `mh-annotate-msg-hook'.") |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
138 |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
139 (defvar mh-insert-auto-fields-done-local nil |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
140 "Buffer-local variable set when `mh-insert-auto-fields' called successfully.") |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
141 (make-variable-buffer-local 'mh-insert-auto-fields-done-local) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
142 |
68465 | 143 |
144 | |
145 ;;; MH-E Entry Points | |
146 | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
147 ;;;###autoload |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
148 (defun mh-smail () |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
149 "Compose a message with the MH mail system. |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
150 See `mh-send' for more details on composing mail." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
151 (interactive) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
152 (mh-find-path) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
153 (call-interactively 'mh-send)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
154 |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
155 ;;;###autoload |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
156 (defun mh-smail-other-window () |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
157 "Compose a message with the MH mail system in other window. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
158 See `mh-send' for more details on composing mail." |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
159 (interactive) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
160 (mh-find-path) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
161 (call-interactively 'mh-send-other-window)) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
162 |
68465 | 163 (defun mh-send-other-window (to cc subject) |
164 "Compose a message in another window. | |
165 | |
166 See `mh-send' for more information and a description of how the | |
167 TO, CC, and SUBJECT arguments are used." | |
168 (interactive (list | |
169 (mh-interactive-read-address "To: ") | |
170 (mh-interactive-read-address "Cc: ") | |
171 (mh-interactive-read-string "Subject: "))) | |
172 (let ((pop-up-windows t)) | |
173 (mh-send-sub to cc subject (current-window-configuration)))) | |
174 | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
175 (defvar mh-error-if-no-draft nil) ;raise error over using old draft |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
176 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
177 ;;;###autoload |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
178 (defun mh-smail-batch (&optional to subject other-headers &rest ignored) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
179 "Compose a message with the MH mail system. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
180 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
181 This function does not prompt the user for any header fields, and |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
182 thus is suitable for use by programs that want to create a mail |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
183 buffer. Users should use \\[mh-smail] to compose mail. |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
184 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
185 Optional arguments for setting certain fields include TO, |
67886
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
186 SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED. |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
187 |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
188 This function remains for Emacs 21 compatibility. New |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
189 applications should use `mh-user-agent-compose'." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
190 (mh-find-path) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
191 (let ((mh-error-if-no-draft t)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
192 (mh-send (or to "") "" (or subject "")))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
193 |
67886
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
194 ;;;###autoload |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
195 (define-mail-user-agent 'mh-e-user-agent |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
196 'mh-user-agent-compose 'mh-send-letter 'mh-fully-kill-draft |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
197 'mh-before-send-letter-hook) |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
198 |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
199 ;;;###autoload |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
200 (defun mh-user-agent-compose (&optional to subject other-headers continue |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
201 switch-function yank-action |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
202 send-actions) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
203 "Set up mail composition draft with the MH mail system. |
67886
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
204 This is the `mail-user-agent' entry point to MH-E. This function |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
205 conforms to the contract specified by `define-mail-user-agent' |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
206 which means that this function should accept the same arguments |
b98e23ab1402
* simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and autoload.
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
207 as `compose-mail'. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
208 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
209 The optional arguments TO and SUBJECT specify recipients and the |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
210 initial Subject field, respectively. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
211 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
212 OTHER-HEADERS is an alist specifying additional header fields. |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
213 Elements look like (HEADER . VALUE) where both HEADER and VALUE |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
214 are strings. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
215 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
216 CONTINUE, SWITCH-FUNCTION, YANK-ACTION and SEND-ACTIONS are |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
217 ignored." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
218 (mh-find-path) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
219 (let ((mh-error-if-no-draft t)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
220 (mh-send to "" subject) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
221 (while other-headers |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
222 (mh-insert-fields (concat (car (car other-headers)) ":") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
223 (cdr (car other-headers))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
224 (setq other-headers (cdr other-headers))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
225 |
68465 | 226 ;; Shush compiler. |
70028
d81780942bb8
* mh-acros.el (struct, x, y): No need to wrap defvar with
Bill Wohler <wohler@newt.com>
parents:
69575
diff
changeset
|
227 (defvar sendmail-coding-system) ; XEmacs |
68465 | 228 |
229 ;;;###autoload | |
230 (defun mh-send-letter (&optional arg) | |
231 "Save draft and send message. | |
232 | |
233 When you are all through editing a message, you send it with this | |
234 command. You can give a prefix argument ARG to monitor the first stage | |
235 of the delivery\; this output can be found in a buffer called \"*MH-E | |
236 Mail Delivery*\". | |
237 | |
238 The hook `mh-before-send-letter-hook' is run at the beginning of | |
239 this command. For example, if you want to check your spelling in | |
240 your message before sending, add the function `ispell-message'. | |
241 | |
69272
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
242 Unless `mh-insert-auto-fields' had previously been called |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
243 manually, the function `mh-insert-auto-fields' is called to |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
244 insert fields based upon the recipients. If fields are added, you |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
245 are given a chance to see and to confirm these fields before the |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
246 message is actually sent. You can do away with this confirmation |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
247 by turning off the option `mh-auto-fields-prompt-flag'. |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
248 |
68465 | 249 In case the MH \"send\" program is installed under a different name, |
97190
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
250 use `mh-send-prog' to tell MH-E the name. |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
251 |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
252 The hook `mh-annotate-msg-hook' is run after annotating the |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
253 message and scan line." |
68465 | 254 (interactive "P") |
255 (run-hooks 'mh-before-send-letter-hook) | |
256 (if (and (mh-insert-auto-fields t) | |
257 mh-auto-fields-prompt-flag | |
258 (goto-char (point-min))) | |
259 (if (not (y-or-n-p "Auto fields inserted, send? ")) | |
260 (error "Send aborted"))) | |
261 (cond ((mh-mh-directive-present-p) | |
262 (mh-mh-to-mime)) | |
263 ((or (mh-mml-tag-present-p) (not (mh-ascii-buffer-p))) | |
264 (mh-mml-to-mime))) | |
265 (save-buffer) | |
266 (message "Sending...") | |
267 (let ((draft-buffer (current-buffer)) | |
268 (file-name buffer-file-name) | |
269 (config mh-previous-window-config) | |
270 (coding-system-for-write | |
271 (if (and (local-variable-p 'buffer-file-coding-system | |
272 (current-buffer)) ;XEmacs needs two args | |
273 ;; We're not sure why, but buffer-file-coding-system | |
274 ;; tends to get set to undecided-unix. | |
275 (not (memq buffer-file-coding-system | |
276 '(undecided undecided-unix undecided-dos)))) | |
277 buffer-file-coding-system | |
278 (or (and (boundp 'sendmail-coding-system) sendmail-coding-system) | |
104664
50fdf250e26b
* mh-e/mh-comp.el (mh-send-letter):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
101468
diff
changeset
|
279 (and (default-boundp 'buffer-file-coding-system) |
50fdf250e26b
* mh-e/mh-comp.el (mh-send-letter):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
101468
diff
changeset
|
280 (default-value 'buffer-file-coding-system)) |
68465 | 281 'iso-latin-1)))) |
71352
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
282 ;; Older versions of spost do not support -msgid and -mime. |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
283 (unless mh-send-uses-spost-flag |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
284 ;; Adding a Message-ID field looks good, makes it easier to search for |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
285 ;; message in your +outbox, and best of all doesn't break threading for |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
286 ;; the recipient if you reply to a message in your +outbox. |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
287 (setq mh-send-args (concat "-msgid " mh-send-args)) |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
288 ;; The default BCC encapsulation will make a MIME message unreadable. |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
289 ;; With nmh use the -mime arg to prevent this. |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
290 (if (and (mh-variant-p 'nmh) |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
291 (mh-goto-header-field "Bcc:") |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
292 (mh-goto-header-field "Content-Type:")) |
3b4c4b0d5eef
(mh-send-uses-spost): New variable.
Bill Wohler <wohler@newt.com>
parents:
70062
diff
changeset
|
293 (setq mh-send-args (concat "-mime " mh-send-args)))) |
68465 | 294 (cond (arg |
295 (pop-to-buffer mh-mail-delivery-buffer) | |
296 (erase-buffer) | |
92126
e4406f235887
(mh-send-letter): Call split-string on mh-send-args when sending
Bill Wohler <wohler@newt.com>
parents:
91945
diff
changeset
|
297 (mh-exec-cmd-output mh-send-prog t |
e4406f235887
(mh-send-letter): Call split-string on mh-send-args when sending
Bill Wohler <wohler@newt.com>
parents:
91945
diff
changeset
|
298 "-nodraftfolder" "-watch" "-nopush" |
e4406f235887
(mh-send-letter): Call split-string on mh-send-args when sending
Bill Wohler <wohler@newt.com>
parents:
91945
diff
changeset
|
299 (split-string mh-send-args) file-name) |
68465 | 300 (goto-char (point-max)) ; show the interesting part |
301 (recenter -1) | |
302 (set-buffer draft-buffer)) ; for annotation below | |
303 (t | |
92126
e4406f235887
(mh-send-letter): Call split-string on mh-send-args when sending
Bill Wohler <wohler@newt.com>
parents:
91945
diff
changeset
|
304 (mh-exec-cmd-daemon mh-send-prog nil |
e4406f235887
(mh-send-letter): Call split-string on mh-send-args when sending
Bill Wohler <wohler@newt.com>
parents:
91945
diff
changeset
|
305 "-nodraftfolder" "-noverbose" |
69520
67b5315387f4
(mh-send-letter): Use split-string to break up mh-send-args (closes SF
Bill Wohler <wohler@newt.com>
parents:
69272
diff
changeset
|
306 (split-string mh-send-args) file-name))) |
68465 | 307 (if mh-annotate-char |
308 (mh-annotate-msg mh-sent-from-msg | |
309 mh-sent-from-folder | |
310 mh-annotate-char | |
311 "-component" mh-annotate-field | |
312 "-text" (format "\"%s %s\"" | |
313 (mh-get-header-field "To:") | |
314 (mh-get-header-field "Cc:")))) | |
315 | |
316 (cond ((or (not arg) | |
317 (y-or-n-p "Kill draft buffer? ")) | |
318 (kill-buffer draft-buffer) | |
319 (if config | |
320 (set-window-configuration config)))) | |
321 (if arg | |
322 (message "Sending...done") | |
323 (message "Sending...backgrounded")))) | |
324 | |
325 ;;;###autoload | |
326 (defun mh-fully-kill-draft () | |
327 "Quit editing and delete draft message. | |
328 | |
329 If for some reason you are not happy with the draft, you can use | |
330 this command to kill the draft buffer and delete the draft | |
331 message. Use the command \\[kill-buffer] if you don't want to | |
332 delete the draft message." | |
333 (interactive) | |
334 (if (y-or-n-p "Kill draft message? ") | |
335 (let ((config mh-previous-window-config)) | |
336 (if (file-exists-p buffer-file-name) | |
337 (delete-file buffer-file-name)) | |
338 (set-buffer-modified-p nil) | |
339 (kill-buffer (buffer-name)) | |
340 (message "") | |
341 (if config | |
342 (set-window-configuration config))) | |
343 (error "Message not killed"))) | |
344 | |
345 | |
346 | |
347 ;;; MH-Folder Commands | |
348 | |
349 ;; Alphabetical. | |
350 | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
351 ;;;###mh-autoload |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
352 (defun mh-edit-again (message) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
353 "Edit a MESSAGE to send it again. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
354 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
355 If you don't complete a draft for one reason or another, and if |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
356 the draft buffer is no longer available, you can pick your draft |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
357 up again with this command. If you don't use a draft folder, your |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
358 last \"draft\" file will be used. If you use draft folders, |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
359 you'll need to visit the draft folder with \"\\[mh-visit-folder] |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
360 drafts <RET>\", use \\[mh-next-undeleted-msg] to move to the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
361 appropriate message, and then use \\[mh-edit-again] to prepare |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
362 the message for editing. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
363 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
364 This command can also be used to take messages that were sent to |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
365 you and to send them to more people. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
366 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
367 Don't use this command to re-edit a message from a Mailer-Daemon |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
368 who complained that your mail wasn't posted for some reason or |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
369 another (see `mh-extract-rejected-mail'). |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
370 |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
371 The default message is the current message. |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
372 |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
373 See also `mh-send'." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
374 (interactive (list (mh-get-msg-num t))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
375 (let* ((from-folder mh-current-folder) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
376 (config (current-window-configuration)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
377 (draft |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
378 (cond ((and mh-draft-folder (equal from-folder mh-draft-folder)) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
379 (pop-to-buffer (find-file-noselect (mh-msg-filename message)) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
380 t) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
381 (rename-buffer (format "draft-%d" message)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
382 ;; Make buffer writable... |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
383 (setq buffer-read-only nil) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
384 ;; If buffer was being used to display the message reinsert |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
385 ;; from file... |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
386 (when (eq major-mode 'mh-show-mode) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
387 (erase-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
388 (insert-file-contents buffer-file-name)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
389 (buffer-name)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
390 (t |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
391 (mh-read-draft "clean-up" (mh-msg-filename message) nil))))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
392 (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
393 (mh-insert-header-separator) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
394 (goto-char (point-min)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
395 (save-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
396 (mh-compose-and-send-mail draft "" from-folder nil nil nil nil nil nil |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
397 config) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
398 (mh-letter-mode-message) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
399 (mh-letter-adjust-point))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
400 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
401 ;;;###mh-autoload |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
402 (defun mh-extract-rejected-mail (message) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
403 "Edit a MESSAGE that was returned by the mail system. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
404 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
405 This command prepares the message for editing by removing the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
406 Mailer-Daemon envelope and unneeded header fields. Fix whatever |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
407 addressing problem you had, and send the message again with |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
408 \\[mh-send-letter]. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
409 |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
410 The default message is the current message. |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
411 |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
412 See also `mh-send'." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
413 (interactive (list (mh-get-msg-num t))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
414 (let ((from-folder mh-current-folder) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
415 (config (current-window-configuration)) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
416 (draft (mh-read-draft "extraction" (mh-msg-filename message) nil))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
417 (goto-char (point-min)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
418 (cond ((re-search-forward mh-rejected-letter-start nil t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
419 (skip-chars-forward " \t\n") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
420 (delete-region (point-min) (point)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
421 (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
422 (t |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
423 (message "Does not appear to be a rejected letter"))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
424 (mh-insert-header-separator) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
425 (goto-char (point-min)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
426 (save-buffer) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
427 (mh-compose-and-send-mail draft "" from-folder message |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
428 (mh-get-header-field "To:") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
429 (mh-get-header-field "From:") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
430 (mh-get-header-field "Cc:") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
431 nil nil config) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
432 (mh-letter-mode-message))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
433 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
434 ;;;###mh-autoload |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
435 (defun mh-forward (to cc &optional range) |
67313
2ae99b10dd40
* mh-comp.el (mh-forward): Went over all uses of the word "RANGE" in
Bill Wohler <wohler@newt.com>
parents:
67246
diff
changeset
|
436 "Forward message. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
437 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
438 You are prompted for the TO and CC recipients. You are given a |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
439 draft to edit that looks like it would if you had run the MH |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
440 command \"forw\". You can then add some text. |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
441 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
442 You can forward several messages by using a RANGE. All of the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
443 messages in the range are inserted into your draft. Check the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
444 documentation of `mh-interactive-range' to see how RANGE is read |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
445 in interactive use. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
446 |
67756
7ff92ad99326
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
447 The hook `mh-forward-hook' is called on the draft. |
7ff92ad99326
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
448 |
7ff92ad99326
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
449 See also `mh-compose-forward-as-mime-flag', |
7ff92ad99326
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
450 `mh-forward-subject-format', and `mh-send'." |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
451 (interactive (list (mh-interactive-read-address "To: ") |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
452 (mh-interactive-read-address "Cc: ") |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
453 (mh-interactive-range "Forward"))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
454 (let* ((folder mh-current-folder) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
455 (msgs (mh-range-to-msg-list range)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
456 (config (current-window-configuration)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
457 (fwd-msg-file (mh-msg-filename (car msgs) folder)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
458 ;; forw always leaves file in "draft" since it doesn't have -draft |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
459 (draft-name (expand-file-name "draft" mh-user-path)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
460 (draft (cond ((or (not (file-exists-p draft-name)) |
68133
fc48ac700159
(mh-forward): Cosmetics on prompt when draft exists.
Bill Wohler <wohler@newt.com>
parents:
68130
diff
changeset
|
461 (y-or-n-p "The file draft exists; discard it? ")) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
462 (mh-exec-cmd "forw" "-build" |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
463 (if (and (mh-variant-p 'nmh) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
464 mh-compose-forward-as-mime-flag) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
465 "-mime") |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
466 mh-current-folder |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
467 (mh-coalesce-msg-list msgs)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
468 (prog1 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
469 (mh-read-draft "" draft-name t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
470 (mh-insert-fields "To:" to "Cc:" cc) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
471 (save-buffer))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
472 (t |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
473 (mh-read-draft "" draft-name nil))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
474 (let (orig-from |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
475 orig-subject) |
105867
00c0adbb54a9
* mh-thread.el (mh-thread-set-tables):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104664
diff
changeset
|
476 (with-current-buffer (get-buffer-create mh-temp-buffer) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
477 (erase-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
478 (insert-file-contents fwd-msg-file) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
479 (setq orig-from (mh-get-header-field "From:")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
480 (setq orig-subject (mh-get-header-field "Subject:"))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
481 (let ((forw-subject |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
482 (mh-forwarded-letter-subject orig-from orig-subject))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
483 (mh-insert-fields "Subject:" forw-subject) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
484 (goto-char (point-min)) |
66354
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
485 ;; If using MML, translate MH-style directive |
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
486 (if (equal mh-compose-insertion 'mml) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
487 (save-excursion |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
488 (goto-char (mh-mail-header-end)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
489 (while |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
490 (re-search-forward |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
491 "^#forw \\[\\([^]]+\\)\\] \\(+\\S-+\\) \\(.*\\)$" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
492 (point-max) t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
493 (let ((description (if (equal (match-string 1) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
494 "forwarded messages") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
495 "forwarded message %d" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
496 (match-string 1))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
497 (msgs (split-string (match-string 3))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
498 (i 0)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
499 (beginning-of-line) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
500 (delete-region (point) (progn (forward-line 1) (point))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
501 (dolist (msg msgs) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
502 (setq i (1+ i)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
503 (mh-mml-forward-message (format description i) |
82478
6cd0b704b471
(mh-forward): Address SF 1730393. When forwarding
Jeffrey C Honig <jch@bsdi.com>
parents:
78231
diff
changeset
|
504 folder msg) |
6cd0b704b471
(mh-forward): Address SF 1730393. When forwarding
Jeffrey C Honig <jch@bsdi.com>
parents:
78231
diff
changeset
|
505 ;; Was inserted before us, move to end of file to preserve order |
6cd0b704b471
(mh-forward): Address SF 1730393. When forwarding
Jeffrey C Honig <jch@bsdi.com>
parents:
78231
diff
changeset
|
506 (goto-char (point-max))))))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
507 ;; Postition just before forwarded message |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
508 (if (re-search-forward "^------- Forwarded Message" nil t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
509 (forward-line -1) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
510 (goto-char (mh-mail-header-end)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
511 (forward-line 1)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
512 (delete-other-windows) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
513 (mh-add-msgs-to-seq msgs 'forwarded t) |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
514 (mh-compose-and-send-mail draft "" folder msgs |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
515 to forw-subject cc |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
516 mh-note-forw "Forwarded:" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
517 config) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
518 (mh-letter-mode-message) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
519 (mh-letter-adjust-point) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
520 (run-hooks 'mh-forward-hook))))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
521 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
522 (defun mh-forwarded-letter-subject (from subject) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
523 "Return a Subject suitable for a forwarded message. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
524 Original message has headers FROM and SUBJECT." |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
525 (let ((addr-start (string-match "<" from)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
526 (comment (string-match "(" from))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
527 (cond ((and addr-start (> addr-start 0)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
528 ;; Full Name <luser@host> |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
529 (setq from (substring from 0 (1- addr-start)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
530 (comment |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
531 ;; luser@host (Full Name) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
532 (setq from (substring from (1+ comment) (1- (length from))))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
533 (format mh-forward-subject-format from subject)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
534 |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
535 ;;;###mh-autoload |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
536 (defun mh-redistribute (to cc &optional message) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
537 "Redistribute a message. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
538 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
539 This command is similar in function to forwarding mail, but it |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
540 does not allow you to edit the message, nor does it add your name |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
541 to the \"From\" header field. It appears to the recipient as if |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
542 the message had come from the original sender. When you run this |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
543 command, you are prompted for the TO and CC recipients. The |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
544 default MESSAGE is the current message. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
545 |
67988
7882fc7df359
* mh-alias.el (mh-alias-grab-from-field): Remove leading * from
Bill Wohler <wohler@newt.com>
parents:
67886
diff
changeset
|
546 Also investigate the command \\[mh-edit-again] for another way to |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
547 redistribute messages. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
548 |
97190
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
549 See also `mh-redist-full-contents-flag'. |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
550 |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
551 The hook `mh-annotate-msg-hook' is run after annotating the |
2d8df19f85d3
(mh-send-letter, mh-redistribute): Mention mh-annotate-msg-hook in
Bill Wohler <wohler@newt.com>
parents:
95690
diff
changeset
|
552 message and scan line." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
553 (interactive (list (mh-read-address "Redist-To: ") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
554 (mh-read-address "Redist-Cc: ") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
555 (mh-get-msg-num t))) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
556 (or message |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
557 (setq message (mh-get-msg-num t))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
558 (save-window-excursion |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
559 (let ((folder mh-current-folder) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
560 (draft (mh-read-draft "redistribution" |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
561 (if mh-redist-full-contents-flag |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
562 (mh-msg-filename message) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
563 nil) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
564 nil))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
565 (mh-goto-header-end 0) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
566 (insert "Resent-To: " to "\n") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
567 (if (not (equal cc "")) (insert "Resent-cc: " cc "\n")) |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
568 (mh-clean-msg-header |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
569 (point-min) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
570 "^Message-Id:\\|^Received:\\|^Return-Path:\\|^Sender:\\|^Date:\\|^From:" |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
571 nil) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
572 (save-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
573 (message "Redistributing...") |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
574 (let ((env "mhdist=1")) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
575 ;; Setup environment... |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
576 (setq env (concat env " mhaltmsg=" |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
577 (if mh-redist-full-contents-flag |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
578 buffer-file-name |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
579 (mh-msg-filename message folder)))) |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
580 (unless mh-redist-full-contents-flag |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
581 (setq env (concat env " mhannotate=1"))) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
582 ;; Redistribute... |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
583 (if mh-redist-background |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
584 (mh-exec-cmd-env-daemon env mh-send-prog nil buffer-file-name) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
585 (mh-exec-cmd-error env mh-send-prog "-push" buffer-file-name)) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
586 ;; Annotate... |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
587 (mh-annotate-msg message folder mh-note-dist |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
588 "-component" "Resent:" |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
589 "-text" (format "\"%s %s\"" to cc))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
590 (kill-buffer draft) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
591 (message "Redistributing...done")))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
592 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
593 ;;;###mh-autoload |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
594 (defun mh-reply (message &optional reply-to includep) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
595 "Reply to a MESSAGE. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
596 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
597 When you reply to a message, you are first prompted with \"Reply |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
598 to whom?\" (unless the optional argument REPLY-TO is provided). |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
599 You have several choices here. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
600 |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
601 Response Reply Goes To |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
602 |
69575
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
603 from The person who sent the message. This is the |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
604 default, so <RET> is sufficient. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
605 |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
606 to Replies to the sender, plus all recipients in the |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
607 \"To:\" header field. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
608 |
69575
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
609 all cc Forms a reply to the addresses in the |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
610 \"Mail-Followup-To:\" header field if one |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
611 exists; otherwise forms a reply to the sender, |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
612 plus all recipients. |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
613 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
614 Depending on your answer, \"repl\" is given a different argument |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
615 to form your reply. Specifically, a choice of \"from\" or none at |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
616 all runs \"repl -nocc all\", and a choice of \"to\" runs \"repl |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
617 -cc to\". Finally, either \"cc\" or \"all\" runs \"repl -cc all |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
618 -nocc me\". |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
619 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
620 Two windows are then created. One window contains the message to |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
621 which you are replying in an MH-Show buffer. Your draft, in |
69575
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
622 MH-Letter mode (*note `mh-letter-mode'), is in the other window. |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
623 If the reply draft was not one that you expected, check the |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
624 things that affect the behavior of \"repl\" which include the |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
625 \"repl:\" profile component and the \"replcomps\" and |
87709ba6191e
(mh-reply): Sync docstring with manual.
Bill Wohler <wohler@newt.com>
parents:
69520
diff
changeset
|
626 \"replgroupcomps\" files. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
627 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
628 If you supply a prefix argument INCLUDEP, the message you are |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
629 replying to is inserted in your reply after having first been run |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
630 through \"mhl\" with the format file \"mhl.reply\". |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
631 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
632 Alternatively, you can customize the option `mh-yank-behavior' |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
633 and choose one of its \"Automatically\" variants to do the same |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
634 thing. If you do so, the prefix argument has no effect. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
635 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
636 Another way to include the message automatically in your draft is |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
637 to use \"repl: -filter repl.filter\" in your MH profile. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
638 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
639 If you wish to customize the header or other parts of the reply |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
640 draft, please see \"repl\" and \"mh-format\". |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
641 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
642 See also `mh-reply-show-message-flag', |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
643 `mh-reply-default-reply-to', and `mh-send'." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
644 (interactive (list |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
645 (mh-get-msg-num t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
646 (let ((minibuffer-help-form |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
647 "from => Sender only\nto => Sender and primary recipients\ncc or all => Sender and all recipients")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
648 (or mh-reply-default-reply-to |
68012
256cc87e0619
* mh-comp.el (mh-reply): Use standard default notation in prompts
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
649 (completing-read "Reply to whom (default from): " |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
650 '(("from") ("to") ("cc") ("all")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
651 nil |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
652 t))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
653 current-prefix-arg)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
654 (let* ((folder mh-current-folder) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
655 (show-buffer mh-show-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
656 (config (current-window-configuration)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
657 (group-reply (or (equal reply-to "cc") (equal reply-to "all"))) |
97407
663a752ef575
Rename variant mu-mh to gnu-mh and be explicit about GNU mailutils MH
Bill Wohler <wohler@newt.com>
parents:
97190
diff
changeset
|
658 (form-file (cond ((and (mh-variant-p 'nmh 'gnu-mh) group-reply |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
659 (stringp mh-repl-group-formfile)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
660 mh-repl-group-formfile) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
661 ((stringp mh-repl-formfile) mh-repl-formfile) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
662 (t nil)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
663 (message "Composing a reply...") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
664 (mh-exec-cmd "repl" "-build" "-noquery" "-nodraftfolder" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
665 (if form-file |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
666 (list "-form" form-file)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
667 mh-current-folder message |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
668 (cond ((or (equal reply-to "from") (equal reply-to "")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
669 '("-nocc" "all")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
670 ((equal reply-to "to") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
671 '("-cc" "to")) |
97407
663a752ef575
Rename variant mu-mh to gnu-mh and be explicit about GNU mailutils MH
Bill Wohler <wohler@newt.com>
parents:
97190
diff
changeset
|
672 (group-reply (if (mh-variant-p 'nmh 'gnu-mh) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
673 '("-group" "-nocc" "me") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
674 '("-cc" "all" "-nocc" "me")))) |
66354
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
675 (cond ((or (eq mh-yank-behavior 'autosupercite) |
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
676 (eq mh-yank-behavior 'autoattrib)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
677 '("-noformat")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
678 (includep '("-filter" "mhl.reply")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
679 (t '()))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
680 (let ((draft (mh-read-draft "reply" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
681 (expand-file-name "reply" mh-user-path) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
682 t))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
683 (delete-other-windows) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
684 (save-buffer) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49578
diff
changeset
|
685 |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
686 (let ((to (mh-get-header-field "To:")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
687 (subject (mh-get-header-field "Subject:")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
688 (cc (mh-get-header-field "Cc:"))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
689 (goto-char (point-min)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
690 (mh-goto-header-end 1) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
691 (or includep |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
692 (not mh-reply-show-message-flag) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
693 (mh-in-show-buffer (show-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
694 (mh-display-msg message folder))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
695 (mh-add-msgs-to-seq message 'answered t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
696 (message "Composing a reply...done") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
697 (mh-compose-and-send-mail draft "" folder message to subject cc |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
698 mh-note-repl "Replied:" config)) |
66354
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
699 (when (and (or (eq 'autosupercite mh-yank-behavior) |
cf99ce27df54
* mh-comp.el (mh-letter-menu): Rename
Bill Wohler <wohler@newt.com>
parents:
66138
diff
changeset
|
700 (eq 'autoattrib mh-yank-behavior)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
701 (eq (mh-show-buffer-message-number) mh-sent-from-msg)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
702 (undo-boundary) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
703 (mh-yank-cur-msg)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
704 (mh-letter-mode-message)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
705 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
706 ;;;###mh-autoload |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
707 (defun mh-send (to cc subject) |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
708 "Compose a message. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
709 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
710 Your letter appears in an Emacs buffer whose mode is |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
711 MH-Letter (see `mh-letter-mode'). |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
712 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
713 The arguments TO, CC, and SUBJECT can be used to prefill the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
714 draft fields or suppress the prompts if `mh-compose-prompt-flag' |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
715 is on. They are also passed to the function set in the option |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
716 `mh-compose-letter-function'. |
66626
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
717 |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
718 See also `mh-insert-x-mailer-flag' and `mh-letter-mode-hook'. |
8d60d23ffa33
* mh-comp.el (mh-redist-full-contents) Convert defvar to defcustom.
Bill Wohler <wohler@newt.com>
parents:
66518
diff
changeset
|
719 |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
720 Outside of an MH-Folder buffer (`mh-folder-mode'), you must call |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
721 either \\[mh-smail] or \\[mh-smail-other-window] to compose a new |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
722 message." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
723 (interactive (list |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
724 (mh-interactive-read-address "To: ") |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
725 (mh-interactive-read-address "Cc: ") |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
726 (mh-interactive-read-string "Subject: "))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
727 (let ((config (current-window-configuration))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
728 (delete-other-windows) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
729 (mh-send-sub to cc subject config))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
730 |
68465 | 731 |
732 | |
733 ;;; Support Routines | |
734 | |
735 (defun mh-interactive-read-address (prompt) | |
736 "Read an address. | |
737 If `mh-compose-prompt-flag' is non-nil, then read an address with | |
738 PROMPT. | |
739 Otherwise return the empty string." | |
740 (if mh-compose-prompt-flag (mh-read-address prompt) "")) | |
741 | |
742 (defun mh-interactive-read-string (prompt) | |
743 "Read a string. | |
744 If `mh-compose-prompt-flag' is non-nil, then read a string with | |
745 PROMPT. | |
746 Otherwise return the empty string." | |
747 (if mh-compose-prompt-flag (read-string prompt) "")) | |
748 | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
749 ;;;###mh-autoload |
68465 | 750 (defun mh-show-buffer-message-number (&optional buffer) |
751 "Message number of displayed message in corresponding show buffer. | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
752 |
68465 | 753 Return nil if show buffer not displayed. |
754 If in `mh-letter-mode', don't display the message number being replied | |
755 to, but rather the message number of the show buffer associated with | |
756 our originating folder buffer. | |
757 Optional argument BUFFER can be used to specify the buffer." | |
758 (save-excursion | |
759 (if buffer | |
760 (set-buffer buffer)) | |
761 (cond ((eq major-mode 'mh-show-mode) | |
762 (let ((number-start (mh-search-from-end ?/ buffer-file-name))) | |
763 (string-to-number (substring buffer-file-name | |
764 (1+ number-start))))) | |
765 ((and (eq major-mode 'mh-folder-mode) | |
766 mh-show-buffer | |
767 (get-buffer mh-show-buffer)) | |
768 (mh-show-buffer-message-number mh-show-buffer)) | |
769 ((and (eq major-mode 'mh-letter-mode) | |
770 mh-sent-from-folder | |
771 (get-buffer mh-sent-from-folder)) | |
772 (mh-show-buffer-message-number mh-sent-from-folder)) | |
773 (t | |
774 nil)))) | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
775 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
776 (defun mh-send-sub (to cc subject config) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
777 "Do the real work of composing and sending a letter. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
778 Expects the TO, CC, and SUBJECT fields as arguments. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
779 CONFIG is the window configuration before sending mail." |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
780 (let ((folder mh-current-folder) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
781 (msg-num (mh-get-msg-num nil))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
782 (message "Composing a message...") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
783 (let ((draft (mh-read-draft |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
784 "message" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
785 (let (components) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
786 (cond |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
787 ((file-exists-p |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
788 (setq components |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
789 (expand-file-name mh-comp-formfile mh-user-path))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
790 components) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
791 ((file-exists-p |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
792 (setq components |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
793 (expand-file-name mh-comp-formfile mh-lib))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
794 components) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
795 (t |
68528
bd5e46db392c
(mh-send-sub): Don't find components file in current directory--this
Bill Wohler <wohler@newt.com>
parents:
68483
diff
changeset
|
796 (error "Can't find %s in %s or %s" |
bd5e46db392c
(mh-send-sub): Don't find components file in current directory--this
Bill Wohler <wohler@newt.com>
parents:
68483
diff
changeset
|
797 mh-comp-formfile mh-user-path mh-lib)))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
798 nil))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
799 (mh-insert-fields "To:" to "Subject:" subject "Cc:" cc) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
800 (goto-char (point-max)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
801 (mh-compose-and-send-mail draft "" folder msg-num |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
802 to subject cc |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
803 nil nil config) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
804 (mh-letter-mode-message) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
805 (mh-letter-adjust-point)))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
806 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
807 (defun mh-read-draft (use initial-contents delete-contents-file) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
808 "Read draft file into a draft buffer and make that buffer the current one. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
809 |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
810 USE is a message used for prompting about the intended use of the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
811 message. |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
812 INITIAL-CONTENTS is filename that is read into an empty buffer, or nil |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
813 if buffer should not be modified. Delete the initial-contents file if |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
814 DELETE-CONTENTS-FILE flag is set. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
815 Returns the draft folder's name. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
816 If the draft folder facility is enabled in ~/.mh_profile, a new buffer |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
817 is used each time and saved in the draft folder. The draft file can |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
818 then be reused." |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
819 (cond (mh-draft-folder |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
820 (let ((orig-default-dir default-directory) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
821 (draft-file-name (mh-new-draft-name))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
822 (pop-to-buffer (generate-new-buffer |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
823 (format "draft-%s" |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
824 (file-name-nondirectory draft-file-name)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
825 (condition-case () |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
826 (insert-file-contents draft-file-name t) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
827 (file-error)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
828 (setq default-directory orig-default-dir))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
829 (t |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
830 (let ((draft-name (expand-file-name "draft" mh-user-path))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
831 (pop-to-buffer "draft") ; Create if necessary |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
832 (if (buffer-modified-p) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
833 (if (y-or-n-p "Draft has been modified; kill anyway? ") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
834 (set-buffer-modified-p nil) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
835 (error "Draft preserved"))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
836 (setq buffer-file-name draft-name) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
837 (clear-visited-file-modtime) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
838 (unlock-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
839 (cond ((and (file-exists-p draft-name) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
840 (not (equal draft-name initial-contents))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
841 (insert-file-contents draft-name) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
842 (delete-file draft-name)))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
843 (cond ((and initial-contents |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
844 (or (zerop (buffer-size)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
845 (if (y-or-n-p |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
846 (format "A draft exists. Use for %s? " use)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
847 (if mh-error-if-no-draft |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
848 (error "A prior draft exists")) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
849 t))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
850 (erase-buffer) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
851 (insert-file-contents initial-contents) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
852 (if delete-contents-file (delete-file initial-contents)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
853 (auto-save-mode 1) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
854 (if mh-draft-folder |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
855 (save-buffer)) ; Do not reuse draft name |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
856 (buffer-name)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
857 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
858 (defun mh-new-draft-name () |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
859 "Return the pathname of folder for draft messages." |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
860 (save-excursion |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
861 (mh-exec-cmd-quiet t "mhpath" mh-draft-folder "new") |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
862 (buffer-substring (point-min) (1- (point-max))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
863 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
864 (defun mh-insert-fields (&rest name-values) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
865 "Insert the NAME-VALUES pairs in the current buffer. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
866 If the field exists, append the value to it. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
867 Do not insert any pairs whose value is the empty string." |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
868 (let ((case-fold-search t)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
869 (while name-values |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
870 (let ((field-name (car name-values)) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
871 (value (car (cdr name-values)))) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
872 (if (not (string-match "^.*:$" field-name)) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
873 (setq field-name (concat field-name ":"))) |
68476
a58223a143bc
(mh-insert-fields): Handle nil values. Rmail, at least, will deliver
Bill Wohler <wohler@newt.com>
parents:
68465
diff
changeset
|
874 (cond ((or (null value) |
a58223a143bc
(mh-insert-fields): Handle nil values. Rmail, at least, will deliver
Bill Wohler <wohler@newt.com>
parents:
68465
diff
changeset
|
875 (equal value "")) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
876 nil) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
877 ((mh-position-on-field field-name) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
878 (insert " " (or value ""))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
879 (t |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
880 (insert field-name " " value "\n"))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
881 (setq name-values (cdr (cdr name-values))))))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
882 |
68465 | 883 (defun mh-compose-and-send-mail (draft send-args |
884 sent-from-folder sent-from-msg | |
885 to subject cc | |
886 annotate-char annotate-field | |
887 config) | |
888 "Edit and compose a draft message in buffer DRAFT and send or save it. | |
889 SEND-ARGS is the argument passed to the send command. | |
890 SENT-FROM-FOLDER is buffer containing scan listing of current folder, | |
891 or nil if none exists. | |
892 SENT-FROM-MSG is the message number or sequence name or nil. | |
893 The TO, SUBJECT, and CC fields are passed to the | |
894 `mh-compose-letter-function'. | |
895 If ANNOTATE-CHAR is non-null, it is used to notate the scan listing of | |
896 the message. In that case, the ANNOTATE-FIELD is used to build a | |
897 string for `mh-annotate-msg'. | |
898 CONFIG is the window configuration to restore after sending the | |
899 letter." | |
900 (pop-to-buffer draft) | |
901 (mh-letter-mode) | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
902 |
68465 | 903 ;; Insert identity. |
904 (mh-insert-identity mh-identity-default t) | |
905 (mh-identity-make-menu) | |
906 (mh-identity-add-menu) | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
907 |
108698
7be123ae7612
Decode RFC2047 encoded Subject lines for mail replies.
Peter S Galbraith <psg@debian.org>
parents:
106815
diff
changeset
|
908 ;; Cleanup possibly RFC2047 encoded subject header |
7be123ae7612
Decode RFC2047 encoded Subject lines for mail replies.
Peter S Galbraith <psg@debian.org>
parents:
106815
diff
changeset
|
909 (mh-decode-message-subject) |
7be123ae7612
Decode RFC2047 encoded Subject lines for mail replies.
Peter S Galbraith <psg@debian.org>
parents:
106815
diff
changeset
|
910 |
68465 | 911 ;; Insert extra fields. |
912 (mh-insert-x-mailer) | |
913 (mh-insert-x-face) | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
914 |
68465 | 915 (mh-letter-hide-all-skipped-fields) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
916 |
68465 | 917 (setq mh-sent-from-folder sent-from-folder) |
918 (setq mh-sent-from-msg sent-from-msg) | |
919 (setq mh-send-args send-args) | |
920 (setq mh-annotate-char annotate-char) | |
921 (setq mh-annotate-field annotate-field) | |
922 (setq mh-previous-window-config config) | |
923 (setq mode-line-buffer-identification (list " {%b}")) | |
924 (mh-logo-display) | |
925 (mh-make-local-hook 'kill-buffer-hook) | |
926 (add-hook 'kill-buffer-hook 'mh-tidy-draft-buffer nil t) | |
69520
67b5315387f4
(mh-send-letter): Use split-string to break up mh-send-args (closes SF
Bill Wohler <wohler@newt.com>
parents:
69272
diff
changeset
|
927 (run-hook-with-args 'mh-compose-letter-function to subject cc)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
928 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
929 (defun mh-insert-x-mailer () |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
930 "Append an X-Mailer field to the header. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
931 The versions of MH-E, Emacs, and MH are shown." |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
932 ;; Lazily initialize mh-x-mailer-string. |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
933 (when (and mh-insert-x-mailer-flag (null mh-x-mailer-string)) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
934 (setq mh-x-mailer-string |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
935 (format "MH-E %s; %s; %sEmacs %s" |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
936 mh-version mh-variant-in-use |
86202
794e428cd497
* eshell/esh-util.el (eshell-under-xemacs-p): Remove.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
82839
diff
changeset
|
937 (if (featurep 'xemacs) "X" "GNU ") |
794e428cd497
* eshell/esh-util.el (eshell-under-xemacs-p): Remove.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
82839
diff
changeset
|
938 (cond ((not (featurep 'xemacs)) |
70062
e4338fe2e331
(mh-insert-x-mailer): Strip build number from version in X-Mailer
Bill Wohler <wohler@newt.com>
parents:
70028
diff
changeset
|
939 (string-match "[0-9]+\\.[0-9]+\\(\\.[0-9]+\\)?" |
e4338fe2e331
(mh-insert-x-mailer): Strip build number from version in X-Mailer
Bill Wohler <wohler@newt.com>
parents:
70028
diff
changeset
|
940 emacs-version) |
e4338fe2e331
(mh-insert-x-mailer): Strip build number from version in X-Mailer
Bill Wohler <wohler@newt.com>
parents:
70028
diff
changeset
|
941 (match-string 0 emacs-version)) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
942 ((string-match "[0-9.]*\\( +\([ a-z]+[0-9]+\)\\)?" |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
943 emacs-version) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
944 (match-string 0 emacs-version)) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
945 (t (format "%s.%s" emacs-major-version |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
946 emacs-minor-version)))))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
947 ;; Insert X-Mailer, but only if it doesn't already exist. |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
948 (save-excursion |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
949 (when (and mh-insert-x-mailer-flag |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
950 (null (mh-goto-header-field "X-Mailer"))) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
951 (mh-insert-fields "X-Mailer:" mh-x-mailer-string)))) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
952 |
68465 | 953 (defun mh-insert-x-face () |
954 "Append X-Face, Face or X-Image-URL field to header. | |
955 If the field already exists, this function does nothing." | |
956 (when (and (file-exists-p mh-x-face-file) | |
957 (file-readable-p mh-x-face-file)) | |
958 (save-excursion | |
959 (unless (or (mh-position-on-field "X-Face") | |
960 (mh-position-on-field "Face") | |
961 (mh-position-on-field "X-Image-URL")) | |
962 (save-excursion | |
963 (goto-char (+ (point) (cadr (insert-file-contents mh-x-face-file)))) | |
964 (if (not (looking-at "^")) | |
965 (insert "\n"))) | |
966 (unless (looking-at "\\(X-Face\\|Face\\|X-Image-URL\\): ") | |
967 (insert "X-Face: ")))))) | |
968 | |
969 (defun mh-tidy-draft-buffer () | |
970 "Run when a draft buffer is destroyed." | |
971 (let ((buffer (get-buffer mh-recipients-buffer))) | |
972 (if buffer | |
973 (kill-buffer buffer)))) | |
974 | |
975 (defun mh-letter-mode-message () | |
976 "Display a help message for users of `mh-letter-mode'. | |
977 This should be the last function called when composing the draft." | |
978 (message "%s" (substitute-command-keys | |
979 (concat "Type \\[mh-send-letter] to send message, " | |
980 "\\[mh-help] for help")))) | |
981 | |
982 (defun mh-letter-adjust-point () | |
983 "Move cursor to first header field if are using the no prompt mode." | |
984 (unless mh-compose-prompt-flag | |
985 (goto-char (point-max)) | |
986 (mh-letter-next-header-field))) | |
987 | |
82839
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
988 (defun mh-annotate-msg (msg folder note &rest args) |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
989 "Mark MSG in FOLDER with character NOTE and annotate message with ARGS. |
91945
8f2ff5b7ee99
(mh-annotate-msg): Remove trailing whitespace.
Bill Wohler <wohler@newt.com>
parents:
87649
diff
changeset
|
990 MSG can be a message number, a list of message numbers, or a sequence. |
82839
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
991 The hook `mh-annotate-msg-hook' is run after annotating; see its |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
992 documentation for variables it can use." |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
993 (apply 'mh-exec-cmd "anno" folder |
68465 | 994 (if (listp msg) (append msg args) (cons msg args))) |
995 (save-excursion | |
82839
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
996 (cond ((get-buffer folder) ; Buffer may be deleted |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
997 (set-buffer folder) |
68465 | 998 (mh-iterate-on-range nil msg |
999 (mh-notate nil note | |
82839
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
1000 (+ mh-cmd-note mh-scan-field-destination-offset)))))) |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
1001 (let ((mh-current-folder folder) |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
1002 ;; mh-annotate-list is a sequence name or a list of message numbers |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
1003 (mh-annotate-list (if (numberp msg) (list msg) msg))) |
af7dc7457402
add mh-annotate-msg-hook
Stephen Gildea <gildea@stop.mail-abuse.org>
parents:
82478
diff
changeset
|
1004 (run-hooks 'mh-annotate-msg-hook))) |
68465 | 1005 |
1006 (defun mh-insert-header-separator () | |
1007 "Insert `mh-mail-header-separator', if absent." | |
1008 (save-excursion | |
1009 (goto-char (point-min)) | |
1010 (rfc822-goto-eoh) | |
1011 (if (looking-at "$") | |
1012 (insert mh-mail-header-separator)))) | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1013 |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1014 ;;;###mh-autoload |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1015 (defun mh-insert-auto-fields (&optional non-interactive) |
66476
ea959f21cde8
(mh-insert-signature, mh-insert-auto-fields): Checkdoc fixes.
Bill Wohler <wohler@newt.com>
parents:
66356
diff
changeset
|
1016 "Insert custom fields if recipient is found in `mh-auto-fields-list'. |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1017 |
69272
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1018 Once the header contains one or more recipients, you may run this |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1019 command to insert these fields manually. However, if you use this |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1020 command, the automatic insertion when the message is sent is |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1021 disabled. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
1022 |
69272
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1023 In a program, set buffer-local `mh-insert-auto-fields-done-local' |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1024 if header fields were added. If NON-INTERACTIVE is non-nil, |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1025 perform actions quietly and only if |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1026 `mh-insert-auto-fields-done-local' is nil. Return t if fields |
cc66ebd3f3a4
(mh-send-letter, mh-insert-auto-fields): Sync docstrings with manual.
Bill Wohler <wohler@newt.com>
parents:
68529
diff
changeset
|
1027 added; otherwise return nil." |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1028 (interactive) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1029 (when (or (not non-interactive) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1030 (not mh-insert-auto-fields-done-local)) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1031 (save-excursion |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1032 (when (and (or (mh-goto-header-field "To:") |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1033 (mh-goto-header-field "cc:"))) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1034 (let ((list mh-auto-fields-list) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1035 (fields-inserted nil)) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1036 (while list |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1037 (let ((regexp (nth 0 (car list))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1038 (entries (nth 1 (car list)))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1039 (when (mh-regexp-in-field-p regexp "To:" "cc:") |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1040 (setq mh-insert-auto-fields-done-local t) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1041 (setq fields-inserted t) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1042 (if (not non-interactive) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1043 (message "Fields for %s added" regexp)) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1044 (let ((entry-list entries)) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1045 (while entry-list |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1046 (let ((field (caar entry-list)) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1047 (value (cdar entry-list))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1048 (cond |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1049 ((equal ":identity" field) |
68465 | 1050 (when |
1051 ;;(and (not mh-identity-local) | |
65980
4520ae2624f2
* mh-init.el (mh-image-load-path): New function that adds the path to
Bill Wohler <wohler@newt.com>
parents:
65681
diff
changeset
|
1052 ;; Bug 1204506. But do we need to be able |
68465 | 1053 ;; to set an identity manually that won't be |
1054 ;; overridden by mh-insert-auto-fields? | |
1055 (assoc value mh-identity-list) | |
1056 ;;) | |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1057 (mh-insert-identity value))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1058 (t |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1059 (mh-modify-header-field field value |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1060 (equal field "From"))))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1061 (setq entry-list (cdr entry-list)))))) |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1062 (setq list (cdr list))) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1063 fields-inserted))))) |
50702
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
1064 |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
1065 (defun mh-modify-header-field (field value &optional overwrite-flag) |
7dd3d5eae9c7
Upgraded to MH-E version 7.3.
Bill Wohler <wohler@newt.com>
parents:
49598
diff
changeset
|
1066 "To header FIELD add VALUE. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
1067 If OVERWRITE-FLAG is non-nil then the old value, if present, is |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
1068 discarded." |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1069 (cond ((and overwrite-flag |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1070 (mh-goto-header-field (concat field ":"))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1071 (insert " " value) |
68529
7daec5f4a289
* mh-alias.el (mh-alias-gecos-name): Use mh-replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68528
diff
changeset
|
1072 (delete-region (point) (mh-line-end-position))) |
56406
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1073 ((and (not overwrite-flag) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1074 (mh-regexp-in-field-p (concat "\\b" value "\\b") field)) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1075 ;; Already there, do nothing. |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1076 ) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1077 ((and (not overwrite-flag) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1078 (mh-goto-header-field (concat field ":"))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1079 (insert " " value ",")) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1080 (t |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1081 (mh-goto-header-end 0) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1082 (insert field ": " value "\n")))) |
d36b00b98db0
Upgraded to MH-E version 7.4.4.
Bill Wohler <wohler@newt.com>
parents:
52401
diff
changeset
|
1083 |
68465 | 1084 (defun mh-regexp-in-field-p (regexp &rest fields) |
1085 "Non-nil means REGEXP was found in FIELDS." | |
1086 (save-excursion | |
1087 (let ((search-result nil) | |
1088 (field)) | |
1089 (while fields | |
1090 (setq field (car fields)) | |
1091 (if (and (mh-goto-header-field field) | |
1092 (re-search-forward | |
1093 regexp (save-excursion (mh-header-field-end)(point)) t)) | |
1094 (setq fields nil | |
1095 search-result t) | |
1096 (setq fields (cdr fields)))) | |
1097 search-result))) | |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1098 |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1099 (defun mh-ascii-buffer-p () |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1100 "Check if current buffer is entirely composed of ASCII. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
1101 The function doesn't work for XEmacs since `find-charset-region' |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67756
diff
changeset
|
1102 doesn't exist there." |
56673
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1103 (loop for charset in (mh-funcall-if-exists |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1104 find-charset-region (point-min) (point-max)) |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1105 unless (eq charset 'ascii) return nil |
e9a6cbc8ca5e
Upgraded to MH-E version 7.4.80.
Bill Wohler <wohler@newt.com>
parents:
56406
diff
changeset
|
1106 finally return t)) |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1107 |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1108 (provide 'mh-comp) |
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1109 |
67681 | 1110 ;; Local Variables: |
1111 ;; indent-tabs-mode: nil | |
1112 ;; sentence-end-double-space: nil | |
1113 ;; End: | |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1114 |
67681 | 1115 ;; arch-tag: 62865511-e610-4923-b0b5-f45a8ab70a34 |
49459
06b77df47802
* mh-e: Created directory. ChangeLog will appear in a week when we
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1116 ;;; mh-comp.el ends here |