+2001-11-21 01:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-agent.el (gnus-category-insert-line): Convert category
+ names to strings.
+
+2001-11-20 21:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * message.el (sha1): eval-and-compile.
+
+2001-11-20 Simon Josefsson <jas@extundo.com>
+
+ * message.el (message-allow-no-recipients): New variable.
+ (message-send): Use it, customize the prompting when posting to
+ Gcc/Fcc alone. From prj@po.cwru.edu (Paul Jarc).
+
+2001-11-20 09:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * mm-util.el (mm-coding-system-priorities): New.
+ (mm-sort-coding-systems-predicate): New.
+ (mm-find-mime-charset-region): Resort coding systems if needed.
+ Suggested by Katsumi Yamaoka <yamaoka@jpl.org>.
+
+2001-11-20 Didier Verna <didier@xemacs.org>
+
+ * gnus-group.el (gnus-group-make-help-group): new optional
+ argument to control the error behavior.
+ * gnus-start.el (gnus-check-first-time-used): use it to avoid
+ erroring.
+
2001-11-19 Simon Josefsson <jas@extundo.com>
* message.el (message-mode-map): Use C-c C-f C-i for Importance:
2001-11-16 Simon Josefsson <jas@extundo.com>
- * message.el (message-insert-importance-high)
+ * message.el (message-insert-importance-high)
(message-insert-importance-low): Save point.
* mail-source.el (mail-source-fetch-imap): Fix BODY.PEEK return
* message.el (message-mode-map): Bind C-c C-p to
`message-insert-or-toggle-importance'
(message-mode-menu): Add message-insert-importance-{high,low}.
- (message-insert-importance-high, message-insert-importance-low)
+ (message-insert-importance-high, message-insert-importance-low)
(message-insert-or-toggle-importance): New functions.
(message-tool-bar-map): Add {un,}important.
(message-mode): Doc fix.
* nnfolder.el (nnfolder-save-marks): gnus-prin1 takes one argument.
* nnml.el (nnml-save-marks): Ditto.
-
+
* gnus-sum.el (gnus-newsgroup-variables): Fix doc.
2001-11-15 Simon Josefsson <jas@extundo.com>
`copy-sequence', not `copy-seq'.
2001-11-15 Per Abrahamsen <abraham@dina.kvl.dk>
-
+
* gnus-art.el (gnus-article-wash-status-strings): New constant.
(gnus-gnus-article-wash-status-entry): New function.
(gnus-article-wash-status): Use it.
* mail-source.el (mail-source-fetch-imap): ASYNC param.
From: <andre@slamdunknetworks.com>
-
+
2001-11-06 10:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* many files: Fix copyright lines.
(imap-parse-response): Call the callback.
* message.el (message-insert-canlock): New variable.
- (message-canlock-generate, message-canlock-password)
+ (message-canlock-generate, message-canlock-password)
(message-insert-canlock): New functions.
(message-send-news): Call `message-insert-canlock'.
(top-level): Require canlock when compiling.
* mail-source.el (mail-source-fetch): If debug, don't regain signals.
(mail-source-fetch-pop): Ditto.
(mail-source-check-pop): Ditto.
-
+
* gnus-start.el (gnus-read-init-file): Ditto.
(gnus-activate-group): Ditto.
(gnus-read-newsrc-el-file): Ditto.
(mm-find-mime-charset-region): Re-write.
(mm-with-unibyte-current-buffer): Restore buffer as well as
multibyteness.
-
+
2001-10-30 21:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* canlock.el, sha1-el.el, hex-util.el: Move from contrib
directory. Thanks to Katsumi Yamaoka <yamaoka@jpl.org> and Shuhei
KOBAYASHI <shuhei@aqua.ocn.ne.jp>.
-
+
2001-10-30 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-art.el (article-display-x-face): Nix buffer-read-only
(nntp-async-trigger): Ditto.
(nntp-request-post): Insert a server's ID if there's no Message-ID
header; run `nntp-prepare-post-hook'.
-
+
2001-10-30 04:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-art.el (article-decode-group-name): Use nnmail-fetch-field
(nnimap-strict-function, nnimap-strict-function-match): New
widget, from Per Abrahamsen <abraham@dina.kvl.dk>.
(nnimap-split-crosspost, nnimap-split-inbox)
- (nnimap-split-rule, nnimap-split-predicate)
+ (nnimap-split-rule, nnimap-split-predicate)
(nnimap-split-predicate): Defcustom.
- (nnimap-split-inbox, nnimap-expunge-search-string)
+ (nnimap-split-inbox, nnimap-expunge-search-string)
(nnimap-importantize-dormant): Remove "*" from doc.
2001-10-20 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
2001-10-20 Per Abrahamsen <abraham@dina.kvl.dk>
* message.el (message-do-auto-fill): Avoid calling
- 'rfc822-goto-eoh'.
+ 'rfc822-goto-eoh'.
2001-10-20 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
From Paul Jarc <prj@po.cwru.edu>.
-
+
* message.el (message-get-reply-headers): Restructure the logic
and add comments. From Paul Jarc <prj@po.cwru.edu>.
2001-10-19 Per Abrahamsen <abraham@dina.kvl.dk>
* message.el (message-do-auto-fill): New version that does not
- rely on text properties, by Simon Josefsson <jas@extundo.com>.
+ rely on text properties, by Simon Josefsson <jas@extundo.com>.
(message-setup-1): Removed the `message-field' property.
* gnus-draft.el (gnus-draft-edit-message): Removed the
2001-10-17 17:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-sum.el (gnus-summary-line-format-alist): user-date entry.
- * gnus-util.el (gnus-user-date): New function.
+ * gnus-util.el (gnus-user-date): New function.
From Frank Schmitt <usenet@Frank-Schmitt.net>.
-
+
2001-10-17 Per Abrahamsen <abraham@dina.kvl.dk>
* message.el (message-check-news-header-syntax): Special case
* gnus-spec.el (gnus-parse-simple-format): Support extended spec
%&foo;.
- (gnus-parse-simple-format): Support user extended spec too.
+ (gnus-parse-simple-format): Support user extended spec too.
%u&foo; invokes gnus-user-format-function-foo.
2001-10-17 11:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
2001-10-12 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
Suggested by Oliver Scholz <epameinondas@gmx.de>.
-
+
* message.el (message-do-auto-fill): New function. Like
`do-auto-fill' but don't fill when in the message header.
(message-setup-1): Put a text property on the message header.
* message.el (message-send-news): Don't modify the value of
`message-syntax-checks' if it is not a list (possibly it is
`dont-check-for-anything-just-trust-me').
-
+
2001-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-group.el (gnus-group-name-charset-group-alist): Use
`gnus-group-name-charset-group-alist is' ".*". [Yuck]
* gnus-util.el (gnus-decode-newsgroups): No space in newsgroup
- header.
+ header.
* gnus-art.el (article-decode-group-name): Also decode
- "Followup-To".
+ "Followup-To".
* rfc2047.el (rfc2047-encode-message-header): Encode without
asking for null methods.
* gnus-group.el (gnus-group-name-charset-method-alist,
gnus-group-name-charset-group-alist): Removed "*" from doc
strings, "*" should not be used for complex variables.
-
+
2001-10-06 Simon Josefsson <jas@extundo.com>
Support UTF-8 group names better.
-
+
* message.el (message-check-news-header-syntax): Encode group
names before comparison.
2001-10-06 Per Abrahamsen <abraham@dina.kvl.dk>
* gnus-srvr.el (gnus-browse-foreign-server): Fixed bug non-nil
- `gnus-group-name-charset-group-alist'.
+ `gnus-group-name-charset-group-alist'.
2001-10-06 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
nndraft:delayed does not exist.
(gnus-delay-initialize): Don't set up keymap, that's done from
message.el now.
- (gnus-delay, gnus-delay-group, gnus-delay-header)
+ (gnus-delay, gnus-delay-group, gnus-delay-header)
(gnus-delay-default-delay, gnus-delay-default-hour): Customize.
2001-09-29 Simon Josefsson <jas@extundo.com>
* mm-util.el (mm-mime-mule-charset-alist): Encode mule-utf-8 as
utf-8, not eight-bit-control.
- * imap.el (imap-shell-host, imap-default-user, imap-use-utf7)
+ * imap.el (imap-shell-host, imap-default-user, imap-use-utf7)
(imap-log, imap-debug): Custom.
(imap-log-buffer, imap-debug-buffer): New constants.
- (imap-kerberos4-open, imap-gssapi-open, imap-ssl-open)
- (imap-network-open, imap-shell-open, imap-starttls-open)
- (imap-send-command-1, imap-send-command, imap-arrival-filter)
+ (imap-kerberos4-open, imap-gssapi-open, imap-ssl-open)
+ (imap-network-open, imap-shell-open, imap-starttls-open)
+ (imap-send-command-1, imap-send-command, imap-arrival-filter)
(imap-debug): Use imap-*-buffer.
* nndoc.el (nndoc-article-type): Add mailman.
(require 'mml))
(require 'rfc822)
-(autoload 'sha1 "sha1-el")
+(eval-and-compile
+ (autoload 'sha1 "sha1-el"))
(defgroup message '((user-mail-address custom-variable)
(user-full-name custom-variable))
:group 'message-interface
:type '(repeat regexp))
+(defcustom message-allow-no-recipients 'ask
+ "Specifies what to do when there are no recipients other than Gcc/Fcc.
+If it is the symbol `always', the posting is allowed. If it is the
+symbol `never', the posting is not allowed. If it is the symbol
+`ask', you are prompted."
+ :group 'message-interface
+ :type '(choice (const always)
+ (const never)
+ (const ask)))
+
(defcustom message-sendmail-f-is-evil nil
"*Non-nil means don't add \"-f username\" to the sendmail command line.
Doing so would be even more evil than leaving it out."
(message-mime-mode mime-edit-mode-flag)
(alist message-send-method-alist)
(success t)
- elem sent
+ elem sent dont-barf-on-no-method
(message-options message-options))
(message-options-set-recipient)
(save-excursion
(error "Denied posting -- multiple copies")))
(setq success (funcall (caddr elem) arg)))
(setq sent t)))))
- (unless (or sent (not success))
+ (unless
+ (or sent (not success)
+ (let ((fcc (message-fetch-field "Fcc"))
+ (gcc (message-fetch-field "Gcc")))
+ (when (or fcc gcc)
+ (or (eq message-allow-no-recipients 'always)
+ (and (not (eq message-allow-no-recipients 'never))
+ (setq dont-barf-on-no-method
+ (gnus-y-or-n-p
+ (format "No receiver, perform %s anyway? "
+ (cond ((and fcc gcc) "Fcc and Gcc")
+ (fcc "Fcc")
+ (t "Gcc"))))))))))
(error "No methods specified to send by"))
(prog1
- (when (and success sent)
+ (when (or dont-barf-on-no-method
+ (and success sent))
(message-do-fcc)
(save-excursion
(run-hooks 'message-sent-hook))
mm-iso-8859-15-compatible))
"A table of the difference character between ISO-8859-X and ISO-8859-15.")
+(defvar mm-coding-system-priorities nil
+ "Preferred coding systems for encoding outgoing mails.
+
+More than one suitable coding systems may be found for some texts. By
+default, a coding system with the highest priority is used to encode
+outgoing mails (see `sort-coding-systems'). If this variable is set,
+it overrides the default priority. For example, Japanese users may
+prefer iso-2022-jp to japanese-shift-jis:
+
+(setq mm-coding-system-priorities
+ '(iso-2022-jp iso-2022-jp-2 japanese-shift-jis utf-8))
+")
+
;;; Internal variables:
;;; Functions:
(defun mm-preferred-coding-system (charset)
;; A typo in some Emacs versions.
- (or (get-charset-property charset 'prefered-coding-system)
- (get-charset-property charset 'preferred-coding-system)))
+ (or (get-charset-property charset 'preferred-coding-system)
+ (get-charset-property charset 'prefered-coding-system)))
(defun mm-charset-after (&optional pos)
"Return charset of a character in current buffer at position POS.
(skip-chars-forward "\0-\177"))))
(not inconvertible))))
+(defun mm-sort-coding-systems-predicate (a b)
+ (> (length (memq a mm-coding-system-priorities))
+ (length (memq b mm-coding-system-priorities))))
+
(defun mm-find-mime-charset-region (b e &optional hack-charsets)
"Return the MIME charsets needed to encode the region between B and E.
Nil means ASCII, a single-element list represents an appropriate MIME
;; Find the mime-charset of the most preferred coding
;; system that has one.
(let ((systems (find-coding-systems-region b e)))
+ (when mm-coding-system-priorities
+ (setq systems
+ (sort systems 'mm-sort-coding-systems-predicate)))
;; Fixme: The `mime-charset' (`x-ctext') of `compound-text'
;; is not in the IANA list.
(setq systems (delq 'compound-text systems))