diff options
| author | Gnus developers | 2011-09-10 23:30:53 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2011-09-10 23:30:53 +0000 |
| commit | e21bac426b787ac0f03c3a64341ec98995ea8262 (patch) | |
| tree | a3877a583cca99774594050a192fde13e57e7b78 | |
| parent | 3199b96fc585576ffb2ced6542a2bc2d6172f510 (diff) | |
| download | emacs-e21bac426b787ac0f03c3a64341ec98995ea8262.tar.gz emacs-e21bac426b787ac0f03c3a64341ec98995ea8262.zip | |
Merge changes made in Gnus trunk.
gnus.texi: Remove mentions of `recent', which are now obsolete.
(Interactive): Document `quiet'.
nnimap.el: Redo the charset handling. Let Gnus encode the names, as it does with all other backends, but decode the names immediately after getting them.
gnus-group.el (gnus-group-name-charset): Always return `utf-7' when decoding nnimap groups.
gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the newsrc file. It doesn't seem like an important optimisation any more.
nnimap.el (nnimap-transform-headers): Fix regexp to be less prone to overflows.
gnus.el (gnus-article-mark-lists): Remove `recent'.
(gnus-interactive-exit): Extend to `quiet'.
gnus-sum.el (gnus-offer-save-summaries): Use it.
gnus-art.el (gnus-treat-hide-citation-maybe): Add more doc to the string.
plstore.el (plstore--get-buffer): Silence compiler warnings by renaming function arguments from `this'.
gnus-sum.el (gnus-newsgroup-recent): Removed.
gnus-spec.el (gnus-lrm-string-p): `bidi-string-mark-left-to-right' has been renamed.
(gnus-lrm-string-p): Include RLM and PDF, too.
gnus-int.el (gnus-open-server): Make the "denied" message clearer (bug#9225).
| -rw-r--r-- | doc/misc/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 26 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 39 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 7 | ||||
| -rw-r--r-- | lisp/gnus/gnus-ems.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-group.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-int.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/gnus-spec.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 28 | ||||
| -rw-r--r-- | lisp/gnus/gnus.el | 9 | ||||
| -rw-r--r-- | lisp/gnus/nnimap.el | 35 | ||||
| -rw-r--r-- | lisp/gnus/plstore.el | 44 |
12 files changed, 134 insertions, 76 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 8260df911a8..cd0c62b2e09 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * gnus.texi: Remove mentions of `recent', which are now obsolete. | ||
| 4 | (Interactive): Document `quiet'. | ||
| 5 | |||
| 1 | 2011-08-15 Suvayu Ali <fatkasuvayu+linux@gmail.com> (tiny change) | 6 | 2011-08-15 Suvayu Ali <fatkasuvayu+linux@gmail.com> (tiny change) |
| 2 | 7 | ||
| 3 | * org.texi (Images in LaTeX export): rewrite. | 8 | * org.texi (Images in LaTeX export): rewrite. |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 439ff7fbc55..9f886e3dc6e 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -2983,7 +2983,7 @@ The available operators are @code{not}, @code{and} and @code{or}. | |||
| 2983 | Predicates include @code{tick}, @code{unsend}, @code{undownload}, | 2983 | Predicates include @code{tick}, @code{unsend}, @code{undownload}, |
| 2984 | @code{unread}, @code{dormant}, @code{expire}, @code{reply}, | 2984 | @code{unread}, @code{dormant}, @code{expire}, @code{reply}, |
| 2985 | @code{killed}, @code{bookmark}, @code{score}, @code{save}, | 2985 | @code{killed}, @code{bookmark}, @code{score}, @code{save}, |
| 2986 | @code{cache}, @code{forward}, @code{unseen} and @code{recent}. | 2986 | @code{cache}, @code{forward}, and @code{unseen}. |
| 2987 | 2987 | ||
| 2988 | @end table | 2988 | @end table |
| 2989 | 2989 | ||
| @@ -6165,18 +6165,9 @@ religiously) are marked with an @samp{S} in the second column | |||
| 6165 | (@code{gnus-saved-mark}). | 6165 | (@code{gnus-saved-mark}). |
| 6166 | 6166 | ||
| 6167 | @item | 6167 | @item |
| 6168 | @vindex gnus-recent-mark | ||
| 6169 | Articles that according to the server haven't been shown to the user | ||
| 6170 | before are marked with a @samp{N} in the second column | ||
| 6171 | (@code{gnus-recent-mark}). Note that not all servers support this | ||
| 6172 | mark, in which case it simply never appears. Compare with | ||
| 6173 | @code{gnus-unseen-mark}. | ||
| 6174 | |||
| 6175 | @item | ||
| 6176 | @vindex gnus-unseen-mark | 6168 | @vindex gnus-unseen-mark |
| 6177 | Articles that haven't been seen before in Gnus by the user are marked | 6169 | Articles that haven't been seen before in Gnus by the user are marked |
| 6178 | with a @samp{.} in the second column (@code{gnus-unseen-mark}). | 6170 | with a @samp{.} in the second column (@code{gnus-unseen-mark}). |
| 6179 | Compare with @code{gnus-recent-mark}. | ||
| 6180 | 6171 | ||
| 6181 | @item | 6172 | @item |
| 6182 | @vindex gnus-downloaded-mark | 6173 | @vindex gnus-downloaded-mark |
| @@ -22265,8 +22256,9 @@ is @code{t} by default. | |||
| 22265 | 22256 | ||
| 22266 | @item gnus-interactive-exit | 22257 | @item gnus-interactive-exit |
| 22267 | @vindex gnus-interactive-exit | 22258 | @vindex gnus-interactive-exit |
| 22268 | Require confirmation before exiting Gnus. This variable is @code{t} by | 22259 | If non-@code{nil}, require a confirmation when exiting Gnus. If |
| 22269 | default. | 22260 | @code{quiet}, update any active summary buffers automatically without |
| 22261 | querying. The default value is @code{t}. | ||
| 22270 | @end table | 22262 | @end table |
| 22271 | 22263 | ||
| 22272 | 22264 | ||
| @@ -27993,10 +27985,6 @@ non-@code{nil}, the summary buffer is shown and updated as it's being | |||
| 27993 | built. | 27985 | built. |
| 27994 | 27986 | ||
| 27995 | @item | 27987 | @item |
| 27996 | The new @code{recent} mark @samp{.} indicates newly arrived messages (as | ||
| 27997 | opposed to old but unread messages). | ||
| 27998 | |||
| 27999 | @item | ||
| 28000 | Gnus supports RFC 2369 mailing list headers, and adds a number of | 27988 | Gnus supports RFC 2369 mailing list headers, and adds a number of |
| 28001 | related commands in mailing list groups. @xref{Mailing List}. | 27989 | related commands in mailing list groups. @xref{Mailing List}. |
| 28002 | 27990 | ||
| @@ -29572,9 +29560,9 @@ propagate the mark information to the server. | |||
| 29572 | marks (preserving all marks not mentioned). @var{mark} is a list of | 29560 | marks (preserving all marks not mentioned). @var{mark} is a list of |
| 29573 | marks; where each mark is a symbol. Currently used marks are | 29561 | marks; where each mark is a symbol. Currently used marks are |
| 29574 | @code{read}, @code{tick}, @code{reply}, @code{expire}, @code{killed}, | 29562 | @code{read}, @code{tick}, @code{reply}, @code{expire}, @code{killed}, |
| 29575 | @code{dormant}, @code{save}, @code{download}, @code{unsend}, | 29563 | @code{dormant}, @code{save}, @code{download}, @code{unsend}, and |
| 29576 | @code{forward} and @code{recent}, but your back end should, if | 29564 | @code{forward}, but your back end should, if possible, not limit |
| 29577 | possible, not limit itself to these. | 29565 | itself to these. |
| 29578 | 29566 | ||
| 29579 | Given contradictory actions, the last action in the list should be the | 29567 | Given contradictory actions, the last action in the list should be the |
| 29580 | effective one. That is, if your action contains a request to add the | 29568 | effective one. That is, if your action contains a request to add the |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 010070526ef..e9e887dd34c 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,42 @@ | |||
| 1 | 2011-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * nnimap.el: Redo the charset handling. Let Gnus encode the names, as | ||
| 4 | it does with all other backends, but decode the names immediately after | ||
| 5 | getting them. | ||
| 6 | |||
| 7 | * gnus-group.el (gnus-group-name-charset): Always return `utf-7' when | ||
| 8 | decoding nnimap groups. | ||
| 9 | |||
| 10 | * gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the | ||
| 11 | newsrc file. It doesn't seem like an important optimisation any more. | ||
| 12 | |||
| 13 | 2011-09-10 Dave Abrahams <dave@boostpro.com> (tiny change) | ||
| 14 | |||
| 15 | * nnimap.el (nnimap-transform-headers): Fix regexp to be less prone to | ||
| 16 | overflows. | ||
| 17 | |||
| 18 | 2011-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 19 | |||
| 20 | * gnus.el (gnus-article-mark-lists): Remove `recent'. | ||
| 21 | (gnus-interactive-exit): Extend to `quiet'. | ||
| 22 | |||
| 23 | * gnus-sum.el (gnus-offer-save-summaries): Use it. | ||
| 24 | |||
| 25 | * gnus-art.el (gnus-treat-hide-citation-maybe): Add more doc to the | ||
| 26 | string. | ||
| 27 | |||
| 28 | * plstore.el (plstore--get-buffer): Silence compiler warnings by | ||
| 29 | renaming function arguments from `this'. | ||
| 30 | |||
| 31 | * gnus-sum.el (gnus-newsgroup-recent): Removed. | ||
| 32 | |||
| 33 | * gnus-spec.el (gnus-lrm-string-p): `bidi-string-mark-left-to-right' | ||
| 34 | has been renamed. | ||
| 35 | (gnus-lrm-string-p): Include RLM and PDF, too. | ||
| 36 | |||
| 37 | * gnus-int.el (gnus-open-server): Make the "denied" message clearer | ||
| 38 | (bug#9225). | ||
| 39 | |||
| 1 | 2011-09-10 Eli Zaretskii <eliz@gnu.org> | 40 | 2011-09-10 Eli Zaretskii <eliz@gnu.org> |
| 2 | 41 | ||
| 3 | Add autoload cookies for functions used by sendmail.el. | 42 | Add autoload cookies for functions used by sendmail.el. |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 39abad7dae7..8149e555276 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -1237,9 +1237,12 @@ predicate. See Info node `(gnus)Customizing Articles'." | |||
| 1237 | :type gnus-article-treat-custom) | 1237 | :type gnus-article-treat-custom) |
| 1238 | 1238 | ||
| 1239 | (defcustom gnus-treat-hide-citation-maybe nil | 1239 | (defcustom gnus-treat-hide-citation-maybe nil |
| 1240 | "Hide cited text. | 1240 | "Hide cited text according to certain conditions. |
| 1241 | Valid values are nil, t, `head', `first', `last', an integer or a | 1241 | Valid values are nil, t, `head', `first', `last', an integer or a |
| 1242 | predicate. See Info node `(gnus)Customizing Articles'." | 1242 | predicate. See Info node `(gnus)Customizing Articles'. |
| 1243 | |||
| 1244 | See `gnus-cite-hide-percentage' and `gnus-cite-hide-absolute' for | ||
| 1245 | how to control what it hides." | ||
| 1243 | :group 'gnus-article-treat | 1246 | :group 'gnus-article-treat |
| 1244 | :link '(custom-manual "(gnus)Customizing Articles") | 1247 | :link '(custom-manual "(gnus)Customizing Articles") |
| 1245 | :type gnus-article-treat-custom) | 1248 | :type gnus-article-treat-custom) |
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el index aed471c38f4..5acc9d117e4 100644 --- a/lisp/gnus/gnus-ems.el +++ b/lisp/gnus/gnus-ems.el | |||
| @@ -210,8 +210,8 @@ | |||
| 210 | end nil)))))) | 210 | end nil)))))) |
| 211 | 211 | ||
| 212 | (defmacro gnus-string-mark-left-to-right (string) | 212 | (defmacro gnus-string-mark-left-to-right (string) |
| 213 | (if (fboundp 'string-mark-left-to-right) | 213 | (if (fboundp 'bidi-string-mark-left-to-right) |
| 214 | `(string-mark-left-to-right ,string) | 214 | `(bidi-string-mark-left-to-right ,string) |
| 215 | string)) | 215 | string)) |
| 216 | 216 | ||
| 217 | (eval-and-compile | 217 | (eval-and-compile |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 5cc01759a04..36fb9e8343b 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -1201,7 +1201,7 @@ The following commands are available: | |||
| 1201 | (if (eq (car method) 'nnimap) | 1201 | (if (eq (car method) 'nnimap) |
| 1202 | ;; IMAP groups should not be encoded, since they do the encoding | 1202 | ;; IMAP groups should not be encoded, since they do the encoding |
| 1203 | ;; in utf7 in the protocol. | 1203 | ;; in utf7 in the protocol. |
| 1204 | nil | 1204 | 'utf-8 |
| 1205 | (let ((item (or (assoc method gnus-group-name-charset-method-alist) | 1205 | (let ((item (or (assoc method gnus-group-name-charset-method-alist) |
| 1206 | (and (consp method) | 1206 | (and (consp method) |
| 1207 | (assoc (list (car method) (cadr method)) | 1207 | (assoc (list (car method) (cadr method)) |
| @@ -4069,7 +4069,7 @@ If DONT-SCAN is non-nil, scan non-activated groups as well." | |||
| 4069 | (gnus-group-update-group group nil t)) | 4069 | (gnus-group-update-group group nil t)) |
| 4070 | (if (eq (gnus-server-status (gnus-find-method-for-group group)) | 4070 | (if (eq (gnus-server-status (gnus-find-method-for-group group)) |
| 4071 | 'denied) | 4071 | 'denied) |
| 4072 | (gnus-error 3 "Server denied access") | 4072 | (gnus-error 3 "Server previously determined to be down; not retrying") |
| 4073 | (gnus-error 3 "%s error: %s" group (gnus-status-message group))))) | 4073 | (gnus-error 3 "%s error: %s" group (gnus-status-message group))))) |
| 4074 | (when beg | 4074 | (when beg |
| 4075 | (goto-char beg)) | 4075 | (goto-char beg)) |
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index b9b191cd09c..9877736bb09 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el | |||
| @@ -255,7 +255,8 @@ If it is down, start it up (again)." | |||
| 255 | ;; If this method was previously denied, we just return nil. | 255 | ;; If this method was previously denied, we just return nil. |
| 256 | (if (eq (nth 1 elem) 'denied) | 256 | (if (eq (nth 1 elem) 'denied) |
| 257 | (progn | 257 | (progn |
| 258 | (gnus-message 1 "Denied server %s" server) | 258 | (gnus-message |
| 259 | 1 "Server %s previously determined to be down; not retrying" server) | ||
| 259 | nil) | 260 | nil) |
| 260 | ;; Open the server. | 261 | ;; Open the server. |
| 261 | (let* ((open-server-function | 262 | (let* ((open-server-function |
diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el index 31cb9864ff2..2345c4fc141 100644 --- a/lisp/gnus/gnus-spec.el +++ b/lisp/gnus/gnus-spec.el | |||
| @@ -91,8 +91,10 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway." | |||
| 91 | (header gnus-tmp-from)) | 91 | (header gnus-tmp-from)) |
| 92 | 92 | ||
| 93 | (defmacro gnus-lrm-string-p (string) | 93 | (defmacro gnus-lrm-string-p (string) |
| 94 | (if (fboundp 'string-mark-left-to-rigth) | 94 | (if (fboundp 'bidi-string-mark-left-to-right) |
| 95 | `(eq (aref ,string (1- (length ,string))) 8206) | 95 | ;; LRM, RLM, PDF characters as integers to avoid breaking Emacs |
| 96 | ;; 23. | ||
| 97 | `(memq (aref ,string (1- (length ,string))) '(8206 8207 8236)) | ||
| 96 | nil)) | 98 | nil)) |
| 97 | 99 | ||
| 98 | (defvar gnus-lrm-string (if (ignore-errors (string 8206)) | 100 | (defvar gnus-lrm-string (if (ignore-errors (string 8206)) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index bb8c719a4fd..7e63237c676 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -1499,9 +1499,6 @@ the type of the variable (string, integer, character, etc).") | |||
| 1499 | (defvar gnus-newsgroup-forwarded nil | 1499 | (defvar gnus-newsgroup-forwarded nil |
| 1500 | "List of articles that have been forwarded in the current newsgroup.") | 1500 | "List of articles that have been forwarded in the current newsgroup.") |
| 1501 | 1501 | ||
| 1502 | (defvar gnus-newsgroup-recent nil | ||
| 1503 | "List of articles that have are recent in the current newsgroup.") | ||
| 1504 | |||
| 1505 | (defvar gnus-newsgroup-expirable nil | 1502 | (defvar gnus-newsgroup-expirable nil |
| 1506 | "Sorted list of articles in the current newsgroup that can be expired.") | 1503 | "Sorted list of articles in the current newsgroup that can be expired.") |
| 1507 | 1504 | ||
| @@ -1578,7 +1575,6 @@ This list will always be a subset of gnus-newsgroup-undownloaded.") | |||
| 1578 | gnus-newsgroup-saved | 1575 | gnus-newsgroup-saved |
| 1579 | gnus-newsgroup-replied | 1576 | gnus-newsgroup-replied |
| 1580 | gnus-newsgroup-forwarded | 1577 | gnus-newsgroup-forwarded |
| 1581 | gnus-newsgroup-recent | ||
| 1582 | gnus-newsgroup-expirable | 1578 | gnus-newsgroup-expirable |
| 1583 | gnus-newsgroup-killed | 1579 | gnus-newsgroup-killed |
| 1584 | gnus-newsgroup-unseen | 1580 | gnus-newsgroup-unseen |
| @@ -3743,8 +3739,6 @@ buffer that was in action when the last article was fetched." | |||
| 3743 | gnus-forwarded-mark) | 3739 | gnus-forwarded-mark) |
| 3744 | ((memq gnus-tmp-current gnus-newsgroup-saved) | 3740 | ((memq gnus-tmp-current gnus-newsgroup-saved) |
| 3745 | gnus-saved-mark) | 3741 | gnus-saved-mark) |
| 3746 | ((memq gnus-tmp-number gnus-newsgroup-recent) | ||
| 3747 | gnus-recent-mark) | ||
| 3748 | ((memq gnus-tmp-number gnus-newsgroup-unseen) | 3742 | ((memq gnus-tmp-number gnus-newsgroup-unseen) |
| 3749 | gnus-unseen-mark) | 3743 | gnus-unseen-mark) |
| 3750 | (t gnus-no-mark))) | 3744 | (t gnus-no-mark))) |
| @@ -5395,8 +5389,6 @@ or a straight list of headers." | |||
| 5395 | gnus-forwarded-mark) | 5389 | gnus-forwarded-mark) |
| 5396 | ((memq number gnus-newsgroup-saved) | 5390 | ((memq number gnus-newsgroup-saved) |
| 5397 | gnus-saved-mark) | 5391 | gnus-saved-mark) |
| 5398 | ((memq number gnus-newsgroup-recent) | ||
| 5399 | gnus-recent-mark) | ||
| 5400 | ((memq number gnus-newsgroup-unseen) | 5392 | ((memq number gnus-newsgroup-unseen) |
| 5401 | gnus-unseen-mark) | 5393 | gnus-unseen-mark) |
| 5402 | (t gnus-no-mark)) | 5394 | (t gnus-no-mark)) |
| @@ -5807,8 +5799,6 @@ If SELECT-ARTICLES, only select those articles from GROUP." | |||
| 5807 | (memq article gnus-newsgroup-forwarded)) | 5799 | (memq article gnus-newsgroup-forwarded)) |
| 5808 | ((eq type 'seen) | 5800 | ((eq type 'seen) |
| 5809 | (not (memq article gnus-newsgroup-unseen))) | 5801 | (not (memq article gnus-newsgroup-unseen))) |
| 5810 | ((eq type 'recent) | ||
| 5811 | (memq article gnus-newsgroup-recent)) | ||
| 5812 | (t t)))) | 5802 | (t t)))) |
| 5813 | 5803 | ||
| 5814 | (defun gnus-articles-to-read (group &optional read-all) | 5804 | (defun gnus-articles-to-read (group &optional read-all) |
| @@ -10985,8 +10975,6 @@ If NO-EXPIRE, auto-expiry will be inhibited." | |||
| 10985 | gnus-forwarded-mark) | 10975 | gnus-forwarded-mark) |
| 10986 | ((memq article gnus-newsgroup-saved) | 10976 | ((memq article gnus-newsgroup-saved) |
| 10987 | gnus-saved-mark) | 10977 | gnus-saved-mark) |
| 10988 | ((memq article gnus-newsgroup-recent) | ||
| 10989 | gnus-recent-mark) | ||
| 10990 | ((memq article gnus-newsgroup-unseen) | 10978 | ((memq article gnus-newsgroup-unseen) |
| 10991 | gnus-unseen-mark) | 10979 | gnus-unseen-mark) |
| 10992 | (t gnus-no-mark)) | 10980 | (t gnus-no-mark)) |
| @@ -12594,12 +12582,16 @@ UNREAD is a sorted list." | |||
| 12594 | ;; Go through all these summary buffers and offer to save them. | 12582 | ;; Go through all these summary buffers and offer to save them. |
| 12595 | (when buffers | 12583 | (when buffers |
| 12596 | (save-excursion | 12584 | (save-excursion |
| 12597 | (map-y-or-n-p | 12585 | (if (eq gnus-interactive-exit 'quiet) |
| 12598 | "Update summary buffer %s? " | 12586 | (dolist (buffer buffers) |
| 12599 | (lambda (buf) | 12587 | (switch-to-buffer buffer) |
| 12600 | (switch-to-buffer buf) | 12588 | (gnus-summary-exit)) |
| 12601 | (gnus-summary-exit)) | 12589 | (map-y-or-n-p |
| 12602 | buffers))))) | 12590 | "Update summary buffer %s? " |
| 12591 | (lambda (buf) | ||
| 12592 | (switch-to-buffer buf) | ||
| 12593 | (gnus-summary-exit)) | ||
| 12594 | buffers)))))) | ||
| 12603 | 12595 | ||
| 12604 | (defun gnus-summary-setup-default-charset () | 12596 | (defun gnus-summary-setup-default-charset () |
| 12605 | "Setup newsgroup default charset." | 12597 | "Setup newsgroup default charset." |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 34759cee06f..b6be03da2b9 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -1591,7 +1591,9 @@ commands will still require prompting." | |||
| 1591 | :type 'boolean) | 1591 | :type 'boolean) |
| 1592 | 1592 | ||
| 1593 | (defcustom gnus-interactive-exit t | 1593 | (defcustom gnus-interactive-exit t |
| 1594 | "*If non-nil, require your confirmation when exiting Gnus." | 1594 | "*If non-nil, require your confirmation when exiting Gnus. |
| 1595 | If `quiet', update any active summary buffers automatically | ||
| 1596 | first before exiting." | ||
| 1595 | :group 'gnus-exit | 1597 | :group 'gnus-exit |
| 1596 | :type 'boolean) | 1598 | :type 'boolean) |
| 1597 | 1599 | ||
| @@ -2623,7 +2625,7 @@ a string, be sure to use a valid format, see RFC 2616." | |||
| 2623 | (scored . score) (saved . save) | 2625 | (scored . score) (saved . save) |
| 2624 | (cached . cache) (downloadable . download) | 2626 | (cached . cache) (downloadable . download) |
| 2625 | (unsendable . unsend) (forwarded . forward) | 2627 | (unsendable . unsend) (forwarded . forward) |
| 2626 | (recent . recent) (seen . seen))) | 2628 | (seen . seen))) |
| 2627 | 2629 | ||
| 2628 | (defconst gnus-article-special-mark-lists | 2630 | (defconst gnus-article-special-mark-lists |
| 2629 | '((seen range) | 2631 | '((seen range) |
| @@ -2689,8 +2691,7 @@ such as a mark that says whether an article is stored in the cache | |||
| 2689 | gnus-newsrc-last-checked-date | 2691 | gnus-newsrc-last-checked-date |
| 2690 | gnus-newsrc-alist gnus-server-alist | 2692 | gnus-newsrc-alist gnus-server-alist |
| 2691 | gnus-killed-list gnus-zombie-list | 2693 | gnus-killed-list gnus-zombie-list |
| 2692 | gnus-topic-topology gnus-topic-alist | 2694 | gnus-topic-topology gnus-topic-alist) |
| 2693 | gnus-format-specs) | ||
| 2694 | "Gnus variables saved in the quick startup file.") | 2695 | "Gnus variables saved in the quick startup file.") |
| 2695 | 2696 | ||
| 2696 | (defvar gnus-newsrc-alist nil | 2697 | (defvar gnus-newsrc-alist nil |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 52c4b3c4290..d26df2395ec 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -168,6 +168,8 @@ textual parts.") | |||
| 168 | nnmail-extra-headers)))) | 168 | nnmail-extra-headers)))) |
| 169 | 169 | ||
| 170 | (deffoo nnimap-retrieve-headers (articles &optional group server fetch-old) | 170 | (deffoo nnimap-retrieve-headers (articles &optional group server fetch-old) |
| 171 | (when group | ||
| 172 | (setq group (nnimap-decode-gnus-group group))) | ||
| 171 | (with-current-buffer nntp-server-buffer | 173 | (with-current-buffer nntp-server-buffer |
| 172 | (erase-buffer) | 174 | (erase-buffer) |
| 173 | (when (nnimap-possibly-change-group group server) | 175 | (when (nnimap-possibly-change-group group server) |
| @@ -190,7 +192,7 @@ textual parts.") | |||
| 190 | (let (article bytes lines size string) | 192 | (let (article bytes lines size string) |
| 191 | (block nil | 193 | (block nil |
| 192 | (while (not (eobp)) | 194 | (while (not (eobp)) |
| 193 | (while (not (looking-at "\\* [0-9]+ FETCH.+UID \\([0-9]+\\)")) | 195 | (while (not (looking-at "\\* [0-9]+ FETCH.+?UID \\([0-9]+\\)")) |
| 194 | (delete-region (point) (progn (forward-line 1) (point))) | 196 | (delete-region (point) (progn (forward-line 1) (point))) |
| 195 | (when (eobp) | 197 | (when (eobp) |
| 196 | (return))) | 198 | (return))) |
| @@ -523,6 +525,8 @@ textual parts.") | |||
| 523 | nnimap-status-string) | 525 | nnimap-status-string) |
| 524 | 526 | ||
| 525 | (deffoo nnimap-request-article (article &optional group server to-buffer) | 527 | (deffoo nnimap-request-article (article &optional group server to-buffer) |
| 528 | (when group | ||
| 529 | (setq group (nnimap-decode-gnus-group group))) | ||
| 526 | (with-current-buffer nntp-server-buffer | 530 | (with-current-buffer nntp-server-buffer |
| 527 | (let ((result (nnimap-possibly-change-group group server)) | 531 | (let ((result (nnimap-possibly-change-group group server)) |
| 528 | parts structure) | 532 | parts structure) |
| @@ -554,6 +558,8 @@ textual parts.") | |||
| 554 | (cons group article))))))) | 558 | (cons group article))))))) |
| 555 | 559 | ||
| 556 | (deffoo nnimap-request-head (article &optional group server to-buffer) | 560 | (deffoo nnimap-request-head (article &optional group server to-buffer) |
| 561 | (when group | ||
| 562 | (setq group (nnimap-decode-gnus-group group))) | ||
| 557 | (when (nnimap-possibly-change-group group server) | 563 | (when (nnimap-possibly-change-group group server) |
| 558 | (with-current-buffer (nnimap-buffer) | 564 | (with-current-buffer (nnimap-buffer) |
| 559 | (when (stringp article) | 565 | (when (stringp article) |
| @@ -700,7 +706,11 @@ textual parts.") | |||
| 700 | (incf num))) | 706 | (incf num))) |
| 701 | (nreverse parts))) | 707 | (nreverse parts))) |
| 702 | 708 | ||
| 709 | (defun nnimap-decode-gnus-group (group) | ||
| 710 | (decode-coding-string group 'utf-8)) | ||
| 711 | |||
| 703 | (deffoo nnimap-request-group (group &optional server dont-check info) | 712 | (deffoo nnimap-request-group (group &optional server dont-check info) |
| 713 | (setq group (nnimap-decode-gnus-group group)) | ||
| 704 | (let ((result (nnimap-possibly-change-group | 714 | (let ((result (nnimap-possibly-change-group |
| 705 | ;; Don't SELECT the group if we're going to select it | 715 | ;; Don't SELECT the group if we're going to select it |
| 706 | ;; later, anyway. | 716 | ;; later, anyway. |
| @@ -750,16 +760,19 @@ textual parts.") | |||
| 750 | t)))) | 760 | t)))) |
| 751 | 761 | ||
| 752 | (deffoo nnimap-request-create-group (group &optional server args) | 762 | (deffoo nnimap-request-create-group (group &optional server args) |
| 763 | (setq group (nnimap-decode-gnus-group group)) | ||
| 753 | (when (nnimap-possibly-change-group nil server) | 764 | (when (nnimap-possibly-change-group nil server) |
| 754 | (with-current-buffer (nnimap-buffer) | 765 | (with-current-buffer (nnimap-buffer) |
| 755 | (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) | 766 | (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) |
| 756 | 767 | ||
| 757 | (deffoo nnimap-request-delete-group (group &optional force server) | 768 | (deffoo nnimap-request-delete-group (group &optional force server) |
| 769 | (setq group (nnimap-decode-gnus-group group)) | ||
| 758 | (when (nnimap-possibly-change-group nil server) | 770 | (when (nnimap-possibly-change-group nil server) |
| 759 | (with-current-buffer (nnimap-buffer) | 771 | (with-current-buffer (nnimap-buffer) |
| 760 | (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) | 772 | (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) |
| 761 | 773 | ||
| 762 | (deffoo nnimap-request-rename-group (group new-name &optional server) | 774 | (deffoo nnimap-request-rename-group (group new-name &optional server) |
| 775 | (setq group (nnimap-decode-gnus-group group)) | ||
| 763 | (when (nnimap-possibly-change-group nil server) | 776 | (when (nnimap-possibly-change-group nil server) |
| 764 | (with-current-buffer (nnimap-buffer) | 777 | (with-current-buffer (nnimap-buffer) |
| 765 | (nnimap-unselect-group) | 778 | (nnimap-unselect-group) |
| @@ -774,6 +787,7 @@ textual parts.") | |||
| 774 | (nnimap-command "EXAMINE DOES.NOT.EXIST")) | 787 | (nnimap-command "EXAMINE DOES.NOT.EXIST")) |
| 775 | 788 | ||
| 776 | (deffoo nnimap-request-expunge-group (group &optional server) | 789 | (deffoo nnimap-request-expunge-group (group &optional server) |
| 790 | (setq group (nnimap-decode-gnus-group group)) | ||
| 777 | (when (nnimap-possibly-change-group group server) | 791 | (when (nnimap-possibly-change-group group server) |
| 778 | (with-current-buffer (nnimap-buffer) | 792 | (with-current-buffer (nnimap-buffer) |
| 779 | (car (nnimap-command "EXPUNGE"))))) | 793 | (car (nnimap-command "EXPUNGE"))))) |
| @@ -801,6 +815,7 @@ textual parts.") | |||
| 801 | 815 | ||
| 802 | (deffoo nnimap-request-move-article (article group server accept-form | 816 | (deffoo nnimap-request-move-article (article group server accept-form |
| 803 | &optional last internal-move-group) | 817 | &optional last internal-move-group) |
| 818 | (setq group (nnimap-decode-gnus-group group)) | ||
| 804 | (with-temp-buffer | 819 | (with-temp-buffer |
| 805 | (mm-disable-multibyte) | 820 | (mm-disable-multibyte) |
| 806 | (when (funcall (if internal-move-group | 821 | (when (funcall (if internal-move-group |
| @@ -829,6 +844,7 @@ textual parts.") | |||
| 829 | result))))))) | 844 | result))))))) |
| 830 | 845 | ||
| 831 | (deffoo nnimap-request-expire-articles (articles group &optional server force) | 846 | (deffoo nnimap-request-expire-articles (articles group &optional server force) |
| 847 | (setq group (nnimap-decode-gnus-group group)) | ||
| 832 | (cond | 848 | (cond |
| 833 | ((null articles) | 849 | ((null articles) |
| 834 | nil) | 850 | nil) |
| @@ -956,6 +972,8 @@ textual parts.") | |||
| 956 | "delete this article now")))))) | 972 | "delete this article now")))))) |
| 957 | 973 | ||
| 958 | (deffoo nnimap-request-scan (&optional group server) | 974 | (deffoo nnimap-request-scan (&optional group server) |
| 975 | (when group | ||
| 976 | (setq group (nnimap-decode-gnus-group group))) | ||
| 959 | (when (and (nnimap-possibly-change-group nil server) | 977 | (when (and (nnimap-possibly-change-group nil server) |
| 960 | nnimap-inbox | 978 | nnimap-inbox |
| 961 | nnimap-split-methods) | 979 | nnimap-split-methods) |
| @@ -971,6 +989,7 @@ textual parts.") | |||
| 971 | flags)) | 989 | flags)) |
| 972 | 990 | ||
| 973 | (deffoo nnimap-request-update-group-status (group status &optional server) | 991 | (deffoo nnimap-request-update-group-status (group status &optional server) |
| 992 | (setq group (nnimap-decode-gnus-group group)) | ||
| 974 | (when (nnimap-possibly-change-group nil server) | 993 | (when (nnimap-possibly-change-group nil server) |
| 975 | (let ((command (assoc | 994 | (let ((command (assoc |
| 976 | status | 995 | status |
| @@ -981,6 +1000,7 @@ textual parts.") | |||
| 981 | (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) | 1000 | (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) |
| 982 | 1001 | ||
| 983 | (deffoo nnimap-request-set-mark (group actions &optional server) | 1002 | (deffoo nnimap-request-set-mark (group actions &optional server) |
| 1003 | (setq group (nnimap-decode-gnus-group group)) | ||
| 984 | (when (nnimap-possibly-change-group group server) | 1004 | (when (nnimap-possibly-change-group group server) |
| 985 | (let (sequence) | 1005 | (let (sequence) |
| 986 | (with-current-buffer (nnimap-buffer) | 1006 | (with-current-buffer (nnimap-buffer) |
| @@ -1005,6 +1025,7 @@ textual parts.") | |||
| 1005 | (nnimap-wait-for-response sequence)))))) | 1025 | (nnimap-wait-for-response sequence)))))) |
| 1006 | 1026 | ||
| 1007 | (deffoo nnimap-request-accept-article (group &optional server last) | 1027 | (deffoo nnimap-request-accept-article (group &optional server last) |
| 1028 | (setq group (nnimap-decode-gnus-group group)) | ||
| 1008 | (when (nnimap-possibly-change-group nil server) | 1029 | (when (nnimap-possibly-change-group nil server) |
| 1009 | (nnmail-check-syntax) | 1030 | (nnmail-check-syntax) |
| 1010 | (let ((message-id (message-field-value "message-id")) | 1031 | (let ((message-id (message-field-value "message-id")) |
| @@ -1081,6 +1102,7 @@ textual parts.") | |||
| 1081 | result)) | 1102 | result)) |
| 1082 | 1103 | ||
| 1083 | (deffoo nnimap-request-replace-article (article group buffer) | 1104 | (deffoo nnimap-request-replace-article (article group buffer) |
| 1105 | (setq group (nnimap-decode-gnus-group group)) | ||
| 1084 | (let (group-art) | 1106 | (let (group-art) |
| 1085 | (when (and (nnimap-possibly-change-group group nil) | 1107 | (when (and (nnimap-possibly-change-group group nil) |
| 1086 | ;; Put the article into the group. | 1108 | ;; Put the article into the group. |
| @@ -1186,7 +1208,8 @@ textual parts.") | |||
| 1186 | ;; what and how to request the data. | 1208 | ;; what and how to request the data. |
| 1187 | (dolist (info infos) | 1209 | (dolist (info infos) |
| 1188 | (setq params (gnus-info-params info) | 1210 | (setq params (gnus-info-params info) |
| 1189 | group (gnus-group-real-name (gnus-info-group info)) | 1211 | group (nnimap-decode-gnus-group |
| 1212 | (gnus-group-real-name (gnus-info-group info))) | ||
| 1190 | active (cdr (assq 'active params)) | 1213 | active (cdr (assq 'active params)) |
| 1191 | uidvalidity (cdr (assq 'uidvalidity params)) | 1214 | uidvalidity (cdr (assq 'uidvalidity params)) |
| 1192 | modseq (cdr (assq 'modseq params))) | 1215 | modseq (cdr (assq 'modseq params))) |
| @@ -1262,13 +1285,15 @@ textual parts.") | |||
| 1262 | (active (gnus-active group))) | 1285 | (active (gnus-active group))) |
| 1263 | (when active | 1286 | (when active |
| 1264 | (insert (format "%S %d %d y\n" | 1287 | (insert (format "%S %d %d y\n" |
| 1265 | (gnus-group-real-name group) | 1288 | (decode-coding-string |
| 1289 | (gnus-group-real-name group) 'utf-8) | ||
| 1266 | (cdr active) | 1290 | (cdr active) |
| 1267 | (car active))))))))))) | 1291 | (car active))))))))))) |
| 1268 | 1292 | ||
| 1269 | (defun nnimap-update-infos (flags infos) | 1293 | (defun nnimap-update-infos (flags infos) |
| 1270 | (dolist (info infos) | 1294 | (dolist (info infos) |
| 1271 | (let* ((group (gnus-group-real-name (gnus-info-group info))) | 1295 | (let* ((group (nnimap-decode-gnus-group |
| 1296 | (gnus-group-real-name (gnus-info-group info)))) | ||
| 1272 | (marks (cdr (assoc group flags)))) | 1297 | (marks (cdr (assoc group flags)))) |
| 1273 | (when marks | 1298 | (when marks |
| 1274 | (nnimap-update-info info marks))))) | 1299 | (nnimap-update-info info marks))))) |
| @@ -1570,6 +1595,8 @@ textual parts.") | |||
| 1570 | (articles &optional limit force-new dependencies)) | 1595 | (articles &optional limit force-new dependencies)) |
| 1571 | 1596 | ||
| 1572 | (deffoo nnimap-request-thread (header &optional group server) | 1597 | (deffoo nnimap-request-thread (header &optional group server) |
| 1598 | (when group | ||
| 1599 | (setq group (nnimap-decode-gnus-group group))) | ||
| 1573 | (if gnus-refer-thread-use-nnir | 1600 | (if gnus-refer-thread-use-nnir |
| 1574 | (nnir-search-thread header) | 1601 | (nnir-search-thread header) |
| 1575 | (when (nnimap-possibly-change-group group server) | 1602 | (when (nnimap-possibly-change-group group server) |
diff --git a/lisp/gnus/plstore.el b/lisp/gnus/plstore.el index 5f9a61aa843..ab78e508480 100644 --- a/lisp/gnus/plstore.el +++ b/lisp/gnus/plstore.el | |||
| @@ -135,38 +135,38 @@ May either be a string or a list of strings.") | |||
| 135 | (message "%s...%d%%" handback | 135 | (message "%s...%d%%" handback |
| 136 | (if (> total 0) (floor (* (/ current (float total)) 100)) 0)))) | 136 | (if (> total 0) (floor (* (/ current (float total)) 100)) 0)))) |
| 137 | 137 | ||
| 138 | (defun plstore--get-buffer (this) | 138 | (defun plstore--get-buffer (arg) |
| 139 | (aref this 0)) | 139 | (aref arg 0)) |
| 140 | 140 | ||
| 141 | (defun plstore--get-alist (this) | 141 | (defun plstore--get-alist (arg) |
| 142 | (aref this 1)) | 142 | (aref arg 1)) |
| 143 | 143 | ||
| 144 | (defun plstore--get-encrypted-data (this) | 144 | (defun plstore--get-encrypted-data (arg) |
| 145 | (aref this 2)) | 145 | (aref arg 2)) |
| 146 | 146 | ||
| 147 | (defun plstore--get-secret-alist (this) | 147 | (defun plstore--get-secret-alist (arg) |
| 148 | (aref this 3)) | 148 | (aref arg 3)) |
| 149 | 149 | ||
| 150 | (defun plstore--get-merged-alist (this) | 150 | (defun plstore--get-merged-alist (arg) |
| 151 | (aref this 4)) | 151 | (aref arg 4)) |
| 152 | 152 | ||
| 153 | (defun plstore--set-buffer (this buffer) | 153 | (defun plstore--set-buffer (arg buffer) |
| 154 | (aset this 0 buffer)) | 154 | (aset arg 0 buffer)) |
| 155 | 155 | ||
| 156 | (defun plstore--set-alist (this plist) | 156 | (defun plstore--set-alist (arg plist) |
| 157 | (aset this 1 plist)) | 157 | (aset arg 1 plist)) |
| 158 | 158 | ||
| 159 | (defun plstore--set-encrypted-data (this encrypted-data) | 159 | (defun plstore--set-encrypted-data (arg encrypted-data) |
| 160 | (aset this 2 encrypted-data)) | 160 | (aset arg 2 encrypted-data)) |
| 161 | 161 | ||
| 162 | (defun plstore--set-secret-alist (this secret-alist) | 162 | (defun plstore--set-secret-alist (arg secret-alist) |
| 163 | (aset this 3 secret-alist)) | 163 | (aset arg 3 secret-alist)) |
| 164 | 164 | ||
| 165 | (defun plstore--set-merged-alist (this merged-alist) | 165 | (defun plstore--set-merged-alist (arg merged-alist) |
| 166 | (aset this 4 merged-alist)) | 166 | (aset arg 4 merged-alist)) |
| 167 | 167 | ||
| 168 | (defun plstore-get-file (this) | 168 | (defun plstore-get-file (arg) |
| 169 | (buffer-file-name (plstore--get-buffer this))) | 169 | (buffer-file-name (plstore--get-buffer arg))) |
| 170 | 170 | ||
| 171 | (defun plstore--make (&optional buffer alist encrypted-data secret-alist | 171 | (defun plstore--make (&optional buffer alist encrypted-data secret-alist |
| 172 | merged-alist) | 172 | merged-alist) |