From 6b1b168193b08dad6242cc38a6072ead9f650ab3 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 24 Apr 2003 22:37:43 +0000 Subject: [PATCH] Synch to Oort Gnus 200304241908. --- ChangeLog | 5 +++++ lisp/ChangeLog | 43 +++++++++++++++++++++++++++++++++++++++ lisp/gnus-art.el | 3 +-- lisp/gnus-ems.el | 10 ++++----- lisp/gnus-group.el | 38 ++++++++++++++++++++++++++++------- lisp/gnus-start.el | 3 ++- lisp/gnus-util.el | 14 +++++++++---- lisp/mm-decode.el | 8 +++++--- lisp/mm-util.el | 57 ++++++++++++++++++++++++++++++++++++---------------- lisp/mml-sec.el | 8 ++++++-- lisp/nnheader.el | 9 ++++++++- lisp/nnrss.el | 11 +++++----- lisp/qp.el | 39 +++++++++++++++++++---------------- lisp/sieve.el | 3 +-- texi/ChangeLog | 6 ++++++ texi/gnus-ja.texi | 10 +++++++++ texi/gnus.texi | 10 +++++++++ 17 files changed, 211 insertions(+), 66 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4832f07..d58004f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-04-24 Katsumi Yamaoka + + * lisp/nnheader.el (nnheader-coding-system-p): New function. + (mm-coding-system-p): Alias to `nnheader-coding-system-p'. + 2003-04-23 Katsumi Yamaoka * lisp/gnus-clfns.el (coerce, copy-list, merge, string, subseq): diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fc7e962..bd9aca0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,46 @@ +2003-04-24 Dave Love + + * qp.el (quoted-printable-decode-region): Use mm-insert-byte. + Signal error on malformed text, as for base64. + (quoted-printable-encode-region): DTRT in Emacs 22. + + * mm-util.el (mm-make-temp-file, mm-insert-byte): New. + (mm-auto-save-coding-system): Consider utf-8-emacs. + (mm-mime-mule-charset-alist, mm-mule-charset-to-mime-charset) + (mm-charset-to-coding-system, mm-mime-charset) + (mm-find-mime-charset-region): Check for :mime-charset coding + systems property. + + * mml-sec.el (mml2015, mml1991): Don't require. + (mml2015-sign, mml2015-encrypt, mml1991-sign, mml1991-encrypt) + (message-goto-body, mml-insert-tag): Autoload. + + * mm-decode.el (mm-tmp-directory): Re-write to help avoid warnings. + + * gnus-start.el (message-make-date): Autoload rather than + requiring message. + + * gnus-group.el (gnus-group-name-charset-group-alist): Use + mm-coding-system-p. + (gnus-cache-active-altered): Defvar when compiling. + (gnus-group-delete-group): Re-write to help avoid warnings. + + * gnus-art.el (gnus-use-idna): Use mm-coding-system-p. + + * pgg.el: Split eval-when-compile forms. + +2003-04-24 Reiner Steib + + * gnus-group.el (gnus-large-ephemeral-newsgroup) + (gnus-fetch-old-ephemeral-headers): News variables. + (gnus-group-read-ephemeral-group): Use them. + +2003-04-24 Simon Josefsson + + * sieve.el (sieve-upload): Don't use replace-regexp-in-string. + + * nnrss.el (nnrss-node-text): Ditto. + 2003-04-24 Katsumi Yamaoka * gnus-msg.el (gnus-inews-do-gcc): Make sure the obsolete variable diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 0f2d28c..8b3cd24 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -1433,8 +1433,7 @@ It is a string, such as \"PGP\". If nil, ask user." "Function used for converting HTML into text.") (defcustom gnus-use-idna (and (condition-case nil (require 'idna) (file-error)) - (fboundp 'coding-system-p) - (coding-system-p 'utf-8)) + (mm-coding-system-p 'utf-8)) "Whether IDNA decoding of headers is used when viewing messages. This requires GNU Libidn, and by default only enabled if it is found." :group 'gnus-article-headers diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index b470b3f..aa535b4 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -96,18 +96,18 @@ ;; [Note] Now there are three kinds of mule implementations, ;; original MULE, XEmacs/mule and Emacs 20+ including - ;; MULE features. Unfortunately these API are different. In - ;; particular, Emacs (including original MULE) and XEmacs are + ;; MULE features. Unfortunately these APIs are different. In + ;; particular, Emacs (including original Mule) and XEmacs are ;; quite different. However, this version of Gnus doesn't support ;; anything other than XEmacs 20+ and Emacs 20.3+. ;; Predicates to check are following: - ;; (boundp 'MULE) is t only if MULE (original; anything older than + ;; (boundp 'MULE) is t only if Mule (original; anything older than ;; Mule 2.3) is running. - ;; (featurep 'mule) is t when every mule variants are running. + ;; (featurep 'mule) is t when other mule variants are running. ;; It is possible to detect XEmacs/mule by (featurep 'mule) and - ;; checking `emacs-version'. In this case, the implementation for + ;; (featurep 'xemacs). In this case, the implementation for ;; XEmacs/mule may be shareable between XEmacs and XEmacs/mule. (defvar gnus-summary-display-table nil diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 52c1fa9..a3ca7cf 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -420,8 +420,7 @@ For example: :type '(repeat (cons (sexp :tag "Method") (symbol :tag "Charset")))) (defcustom gnus-group-name-charset-group-alist - (if (or (and (fboundp 'find-coding-system) (find-coding-system 'utf-8)) - (and (fboundp 'coding-system-p) (coding-system-p 'utf-8))) + (if (mm-coding-system-p 'utf-8) '(("[^\000-\177]" . utf-8)) nil) "Alist of group regexp and the charset for group names. @@ -1103,6 +1102,7 @@ The following commands are available: result))) (defun gnus-group-name-decode (string charset) + ;; Fixme: Don't decode in unibyte mode. (if (and string charset (featurep 'mule)) (decode-coding-string string charset) string)) @@ -1989,6 +1989,25 @@ Returns whether the fetching was successful or not." (defvar gnus-ephemeral-group-server 0) +(defcustom gnus-large-ephemeral-newsgroup 200 + "The number of articles which indicates a large ephemeral newsgroup. +Same as `gnus-large-newsgroup', but only used for ephemeral newsgroups. + +If the number of articles in a newsgroup is greater than this value, +confirmation is required for selecting the newsgroup. If it is nil, no +confirmation is required." + :group 'gnus-group-select + :type '(choice (const :tag "No limit" nil) + integer)) + +(defcustom gnus-fetch-old-ephemeral-headers nil + "Same as `gnus-fetch-old-headers', but only used for ephemeral newsgroups." + :group 'gnus-thread + :type '(choice (const :tag "off" nil) + (const some) + number + (sexp :menu-tag "other" t))) + ;; Enter a group that is not in the group buffer. Non-nil is returned ;; if selection was successful. (defun gnus-group-read-ephemeral-group (group method &optional activate @@ -2038,7 +2057,10 @@ Return the name of the group if selection was successful." (if request-only group (condition-case () - (when (gnus-group-read-group t t group select-articles) + (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)) group) ;;(error nil) (quit @@ -2285,6 +2307,8 @@ ADDRESS." (lambda (group) (gnus-group-delete-group group nil t)))))) +(eval-when-compile (defvar gnus-cache-active-altered)) + (defun gnus-group-delete-group (group &optional force no-prompt) "Delete the current group. Only meaningful with editable groups. If FORCE (the prefix) is non-nil, all the articles in the group will @@ -2312,10 +2336,10 @@ doing the deletion." (gnus-group-goto-group group) (gnus-group-kill-group 1 t) (gnus-sethash group nil gnus-active-hashtb) - (when (and (boundp 'gnus-cache-active-hashtb) - gnus-cache-active-hashtb) - (gnus-sethash group nil gnus-cache-active-hashtb) - (setq gnus-cache-active-altered t)) + (if (boundp 'gnus-cache-active-hashtb) + (when gnus-cache-active-hashtb + (gnus-sethash group nil gnus-cache-active-hashtb) + (setq gnus-cache-active-altered t))) t)) (gnus-group-position-point))) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 524be2e..a687aaf 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -35,7 +35,7 @@ (require 'gnus-spec) (require 'gnus-range) (require 'gnus-util) -(require 'message) +(autoload 'message-make-date "message") (defcustom gnus-startup-file (nnheader-concat gnus-home-directory ".newsrc") "Your `.newsrc' file. @@ -3042,6 +3042,7 @@ If FORCE is non-nil, the .newsrc file is read." (or (gnus-group-name-charset method name) (gnus-parameter-charset name) gnus-default-charset))) + ;; Fixme: Don't decode in unibyte mode. (when (and str charset (featurep 'mule)) (setq str (decode-coding-string str charset))) (set group str))) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index e7a8ee1..9868aea 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -111,11 +111,14 @@ ;; Added by Geoffrey T. Dairiki . A safe way ;; to limit the length of a string. This function is necessary since ;; `(substr "abc" 0 30)' pukes with "Args out of range". +;; Fixme: Why not `truncate-string-to-width'? (defsubst gnus-limit-string (str width) (if (> (length str) width) (substring str 0 width) str)) +;; Fixme: This is incomplete, but why not just use functionp? In +;; fact, that is used in various places. (defsubst gnus-functionp (form) "Return non-nil if FORM is funcallable." (or (and (symbolp form) (fboundp form)) @@ -1079,6 +1082,7 @@ Return the modified alist." (while (search-backward "\\." nil t) (delete-char 1))))) +;; Fixme: Why not use `with-output-to-temp-buffer'? (defmacro gnus-with-output-to-file (file &rest body) (let ((buffer (make-symbol "output-buffer")) (size (make-symbol "output-buffer-size")) @@ -1156,9 +1160,9 @@ Return the modified alist." (string-equal (downcase x) (downcase y))))) (defcustom gnus-use-byte-compile t - "If non-nil, byte-compile crucial run-time codes. -Setting it to nil has no effect after first time running -`gnus-byte-compile'." + "If non-nil, byte-compile crucial run-time code. +Setting it to nil has no effect after the first time `gnus-byte-compile' +is run." :type 'boolean :version "21.1" :group 'gnus-various) @@ -1221,7 +1225,7 @@ If you find some problem with the directory separator character, try (- x ?0))) (defun gnus-url-unhex-string (str &optional allow-newlines) - "Remove %XXX embedded spaces, etc in a url. + "Remove %XX, embedded spaces, etc in a url. If optional second argument ALLOW-NEWLINES is non-nil, then allow the decoding of carriage returns and line feeds in the string, which is normally forbidden in URL encoding." @@ -1418,6 +1422,7 @@ Return nil otherwise." display)) display))))) +;; Fixme: This has only one use (in gnus-agent), which isn't worthwhile. (defmacro gnus-mapcar (function seq1 &rest seqs2_n) "Apply FUNCTION to each element of the sequences, and make a list of the results. If there are several sequences, FUNCTION is called with that many arguments, @@ -1457,6 +1462,7 @@ sequence, this is like `mapcar'. With several, it is like the Common Lisp ;; Adapted from cl-seq.el (defun gnus-merge (type list1 list2 pred) "Destructively merge lists LIST1 and LIST2 to produce a new list. +Argument TYPE is for compatibility and ignored. Ordering of the elements is preserved according to PRED, a `less-than' predicate on the elements." (let ((res nil)) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 8c47948..d7b1c73 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -308,9 +308,11 @@ to: :group 'mime-display) (defcustom mm-tmp-directory - (cond ((fboundp 'temp-directory) (temp-directory)) - ((boundp 'temporary-file-directory) temporary-file-directory) - ("/tmp/")) + (if (fboundp 'temp-directory) + (temp-directory) + (if (boundp 'temporary-file-directory) + temporary-file-directory + "/tmp/")) "Where mm will store its temporary files." :type 'directory :group 'mime-display) diff --git a/lisp/mm-util.el b/lisp/mm-util.el index ac8b77b..85dc2b3 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -74,7 +74,9 @@ (string-as-unibyte . identity) (string-make-unibyte . identity) (string-as-multibyte . identity) - (multibyte-string-p . ignore)))) + (multibyte-string-p . ignore) + (insert-byte . insert-char) + (multibyte-char-to-unibyte . identity)))) (eval-and-compile (defalias 'mm-char-or-char-int-p @@ -157,6 +159,11 @@ (defvar mm-auto-save-coding-system (cond + ((mm-coding-system-p 'utf-8-emacs) ; Mule 7 + (if (memq system-type '(windows-nt ms-dos ms-windows)) + (if (mm-coding-system-p 'utf-8-emacs-dos) + 'utf-8-emacs-dos mm-binary-coding-system) + 'utf-8-emacs)) ((mm-coding-system-p 'emacs-mule) (if (memq system-type '(windows-nt ms-dos ms-windows)) (if (mm-coding-system-p 'emacs-mule-dos) @@ -235,9 +242,11 @@ 'nconc (mapcar (lambda (cs) - (when (and (coding-system-get cs 'mime-charset) + (when (and (or (coding-system-get cs :mime-charset) ; Emacs 22 + (coding-system-get cs 'mime-charset)) (not (eq t (coding-system-get cs 'safe-charsets)))) - (list (cons (coding-system-get cs 'mime-charset) + (list (cons (or (coding-system-get cs :mime-charset) + (coding-system-get cs 'mime-charset)) (delq 'ascii (coding-system-get cs 'safe-charsets)))))) (sort-coding-systems (coding-system-list 'base-only)))))) @@ -281,13 +290,14 @@ Valid elements include: iso-latin-1 utf-8))))) "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 +More than one suitable coding system may be found for some text. By +default, the 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." :type '(repeat (symbol :tag "Coding system")) :group 'mime) +;; ?? (defvar mm-use-find-coding-systems-region (fboundp 'find-coding-systems-region) "Use `find-coding-systems-region' to find proper coding systems. @@ -309,7 +319,8 @@ mail with multiple parts is preferred to sending a Unicode one.") (find-coding-systems-for-charsets (list charset))))) (unless mime (when cs - (setq mime (coding-system-get cs 'mime-charset))))) + (setq mime (or (coding-system-get cs :mime-charset) + (coding-system-get cs 'mime-charset)))))) mime) (let ((alist mm-mime-mule-charset-alist) out) @@ -358,7 +369,8 @@ used as the line break code type of the coding system." ;; Do we need -lbt? (dolist (c (mm-get-coding-system-list)) (if (and (null cs) - (eq charset (coding-system-get c 'mime-charset))) + (eq charset (or (coding-system-get c :mime-charset) + (coding-system-get c 'mime-charset)))) (setq cs c))) cs)))) @@ -457,8 +469,10 @@ If the charset is `composition', return the actual one." ;; This exists in Emacs 20. (or (and (mm-preferred-coding-system charset) - (coding-system-get - (mm-preferred-coding-system charset) 'mime-charset)) + (or (coding-system-get + (mm-preferred-coding-system charset) :mime-charset) + (coding-system-get + (mm-preferred-coding-system charset) 'mime-charset))) (and (eq charset 'ascii) 'us-ascii) (mm-preferred-coding-system charset) @@ -528,18 +542,27 @@ charset, and a longer list means no appropriate charset." (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)) (unless (equal systems '(undecided)) (while systems - (let ((cs (coding-system-get (pop systems) 'mime-charset))) - (if cs + (let* ((head (pop systems)) + (cs (or (coding-system-get head :mime-charset) + (coding-system-get head 'mime-charset)))) + ;; The mime-charset (`x-ctext') of + ;; `compound-text' is not in the IANA list. We + ;; shouldn't normally use anything here with a + ;; mime-charset having an `x-' prefix. + ;; Fixme: allow this to be overridden, since + ;; there is existing use of x-ctext. + ;; Also people apparently need the coding system + ;; `iso-2022-jp-3', which Mule-UCS defines. + (if (and cs + (not (string-match "^[Xx]-" (symbol-name cs)))) (setq systems nil charsets (list cs)))))) charsets)) - ;; Otherwise we're not multibyte, XEmacs or a single coding - ;; system won't cover it. + ;; Otherwise we're not multibyte, we're XEmacs or a single + ;; coding system won't cover it. (setq charsets (mm-delete-duplicates (mapcar 'mm-mime-charset @@ -565,7 +588,7 @@ Use unibyte mode for this." (put 'mm-with-unibyte-buffer 'edebug-form-spec '(body)) (defmacro mm-with-unibyte-current-buffer (&rest forms) - "Evaluate FORMS with current current buffer temporarily made unibyte. + "Evaluate FORMS with current buffer temporarily made unibyte. Also bind `default-enable-multibyte-characters' to nil. Equivalent to `progn' in XEmacs" (let ((multibyte (make-symbol "multibyte")) @@ -679,7 +702,7 @@ Mule4 only." A buffer may be modified in several ways after reading into the buffer due to advanced Emacs features, such as file-name-handlers, format decoding, find-file-hooks, etc. -If INHIBIT is non-nil, inhibit mm-inhibit-file-name-handlers. +If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'. This function ensures that none of these modifications will take place." (let ((format-alist nil) (auto-mode-alist (if inhibit nil (mm-auto-mode-alist))) diff --git a/lisp/mml-sec.el b/lisp/mml-sec.el index 942a312..c18cf2f 100644 --- a/lisp/mml-sec.el +++ b/lisp/mml-sec.el @@ -24,10 +24,14 @@ ;;; Code: -(require 'mml2015) -(require 'mml1991) (require 'mml-smime) (eval-when-compile (require 'cl)) +(autoload 'mml2015-sign "mml2015") +(autoload 'mml2015-encrypt "mml2015") +(autoload 'mml1991-sign "mml1991") +(autoload 'mml1991-encrypt "mml1991") +(autoload 'message-goto-body "message") +(autoload 'mml-insert-tag "mml") (defvar mml-sign-alist '(("smime" mml-smime-sign-buffer mml-smime-sign-query) diff --git a/lisp/nnheader.el b/lisp/nnheader.el index da24c44..b994e58 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -300,7 +300,14 @@ nil, ." temporary-file-directory)))) (if dir-flag (make-directory file)) - file))))) + file)))) + + ;; Should keep track of `mm-coding-system-p' in mm-util.el. + (defun nnheader-coding-system-p (sym) + "Return non-nil if SYM is a coding system." + (or (and (fboundp 'find-coding-system) (find-coding-system sym)) + (and (fboundp 'coding-system-p) (coding-system-p sym)))) + (defalias 'mm-coding-system-p 'nnheader-coding-system-p)) ;; mail-parse stuff. (unless (featurep 'mail-parse) diff --git a/lisp/nnrss.el b/lisp/nnrss.el index 12f2918..161d88b 100644 --- a/lisp/nnrss.el +++ b/lisp/nnrss.el @@ -518,11 +518,12 @@ It is useful when `(setq nnrss-use-local t)'." (text (if (and node (listp node)) (nnrss-node-just-text node) node)) - (cleaned-text (if text - (replace-regexp-in-string - " *$" "" (replace-regexp-in-string - "^ *" "" (replace-regexp-in-string - "^[[:cntrl:]]+" "" text)))))) + (cleaned-text (if text (gnus-replace-regexp-in-string + (gnus-replace-regexp-in-string + (gnus-replace-regexp-in-string + text "^[[:cntrl:]]+" "") + "^ *" "") + " *$" "")))) (if (string-equal "" cleaned-text) nil cleaned-text))) diff --git a/lisp/qp.el b/lisp/qp.el index 52f6999..62d7562 100644 --- a/lisp/qp.el +++ b/lisp/qp.el @@ -1,6 +1,6 @@ ;;; qp.el --- Quoted-Printable functions -;; Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, extensions @@ -32,13 +32,18 @@ (require 'mm-util) (eval-when-compile (defvar mm-use-ultra-safe-encoding)) +;;;###autoload (defun quoted-printable-decode-region (from to &optional coding-system) "Decode quoted-printable in the region between FROM and TO, per RFC 2045. If CODING-SYSTEM is non-nil, decode bytes into characters with that coding-system. Interactively, you can supply the CODING-SYSTEM argument -with \\[universal-coding-system-argument]." +with \\[universal-coding-system-argument]. + +The CODING-SYSTEM argument is a historical hangover and is deprecated. +QP encodes raw bytes and should be decoded into raw bytes. Decoding +them into characters should be done separately." (interactive ;; Let the user determine the coding system with "C-x RET c". (list (region-beginning) (region-end) coding-system-for-read)) @@ -66,14 +71,10 @@ with \\[universal-coding-system-argument]." (let ((byte (string-to-int (buffer-substring (1+ (point)) (+ 3 (point))) 16))) - (insert byte) - (delete-char 3) - ;; Why backward-char??? - ;;(unless (eq byte 61) ;; 61 is not ?= in XEmacs - ;; (backward-char)) - )) + (mm-insert-byte byte 1) + (delete-char 3))) (t - (message "Malformed quoted-printable text") + (error "Malformed quoted-printable text") (forward-char))))) (if coding-system (mm-decode-coding-region (point-min) (point-max) coding-system))))) @@ -97,6 +98,15 @@ You should probably avoid non-ASCII characters in this arg. If `mm-use-ultra-safe-encoding' is set, fold lines unconditionally and encode lines starting with \"From\"." (interactive "r") + (save-excursion + (goto-char from) + (if (fboundp 'string-to-multibyte) ; Emacs 22 + (if (re-search-forward (string-to-multibyte "[^\x0-\x7f\x80-\xff]") + to t) + ;; Fixme: This is somewhat misleading. + (error "Multibyte character in QP encoding region")) + (if (re-search-forward (mm-string-as-multibyte "[^\0-\377]") to t) + (error "Multibyte character in QP encoding region")))) (unless class ;; Avoid using 8bit characters. = is \075. ;; Equivalent to "^\000-\007\013\015-\037\200-\377=" @@ -104,19 +114,14 @@ encode lines starting with \"From\"." (save-excursion (save-restriction (narrow-to-region from to) - ;; We can live with characters between 00-FF. - (goto-char (point-min)) - (while (not (eobp)) - (if (>= (char-after) 256) - (error "Multibyte character in QP encoding region")) - (forward-char)) ;; Encode all the non-ascii and control characters. (goto-char (point-min)) (while (and (skip-chars-forward class) (not (eobp))) (insert (prog1 - (format "=%02X" (char-after)) + ;; To unibyte in case of Emacs 22 eight-bit. + (format "=%02X" (mm-multibyte-char-to-unibyte (char-after))) (delete-char 1)))) ;; Encode white space at the end of lines. (goto-char (point-min)) @@ -131,7 +136,7 @@ encode lines starting with \"From\"." (and (boundp 'mm-use-ultra-safe-encoding) mm-use-ultra-safe-encoding))) (when (or fold mm-use-ultra-safe-encoding) - (let ((tab-width 1)) ; HTAB is one character. + (let ((tab-width 1)) ; HTAB is one character. (goto-char (point-min)) (while (not (eobp)) ;; In ultra-safe mode, encode "From " at the beginning diff --git a/lisp/sieve.el b/lisp/sieve.el index da2016b..8297f57 100644 --- a/lisp/sieve.el +++ b/lisp/sieve.el @@ -370,8 +370,7 @@ Server : " server ":" (or port "2000") " (if (sieve-manage-ok-p err) (message (concat "Sieve upload done. Use `C-c RET' to manage scripts.")) - (message "Sieve upload failed: %s" - (replace-regexp-in-string "[\n\r\t]+" " " (nth 2 err)))))))) + (message "Sieve upload failed: %s" (nth 2 err))))))) ;;;###autoload (defun sieve-upload-and-bury (&optional name) diff --git a/texi/ChangeLog b/texi/ChangeLog index b2e1ab4..638785c 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,9 @@ +2003-04-24 Reiner Steib + + * gnus.texi (Selecting a Group): Add gnus-large-ephemeral-newsgroup. + (Filling In Threads): Add gnus-fetch-old-ephemeral-headers. + (Terminology): Index. + 2003-04-22 Jesper Harder * gnus.texi: nil -> @code{nil}. Capitalize "Rmail" and "Babyl" diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 298dea4..c52af61 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -2240,6 +2240,10 @@ Gnus $B$O(B @code{gnus-user-format-function-}@samp{X} $B4X?t$r8F$S=P$7$^$9!#$ $B$rC$(5n$j$^$9!#(B diff --git a/texi/gnus.texi b/texi/gnus.texi index 0883098..699212c 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -2130,6 +2130,10 @@ number (@code{-n}), the @code{n} oldest articles will be fetched. If it is positive, the @code{n} articles that have arrived most recently will be fetched. +@vindex gnus-large-ephemeral-newsgroup +Same as @code{gnus-large-newsgroup}, but only used for ephemeral +newsgroups. + @vindex gnus-select-group-hook @vindex gnus-auto-select-first @vindex gnus-auto-select-subject @@ -6593,6 +6597,11 @@ This variable can also be set to @code{invisible}. This won't have any visible effects, but is useful if you use the @kbd{A T} command a lot (@pxref{Finding the Parent}). +@item gnus-fetch-old-ephemeral-headers +@vindex gnus-fetch-old-ephemeral-headers +Same as @code{gnus-fetch-old-headers}, but only used for ephemeral +newsgroups. + @item gnus-build-sparse-threads @vindex gnus-build-sparse-threads Fetching old headers can be slow. A low-rent similar effect can be @@ -24759,6 +24768,7 @@ original. @item ephemeral groups @cindex ephemeral groups +@cindex temporary groups Most groups store data on what articles you have read. @dfn{Ephemeral} groups are groups that will have no data stored---when you exit the group, it'll disappear into the aether. -- 1.7.10.4