Commit 10ace8ea authored by Miles Bader's avatar Miles Bader
Browse files

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-220

Merge from gnus--rel--5.10

Patches applied:

 * gnus--rel--5.10  (patch 45-52)

   - Update from CVS
   - Update from CVS: texi Makefile.in CVS keyw cruft
   - Update from CVS: ChangeLog tweaks

2005-03-29  Reiner Steib  <Reiner.Steib@gmx.de>

   * etc/gnus-refcard.tex, etc/gnus-logo.eps: New files.

2005-03-25  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/message.el (message-resend): Bind rfc2047-encode-encoded-words.

   * lisp/gnus/mm-util.el (mm-replace-in-string): New function.
   (mm-xemacs-find-mime-charset-1): Ignore errors while loading
   latin-unity, which cannot be used with XEmacs 21.1.

   * lisp/gnus/rfc2047.el (rfc2047-encode-function-alist): Rename from
   rfc2047-encoding-function-alist in order to avoid conflicting with
   the old version.
   (rfc2047-encode-message-header): Remove useless goto-char.
   (rfc2047-encodable-p): Don't move point.
   (rfc2047-syntax-table): Treat `(' and `)' as is.
   (rfc2047-encode-region): Concatenate words containing non-ASCII
   characters in structured fields; don't encode space-delimited
   ASCII words even in unstructured fields; don't break words at
   char-category boundaries; encode encoded words in structured
   fields; treat text within parentheses as special; show the
   original text when error has occurred; move point to the end of
   the region after encoding, suggested by IRIE Tetsuya
   <irie@t.email.ne.jp>; treat backslash-quoted characters as
   non-special; check carefully whether to encode special characters;
   fix some kind of misconfigured headers; signal a real error if
   debug-on-quit or debug-on-error is non-nil; don't infloop,
   suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>; assume
   the close parenthesis may be included in the encoded word; encode
   bogus delimiters.
   (rfc2047-encode-string): Use mm-with-multibyte-buffer.
   (rfc2047-encode-max-chars): New variable.
   (rfc2047-encode-1): New function.
   (rfc2047-encode): Use it; encode text so that it occupies the
   maximum width within 76-column; work correctly on Q encoding for
   iso-2022-* charsets; fold the line before encoding; don't append a
   space if the encoded word includes close parenthesis.
   (rfc2047-fold-region): Use existing whitespace for LWSP; make it
   sure not to break a line just after the header name.
   (rfc2047-b-encode-region): Remove.
   (rfc2047-b-encode-string): New function.
   (rfc2047-q-encode-region): Remove.
   (rfc2047-q-encode-string): New function.
   (rfc2047-encode-parameter): New function.
   (rfc2047-encoded-word-regexp): Don't use shy group.
   (rfc2047-decode-region): Follow rfc2047-encoded-word-regexp change.
   (rfc2047-parse-and-decode): Ditto.
   (rfc2047-decode): Treat the ascii coding-system as raw-text by
   default.

2005-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>

   * lisp/gnus/rfc2047.el (rfc2047-encode-encoded-words): New variable.
   (rfc2047-field-value): Strip props.
   (rfc2047-encode-message-header): Disabled header folding -- not
   all headers can be folded, and this should be done by the message
   composition mode.  Probably.  I think.
   (rfc2047-encodable-p): Say that =? needs encoding.
   (rfc2047-encode-region): Encode =? strings.

2005-03-25  Jesper Harder  <harder@ifa.au.dk>

   * lisp/gnus/rfc2047.el (rfc2047-encoded-word-regexp): Support RFC 2231
   language tags; remove unnecessary '+'.  Reported by Stefan Wiens
   <s.wi@gmx.net>.
   (rfc2047-decode-string): Don't cons a string unnecessarily.
   (rfc2047-parse-and-decode, rfc2047-decode): Use a character for
   the encoding to avoid consing a string.
   (rfc2047-decode): Use mm-subst-char-in-string instead of
   mm-replace-chars-in-string.

2005-03-25  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>

   * lisp/gnus/rfc2047.el (rfc2047-encode): Use uppercase letters to specify
   encodings of MIME-encoded words, in order to improve
   interoperability with several broken MUAs.

2005-03-21  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/gnus-srvr.el (gnus-browse-select-group): Add NUMBER argument and
   pass it to `gnus-browse-read-group'.
   (gnus-browse-read-group): Add NUMBER argument and pass it to
   `gnus-group-read-ephemeral-group'.

   * lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-group): Add NUMBER
   argument and pass it to `gnus-group-read-group'.

2005-03-19  Aidan Kehoe  <kehoea@parhasard.net>

   * lisp/gnus/mm-util.el (mm-xemacs-find-mime-charset): Only call
   mm-xemacs-find-mime-charset-1 if we have the mule feature
   available at runtime.

2005-03-25  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/emacs-mime.texi (Display Customization): Markup fixes.
   (rfc2047): Update.

2005-03-23  Reiner Steib  <Reiner.Steib@gmx.de>

   * man/gnus-faq.texi: Replaced with auto-generated version.
parent 96a29ab7
2005-03-29 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-refcard.tex, gnus-logo.eps: New files.
2005-03-23 David Ponce <david@dponce.com>
* NEWS: Mention recentf-keep.
......
This diff is collapsed.
This diff is collapsed.
2005-03-25 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-resend): Bind rfc2047-encode-encoded-words.
* mm-util.el (mm-replace-in-string): New function.
(mm-xemacs-find-mime-charset-1): Ignore errors while loading
latin-unity, which cannot be used with XEmacs 21.1.
* rfc2047.el (rfc2047-encode-function-alist): Rename from
rfc2047-encoding-function-alist in order to avoid conflicting with
the old version.
(rfc2047-encode-message-header): Remove useless goto-char.
(rfc2047-encodable-p): Don't move point.
(rfc2047-syntax-table): Treat `(' and `)' as is.
(rfc2047-encode-region): Concatenate words containing non-ASCII
characters in structured fields; don't encode space-delimited
ASCII words even in unstructured fields; don't break words at
char-category boundaries; encode encoded words in structured
fields; treat text within parentheses as special; show the
original text when error has occurred; move point to the end of
the region after encoding, suggested by IRIE Tetsuya
<irie@t.email.ne.jp>; treat backslash-quoted characters as
non-special; check carefully whether to encode special characters;
fix some kind of misconfigured headers; signal a real error if
debug-on-quit or debug-on-error is non-nil; don't infloop,
suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>; assume
the close parenthesis may be included in the encoded word; encode
bogus delimiters.
(rfc2047-encode-string): Use mm-with-multibyte-buffer.
(rfc2047-encode-max-chars): New variable.
(rfc2047-encode-1): New function.
(rfc2047-encode): Use it; encode text so that it occupies the
maximum width within 76-column; work correctly on Q encoding for
iso-2022-* charsets; fold the line before encoding; don't append a
space if the encoded word includes close parenthesis.
(rfc2047-fold-region): Use existing whitespace for LWSP; make it
sure not to break a line just after the header name.
(rfc2047-b-encode-region): Remove.
(rfc2047-b-encode-string): New function.
(rfc2047-q-encode-region): Remove.
(rfc2047-q-encode-string): New function.
(rfc2047-encode-parameter): New function.
(rfc2047-encoded-word-regexp): Don't use shy group.
(rfc2047-decode-region): Follow rfc2047-encoded-word-regexp change.
(rfc2047-parse-and-decode): Ditto.
(rfc2047-decode): Treat the ascii coding-system as raw-text by
default.
2005-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
* rfc2047.el (rfc2047-encode-encoded-words): New variable.
(rfc2047-field-value): Strip props.
(rfc2047-encode-message-header): Disabled header folding -- not
all headers can be folded, and this should be done by the message
composition mode. Probably. I think.
(rfc2047-encodable-p): Say that =? needs encoding.
(rfc2047-encode-region): Encode =? strings.
2005-03-25 Jesper Harder <harder@ifa.au.dk>
* rfc2047.el (rfc2047-encoded-word-regexp): Support RFC 2231
language tags; remove unnecessary '+'. Reported by Stefan Wiens
<s.wi@gmx.net>.
(rfc2047-decode-string): Don't cons a string unnecessarily.
(rfc2047-parse-and-decode, rfc2047-decode): Use a character for
the encoding to avoid consing a string.
(rfc2047-decode): Use mm-subst-char-in-string instead of
mm-replace-chars-in-string.
2005-03-25 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
* rfc2047.el (rfc2047-encode): Use uppercase letters to specify
encodings of MIME-encoded words, in order to improve
interoperability with several broken MUAs.
2005-03-21 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-srvr.el (gnus-browse-select-group): Add NUMBER argument and
pass it to `gnus-browse-read-group'.
(gnus-browse-read-group): Add NUMBER argument and pass it to
`gnus-group-read-ephemeral-group'.
* gnus-group.el (gnus-group-read-ephemeral-group): Add NUMBER
argument and pass it to `gnus-group-read-group'.
2005-03-19 Aidan Kehoe <kehoea@parhasard.net>
* mm-util.el (mm-xemacs-find-mime-charset): Only call
mm-xemacs-find-mime-charset-1 if we have the mule feature
available at runtime.
2005-03-25 Werner Lemberg <wl@gnu.org>
* nnmaildir.el: Replace `illegal' with `invalid'.
......
......@@ -1984,7 +1984,8 @@ confirmation is required."
(defun gnus-group-read-ephemeral-group (group method &optional activate
quit-config request-only
select-articles
parameters)
parameters
number)
"Read GROUP from METHOD as an ephemeral group.
If ACTIVATE, request the group first.
If QUIT-CONFIG, use that window configuration when exiting from the
......@@ -1992,6 +1993,7 @@ ephemeral group.
If REQUEST-ONLY, don't actually read the group; just request it.
If SELECT-ARTICLES, only select those articles.
If PARAMETERS, use those as the group parameters.
If NUMBER, fetch this number of articles.
Return the name of the group if selection was successful."
(interactive
......@@ -2039,7 +2041,7 @@ Return the name of the group if selection was successful."
(when (let ((gnus-large-newsgroup gnus-large-ephemeral-newsgroup)
(gnus-fetch-old-headers
gnus-fetch-old-ephemeral-headers))
(gnus-group-read-group t t group select-articles))
(gnus-group-read-group (or number t) t group select-articles))
group)
;;(error nil)
(quit
......
......@@ -851,23 +851,26 @@ buffer.
(setq buffer-read-only t)
(gnus-run-hooks 'gnus-browse-mode-hook))
(defun gnus-browse-read-group (&optional no-article)
"Enter the group at the current line."
(interactive)
(defun gnus-browse-read-group (&optional no-article number)
"Enter the group at the current line.
If NUMBER, fetch this number of articles."
(interactive "P")
(let ((group (gnus-browse-group-name)))
(if (or (not (gnus-get-info group))
(gnus-ephemeral-group-p group))
(unless (gnus-group-read-ephemeral-group
group gnus-browse-current-method nil
(cons (current-buffer) 'browse))
(cons (current-buffer) 'browse)
nil nil nil number)
(error "Couldn't enter %s" group))
(unless (gnus-group-read-group nil no-article group)
(error "Couldn't enter %s" group)))))
(defun gnus-browse-select-group ()
"Select the current group."
(interactive)
(gnus-browse-read-group 'no))
(defun gnus-browse-select-group (&optional number)
"Select the current group.
If NUMBER, fetch this number of articles."
(interactive "P")
(gnus-browse-read-group 'no number))
(defun gnus-browse-next-group (n)
"Go to the next group."
......
......@@ -6364,7 +6364,8 @@ Optional DIGEST will use digest to forward."
(replace-match "X-From-Line: "))
;; Send it.
(let ((message-inhibit-body-encoding t)
message-required-mail-headers)
message-required-mail-headers
rfc2047-encode-encoded-words)
(message-send-mail))
(kill-buffer (current-buffer)))
(message "Resending message to %s...done" address)))
......
......@@ -85,6 +85,32 @@
(insert-byte . insert-char)
(multibyte-char-to-unibyte . identity))))
(eval-and-compile
(cond
((fboundp 'replace-in-string)
(defalias 'mm-replace-in-string 'replace-in-string))
((fboundp 'replace-regexp-in-string)
(defun mm-replace-in-string (string regexp newtext &optional literal)
"Replace all matches for REGEXP with NEWTEXT in STRING.
If LITERAL is non-nil, insert NEWTEXT literally. Return a new
string containing the replacements.
This is a compatibility function for different Emacsen."
(replace-regexp-in-string regexp newtext string nil literal)))
(t
(defun mm-replace-in-string (string regexp newtext &optional literal)
"Replace all matches for REGEXP with NEWTEXT in STRING.
If LITERAL is non-nil, insert NEWTEXT literally. Return a new
string containing the replacements.
This is a compatibility function for different Emacsen."
(let ((start 0) tail)
(while (string-match regexp string start)
(setq tail (- (length string) (match-end 0)))
(setq string (replace-match newtext nil literal string))
(setq start (- (length string) tail))))
string))))
(eval-and-compile
(defalias 'mm-char-or-char-int-p
(cond
......@@ -606,7 +632,7 @@ But this is very much a corner case, so don't worry about it."
;; Load the Latin Unity library, if available.
(when (and (not (featurep 'latin-unity)) (locate-library "latin-unity"))
(require 'latin-unity))
(ignore-errors (require 'latin-unity)))
;; Now, can we use it?
(if (featurep 'latin-unity)
......@@ -651,7 +677,7 @@ But this is very much a corner case, so don't worry about it."
(defmacro mm-xemacs-find-mime-charset (begin end)
(when (featurep 'xemacs)
`(mm-xemacs-find-mime-charset-1 ,begin ,end)))
`(and (featurep 'mule) (mm-xemacs-find-mime-charset-1 ,begin ,end))))
(defun mm-find-mime-charset-region (b e &optional hack-charsets)
"Return the MIME charsets needed to encode the region between B and E.
......
This diff is collapsed.
2005-03-25 Katsumi Yamaoka <yamaoka@jpl.org>
* emacs-mime.texi (Display Customization): Markup fixes.
(rfc2047): Update.
2005-03-23 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-faq.texi: Replaced with auto-generated version.
2005-03-29 Richard M. Stallman <rms@gnu.org>
* mule.texi (Single-Byte Character Support): Reinstall the C-x 8 info.
......
......@@ -387,15 +387,15 @@ The program used to start an external terminal.
@item mm-enable-external
@vindex mm-enable-external
Indicate whether external MIME handlers should be used.
Indicate whether external @acronym{MIME} handlers should be used.
If @code{t}, all defined external MIME handlers are used. If
If @code{t}, all defined external @acronym{MIME} handlers are used. If
@code{nil}, files are saved to disk (@code{mailcap-save-binary-file}).
If it is the symbol @code{ask}, you are prompted before the external
@acronym{MIME} handler is invoked.
When you launch an attachment through mailcap (@pxref{mailcap}) an
attempt is made to use a safe viewer with the safest options--this isn't
attempt is made to use a safe viewer with the safest options---this isn't
the case if you save it to disk and launch it in a different way
(command line or double-clicking). Anyhow, if you want to be sure not
to launch any external programs, set this variable to @code{nil} or
......@@ -1327,8 +1327,8 @@ RFC2047 specifies two forms of encoding---@code{Q} (a
Quoted-Printable-like encoding) and @code{B} (base64). This alist
specifies which charset should use which encoding.
@item rfc2047-encoding-function-alist
@vindex rfc2047-encoding-function-alist
@item rfc2047-encode-function-alist
@vindex rfc2047-encode-function-alist
This is an alist of encoding / function pairs. The encodings are
@code{Q}, @code{B} and @code{nil}.
......@@ -1336,6 +1336,11 @@ This is an alist of encoding / function pairs. The encodings are
@vindex rfc2047-encoded-word-regexp
When decoding words, this library looks for matches to this regexp.
@item rfc2047-encode-encoded-words
@vindex rfc2047-encode-encoded-words
The boolean variable specifies whether encoded words
(e.g. @samp{=?hello?=}) should be encoded again.
@end table
Those were the variables, and these are this functions:
......@@ -1366,6 +1371,24 @@ Decode the encoded words in the region.
@findex rfc2047-decode-string
Decode a string and return the results.
@item rfc2047-encode-parameter
@findex rfc2047-encode-parameter
Encode a parameter in the RFC2047-like style. This is a replacement for
the @code{rfc2231-encode-string} function. @xref{rfc2231}.
When attaching files as @acronym{MIME} parts, we should use the RFC2231
encoding to specify the file names containing non-@acronym{ASCII}
characters. However, many mail softwares don't support it in practice
and recipients won't be able to extract files with correct names.
Instead, the RFC2047-like encoding is acceptable generally. This
function provides the very RFC2047-like encoding, resigning to such a
regrettable trend. To use it, put the following line in your
@file{~/.gnus.el} file:
@lisp
(defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter)
@end lisp
@end table
......
This diff is collapsed.
......@@ -8,7 +8,7 @@
@copying
This file documents Message, the Emacs message composition mode.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
@quotation
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment