diff options
| author | Gnus developers | 2012-01-07 01:13:52 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2012-01-07 01:13:52 +0000 |
| commit | e7719ea1b23a7dc81993320f851c6e94d563dee4 (patch) | |
| tree | 905450cd1f8faa119433078af081b6f965109662 | |
| parent | adf4e762813e58cd7b68982d448269965bb45616 (diff) | |
| download | emacs-e7719ea1b23a7dc81993320f851c6e94d563dee4.tar.gz emacs-e7719ea1b23a7dc81993320f851c6e94d563dee4.zip | |
Merge changes made in Gnus trunk.
2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Group Parameters): Really note precedence.
2012-01-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
* mm-decode.el (mm-interactively-view-part): Use `completing-read',
since ido doesn't work on symbols (bug#9632).
* gnus.el (gnus-group-fast-parameter): Use the same precedence rules
when getting a single value as when getting all the values. This means
that atoms like `gcc-self' work cumulatively, like variable settings,
instead of getting the value from the last matching clause.
(gnus-group-find-parameter): Protect against the group buffer not
existing (bug#9585).
2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-start.el (gnus-activate-group): Document more parameters
(bug#9694).
* gnus-group.el (gnus-group-read-ephemeral-group): Doc clarification
(bug#9692).
* gnus-agent.el (gnus-agent-store-article): Tell the Agent when the
article was fetched, so that it can be expired later (bug#9958).
(gnus-agent-summary-fetch-series): Add doc string.
(gnus-agent-summary-fetch-group): Don't remove tick and dormant marks
(bug#9517).
* nntp.el (nntp-retrieve-groups): Refuse to do retrieval when an async
retrieval is happening.
* gnus.el (gnus-parameters): Doc fix.
2012-01-06 Dave Abrahams <dave@boostpro.com> (tiny change)
* gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden,
show the thread after expansion.
2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-art.el (article-narrow-to-head): If the head is completely
empty, narrow to the empty region (bug#9764).
* gnus-sum.el (gnus-summary-mark-article-as-unread): Mark articles as
read, and then mark them as unread only when the unread mark is used.
This makes `C-- T k' actually work, even though it's confusing.
* gnus-win.el (gnus-all-windows-visible-p): Ensure that the buffer is
alive before we try to find its window.
2012-01-06 Brian Sniffen <bsniffen@akamai.com> (tiny change)
* mm-decode.el (mm-display-external): Use a longer timeout for the
deletion to allow slow programs to display the file.
2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-art.el (gnus-article-browse-delete-temp-files): Fix up the
prompt to be less confusing.
| -rw-r--r-- | doc/misc/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 7 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 56 | ||||
| -rw-r--r-- | lisp/gnus/gnus-agent.el | 13 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 22 | ||||
| -rw-r--r-- | lisp/gnus/gnus-group.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-int.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/gnus-start.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-win.el | 1 | ||||
| -rw-r--r-- | lisp/gnus/gnus.el | 23 | ||||
| -rw-r--r-- | lisp/gnus/mm-decode.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/nntp.el | 9 |
13 files changed, 124 insertions, 31 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 1494665c700..adb5bbbd669 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * gnus.texi (Group Parameters): Really note precedence. | ||
| 4 | |||
| 1 | 2012-01-04 Lars Magne Ingebrigtsen <larsi@gnus.org> | 5 | 2012-01-04 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 6 | ||
| 3 | * gnus.texi (Group Parameters): Note precedence. | 7 | * gnus.texi (Group Parameters): Note precedence. |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 82f424e090c..7728041c83b 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -3180,14 +3180,17 @@ For example: | |||
| 3180 | (to-group . "\\1")) | 3180 | (to-group . "\\1")) |
| 3181 | 3181 | ||
| 3182 | ("mail\\.me" | 3182 | ("mail\\.me" |
| 3183 | (gnus-use-scoring t)) | 3183 | (gnus-use-scoring t)) |
| 3184 | 3184 | ||
| 3185 | ("list\\..*" | 3185 | ("list\\..*" |
| 3186 | (total-expire . t) | 3186 | (total-expire . t) |
| 3187 | (broken-reply-to . t)))) | 3187 | (broken-reply-to . t)))) |
| 3188 | @end lisp | 3188 | @end lisp |
| 3189 | 3189 | ||
| 3190 | The first clause that matches the group name will be used. | 3190 | All clauses that matches the group name will be used, but the last |
| 3191 | setting ``wins''. So if you have two clauses that both match the | ||
| 3192 | group name, and both set, say @code{display}, the last setting will | ||
| 3193 | override the first. | ||
| 3191 | 3194 | ||
| 3192 | Parameters that are strings will be subjected to regexp substitution, | 3195 | Parameters that are strings will be subjected to regexp substitution, |
| 3193 | as the @code{to-group} example shows. | 3196 | as the @code{to-group} example shows. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 70eb599c015..3a7e412dcac 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,5 +1,61 @@ | |||
| 1 | 2012-01-07 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * mm-decode.el (mm-interactively-view-part): Use `completing-read', | ||
| 4 | since ido doesn't work on symbols (bug#9632). | ||
| 5 | |||
| 6 | * gnus.el (gnus-group-fast-parameter): Use the same precedence rules | ||
| 7 | when getting a single value as when getting all the values. This means | ||
| 8 | that atoms like `gcc-self' work cumulatively, like variable settings, | ||
| 9 | instead of getting the value from the last matching clause. | ||
| 10 | (gnus-group-find-parameter): Protect against the group buffer not | ||
| 11 | existing (bug#9585). | ||
| 12 | |||
| 13 | 2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 14 | |||
| 15 | * gnus-start.el (gnus-activate-group): Document more parameters | ||
| 16 | (bug#9694). | ||
| 17 | |||
| 18 | * gnus-group.el (gnus-group-read-ephemeral-group): Doc clarification | ||
| 19 | (bug#9692). | ||
| 20 | |||
| 21 | * gnus-agent.el (gnus-agent-store-article): Tell the Agent when the | ||
| 22 | article was fetched, so that it can be expired later (bug#9958). | ||
| 23 | (gnus-agent-summary-fetch-series): Add doc string. | ||
| 24 | (gnus-agent-summary-fetch-group): Don't remove tick and dormant marks | ||
| 25 | (bug#9517). | ||
| 26 | |||
| 27 | * nntp.el (nntp-retrieve-groups): Refuse to do retrieval when an async | ||
| 28 | retrieval is happening. | ||
| 29 | |||
| 30 | * gnus.el (gnus-parameters): Doc fix. | ||
| 31 | |||
| 32 | 2012-01-06 Dave Abrahams <dave@boostpro.com> (tiny change) | ||
| 33 | |||
| 34 | * gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden, | ||
| 35 | show the thread after expansion. | ||
| 36 | |||
| 37 | 2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 38 | |||
| 39 | * gnus-art.el (article-narrow-to-head): If the head is completely | ||
| 40 | empty, narrow to the empty region (bug#9764). | ||
| 41 | |||
| 42 | * gnus-sum.el (gnus-summary-mark-article-as-unread): Mark articles as | ||
| 43 | read, and then mark them as unread only when the unread mark is used. | ||
| 44 | This makes `C-- T k' actually work, even though it's confusing. | ||
| 45 | |||
| 46 | * gnus-win.el (gnus-all-windows-visible-p): Ensure that the buffer is | ||
| 47 | alive before we try to find its window. | ||
| 48 | |||
| 49 | 2012-01-06 Brian Sniffen <bsniffen@akamai.com> (tiny change) | ||
| 50 | |||
| 51 | * mm-decode.el (mm-display-external): Use a longer timeout for the | ||
| 52 | deletion to allow slow programs to display the file. | ||
| 53 | |||
| 1 | 2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | 54 | 2012-01-06 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 55 | ||
| 56 | * gnus-art.el (gnus-article-browse-delete-temp-files): Fix up the | ||
| 57 | prompt to be less confusing. | ||
| 58 | |||
| 3 | * gnus-msg.el (gnus-summary-reply): Do not give a `switch-to-buffer' | 59 | * gnus-msg.el (gnus-summary-reply): Do not give a `switch-to-buffer' |
| 4 | argument to `message-reply'. This broke `special-display-*' frame | 60 | argument to `message-reply'. This broke `special-display-*' frame |
| 5 | pop-uping (bug#10238). | 61 | pop-uping (bug#10238). |
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 5e73432a3c7..70772bb1d0d 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el | |||
| @@ -1181,6 +1181,7 @@ downloadable." | |||
| 1181 | (gnus-summary-position-point))) | 1181 | (gnus-summary-position-point))) |
| 1182 | 1182 | ||
| 1183 | (defun gnus-agent-summary-fetch-series () | 1183 | (defun gnus-agent-summary-fetch-series () |
| 1184 | "Fetch the process-marked articles into the Agent." | ||
| 1184 | (interactive) | 1185 | (interactive) |
| 1185 | (when gnus-newsgroup-processable | 1186 | (when gnus-newsgroup-processable |
| 1186 | (setq gnus-newsgroup-downloadable | 1187 | (setq gnus-newsgroup-downloadable |
| @@ -1228,8 +1229,9 @@ Optional arg ALL, if non-nil, means to fetch all articles." | |||
| 1228 | (cond (gnus-agent-mark-unread-after-downloaded | 1229 | (cond (gnus-agent-mark-unread-after-downloaded |
| 1229 | (setq gnus-newsgroup-downloadable | 1230 | (setq gnus-newsgroup-downloadable |
| 1230 | (delq article gnus-newsgroup-downloadable)) | 1231 | (delq article gnus-newsgroup-downloadable)) |
| 1231 | 1232 | (when (and (not (member article gnus-newsgroup-dormant)) | |
| 1232 | (gnus-summary-mark-article article gnus-unread-mark)) | 1233 | (not (member article gnus-newsgroup-marked))) |
| 1234 | (gnus-summary-mark-article article gnus-unread-mark))) | ||
| 1233 | (was-marked-downloadable | 1235 | (was-marked-downloadable |
| 1234 | (gnus-summary-set-agent-mark article t))) | 1236 | (gnus-summary-set-agent-mark article t))) |
| 1235 | (when (gnus-summary-goto-subject article nil t) | 1237 | (when (gnus-summary-goto-subject article nil t) |
| @@ -3888,7 +3890,12 @@ has been fetched." | |||
| 3888 | (coding-system-for-write gnus-cache-coding-system)) | 3890 | (coding-system-for-write gnus-cache-coding-system)) |
| 3889 | (when (not (file-exists-p file)) | 3891 | (when (not (file-exists-p file)) |
| 3890 | (gnus-make-directory (file-name-directory file)) | 3892 | (gnus-make-directory (file-name-directory file)) |
| 3891 | (write-region (point-min) (point-max) file nil 'silent)))) | 3893 | (write-region (point-min) (point-max) file nil 'silent) |
| 3894 | ;; Tell the Agent when the article was fetched, so that it can | ||
| 3895 | ;; be expired later. | ||
| 3896 | (gnus-agent-load-alist group) | ||
| 3897 | (gnus-agent-save-alist group (list article) | ||
| 3898 | (time-to-days (current-time)))))) | ||
| 3892 | 3899 | ||
| 3893 | (defun gnus-agent-regenerate-group (group &optional reread) | 3900 | (defun gnus-agent-regenerate-group (group &optional reread) |
| 3894 | "Regenerate GROUP. | 3901 | "Regenerate GROUP. |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index cd99cdb9d5b..b282afd961c 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -2785,10 +2785,11 @@ summary buffer." | |||
| 2785 | (or how (setq how gnus-article-browse-delete-temp)) | 2785 | (or how (setq how gnus-article-browse-delete-temp)) |
| 2786 | (if (eq how 'ask) | 2786 | (if (eq how 'ask) |
| 2787 | (let ((files (length gnus-article-browse-html-temp-list))) | 2787 | (let ((files (length gnus-article-browse-html-temp-list))) |
| 2788 | (gnus-y-or-n-p (format | 2788 | (gnus-y-or-n-p |
| 2789 | "Delete all %s temporary HTML file%s? " | 2789 | (if (= files 1) |
| 2790 | files | 2790 | "Delete the temporary HTML file? " |
| 2791 | (if (> files 1) "s" "")))) | 2791 | (format "Delete all %s temporary HTML files? " |
| 2792 | files)))) | ||
| 2792 | how))) | 2793 | how))) |
| 2793 | (dolist (file gnus-article-browse-html-temp-list) | 2794 | (dolist (file gnus-article-browse-html-temp-list) |
| 2794 | (cond ((file-directory-p file) | 2795 | (cond ((file-directory-p file) |
| @@ -3239,9 +3240,16 @@ always hide." | |||
| 3239 | Point is left at the beginning of the narrowed-to region." | 3240 | Point is left at the beginning of the narrowed-to region." |
| 3240 | (narrow-to-region | 3241 | (narrow-to-region |
| 3241 | (goto-char (point-min)) | 3242 | (goto-char (point-min)) |
| 3242 | (if (search-forward "\n\n" nil 1) | 3243 | (cond |
| 3243 | (1- (point)) | 3244 | ;; Absolutely no headers displayed. |
| 3244 | (point-max))) | 3245 | ((looking-at "\n") |
| 3246 | (point)) | ||
| 3247 | ;; Normal headers. | ||
| 3248 | ((search-forward "\n\n" nil 1) | ||
| 3249 | (1- (point))) | ||
| 3250 | ;; Nothing but headers. | ||
| 3251 | (t | ||
| 3252 | (point-max)))) | ||
| 3245 | (goto-char (point-min))) | 3253 | (goto-char (point-min))) |
| 3246 | 3254 | ||
| 3247 | (defun article-goto-body () | 3255 | (defun article-goto-body () |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 9d4f29487ab..3327bbea5a0 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -2277,8 +2277,8 @@ confirmation is required." | |||
| 2277 | number) | 2277 | number) |
| 2278 | "Read GROUP from METHOD as an ephemeral group. | 2278 | "Read GROUP from METHOD as an ephemeral group. |
| 2279 | If ACTIVATE, request the group first. | 2279 | If ACTIVATE, request the group first. |
| 2280 | If QUIT-CONFIG, use that window configuration when exiting from the | 2280 | If QUIT-CONFIG, use that Gnus window configuration name when |
| 2281 | ephemeral group. | 2281 | exiting from the ephemeral group. |
| 2282 | If REQUEST-ONLY, don't actually read the group; just request it. | 2282 | If REQUEST-ONLY, don't actually read the group; just request it. |
| 2283 | If SELECT-ARTICLES, only select those articles. | 2283 | If SELECT-ARTICLES, only select those articles. |
| 2284 | If PARAMETERS, use those as the group parameters. | 2284 | If PARAMETERS, use those as the group parameters. |
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index 95c8a4431be..20add470abe 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el | |||
| @@ -396,7 +396,7 @@ If it is down, start it up (again)." | |||
| 396 | result)) | 396 | result)) |
| 397 | 397 | ||
| 398 | (defun gnus-request-compact (gnus-command-method) | 398 | (defun gnus-request-compact (gnus-command-method) |
| 399 | "Request groups compaction from GNUS-COMMAND-METHOD." | 399 | "Request groups compaction from GNUS-COMMAND-METHOD." |
| 400 | (when (stringp gnus-command-method) | 400 | (when (stringp gnus-command-method) |
| 401 | (setq gnus-command-method (gnus-server-to-method gnus-command-method))) | 401 | (setq gnus-command-method (gnus-server-to-method gnus-command-method))) |
| 402 | (funcall (gnus-get-function gnus-command-method 'request-compact) | 402 | (funcall (gnus-get-function gnus-command-method 'request-compact) |
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 60ca5aee375..07409162ab8 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -1451,7 +1451,11 @@ newsgroup." | |||
| 1451 | (defun gnus-activate-group (group &optional scan dont-check method | 1451 | (defun gnus-activate-group (group &optional scan dont-check method |
| 1452 | dont-sub-check) | 1452 | dont-sub-check) |
| 1453 | "Check whether a group has been activated or not. | 1453 | "Check whether a group has been activated or not. |
| 1454 | If SCAN, request a scan of that group as well." | 1454 | If SCAN, request a scan of that group as well. If METHOD, use |
| 1455 | that select method instead of determining the method based on the | ||
| 1456 | group name. If DONT-CHECK, don't check check whether the group | ||
| 1457 | actually exists. If DONT-SUB-CHECK or DONT-CHECK, don't let the | ||
| 1458 | backend check whether the group actually exists." | ||
| 1455 | (let ((method (or method (inline (gnus-find-method-for-group group)))) | 1459 | (let ((method (or method (inline (gnus-find-method-for-group group)))) |
| 1456 | active) | 1460 | active) |
| 1457 | (and (inline (gnus-check-server method)) | 1461 | (and (inline (gnus-check-server method)) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 2c8c2ed2ee2..916654c59ab 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -9032,7 +9032,8 @@ non-numeric or nil fetch the number specified by the | |||
| 9032 | 'gnus-article-sort-by-number))) | 9032 | 'gnus-article-sort-by-number))) |
| 9033 | (setq gnus-newsgroup-articles | 9033 | (setq gnus-newsgroup-articles |
| 9034 | (gnus-sorted-nunion gnus-newsgroup-articles (nreverse article-ids))) | 9034 | (gnus-sorted-nunion gnus-newsgroup-articles (nreverse article-ids))) |
| 9035 | (gnus-summary-limit-include-thread id)))) | 9035 | (gnus-summary-limit-include-thread id))) |
| 9036 | (gnus-summary-show-thread)) | ||
| 9036 | 9037 | ||
| 9037 | (defun gnus-summary-refer-article (message-id) | 9038 | (defun gnus-summary-refer-article (message-id) |
| 9038 | "Fetch an article specified by MESSAGE-ID." | 9039 | "Fetch an article specified by MESSAGE-ID." |
| @@ -10886,6 +10887,7 @@ If NO-EXPIRE, auto-expiry will be inhibited." | |||
| 10886 | (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant)) | 10887 | (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant)) |
| 10887 | (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable)) | 10888 | (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable)) |
| 10888 | (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads)) | 10889 | (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads)) |
| 10890 | (setq gnus-newsgroup-unreads (delq article gnus-newsgroup-unreads)) | ||
| 10889 | (cond ((= mark gnus-ticked-mark) | 10891 | (cond ((= mark gnus-ticked-mark) |
| 10890 | (setq gnus-newsgroup-marked | 10892 | (setq gnus-newsgroup-marked |
| 10891 | (gnus-add-to-sorted-list gnus-newsgroup-marked | 10893 | (gnus-add-to-sorted-list gnus-newsgroup-marked |
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el index 483adb94db4..579210c6138 100644 --- a/lisp/gnus/gnus-win.el +++ b/lisp/gnus/gnus-win.el | |||
| @@ -464,6 +464,7 @@ should have point." | |||
| 464 | (unless buffer | 464 | (unless buffer |
| 465 | (error "Invalid buffer type: %s" type)) | 465 | (error "Invalid buffer type: %s" type)) |
| 466 | (if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer))) | 466 | (if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer))) |
| 467 | (buffer-live-p buf) | ||
| 467 | (setq win (gnus-get-buffer-window buf t))) | 468 | (setq win (gnus-get-buffer-window buf t))) |
| 468 | (if (memq 'point split) | 469 | (if (memq 'point split) |
| 469 | (setq all-visible win)) | 470 | (setq all-visible win)) |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 459f4cc881f..2d48f515f3e 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -1146,9 +1146,7 @@ For example: | |||
| 1146 | (display . all)) | 1146 | (display . all)) |
| 1147 | (\"mail\\\\.me\" (gnus-use-scoring t)) | 1147 | (\"mail\\\\.me\" (gnus-use-scoring t)) |
| 1148 | (\"list\\\\..*\" (total-expire . t) | 1148 | (\"list\\\\..*\" (total-expire . t) |
| 1149 | (broken-reply-to . t))) | 1149 | (broken-reply-to . t)))" |
| 1150 | |||
| 1151 | The first clause that matches the group name will be used." | ||
| 1152 | :version "22.1" | 1150 | :version "22.1" |
| 1153 | :group 'gnus-group-various | 1151 | :group 'gnus-group-various |
| 1154 | :type '(repeat (cons regexp | 1152 | :type '(repeat (cons regexp |
| @@ -3862,13 +3860,14 @@ The function `gnus-group-find-parameter' will do that for you." | |||
| 3862 | ;; The car is regexp matching for matching the group name. | 3860 | ;; The car is regexp matching for matching the group name. |
| 3863 | (when (string-match (car head) group) | 3861 | (when (string-match (car head) group) |
| 3864 | ;; The cdr is the parameters. | 3862 | ;; The cdr is the parameters. |
| 3865 | (setq result (gnus-group-parameter-value (cdr head) | 3863 | (let ((this-result |
| 3866 | symbol allow-list)) | 3864 | (gnus-group-parameter-value (cdr head) symbol allow-list t))) |
| 3867 | (when result | 3865 | (when this-result |
| 3868 | ;; Expand if necessary. | 3866 | (setq result (car this-result)) |
| 3869 | (if (and (stringp result) (string-match "\\\\[0-9&]" result)) | 3867 | ;; Expand if necessary. |
| 3870 | (setq result (gnus-expand-group-parameter (car head) | 3868 | (if (and (stringp result) (string-match "\\\\[0-9&]" result)) |
| 3871 | result group)))))) | 3869 | (setq result (gnus-expand-group-parameter |
| 3870 | (car head) result group))))))) | ||
| 3872 | ;; Done. | 3871 | ;; Done. |
| 3873 | result)))) | 3872 | result)))) |
| 3874 | 3873 | ||
| @@ -3878,7 +3877,9 @@ If SYMBOL, return the value of that symbol in the group parameters. | |||
| 3878 | 3877 | ||
| 3879 | If you call this function inside a loop, consider using the faster | 3878 | If you call this function inside a loop, consider using the faster |
| 3880 | `gnus-group-fast-parameter' instead." | 3879 | `gnus-group-fast-parameter' instead." |
| 3881 | (with-current-buffer gnus-group-buffer | 3880 | (with-current-buffer (if (buffer-live-p gnus-group-buffer) |
| 3881 | gnus-group-buffer | ||
| 3882 | (current-buffer)) | ||
| 3882 | (if symbol | 3883 | (if symbol |
| 3883 | (gnus-group-fast-parameter group symbol allow-list) | 3884 | (gnus-group-fast-parameter group symbol allow-list) |
| 3884 | (nconc | 3885 | (nconc |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index ec8dd5bf8c5..10e0fa2861c 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -942,7 +942,7 @@ external if displayed external." | |||
| 942 | ;; In particular, the timer object (which is | 942 | ;; In particular, the timer object (which is |
| 943 | ;; a vector in Emacs but is a list in XEmacs) | 943 | ;; a vector in Emacs but is a list in XEmacs) |
| 944 | ;; requires that it is lexically scoped. | 944 | ;; requires that it is lexically scoped. |
| 945 | (timer (run-at-time 2.0 nil 'ignore))) | 945 | (timer (run-at-time 30.0 nil 'ignore))) |
| 946 | (if (featurep 'xemacs) | 946 | (if (featurep 'xemacs) |
| 947 | (lambda (process state) | 947 | (lambda (process state) |
| 948 | (when (eq 'exit (process-status process)) | 948 | (when (eq 'exit (process-status process)) |
| @@ -1353,7 +1353,7 @@ Use CMD as the process." | |||
| 1353 | (mailcap-mime-info type 'all))) | 1353 | (mailcap-mime-info type 'all))) |
| 1354 | (method (let ((minibuffer-local-completion-map | 1354 | (method (let ((minibuffer-local-completion-map |
| 1355 | mm-viewer-completion-map)) | 1355 | mm-viewer-completion-map)) |
| 1356 | (gnus-completing-read "Viewer" methods)))) | 1356 | (completing-read "Viewer" methods)))) |
| 1357 | (when (string= method "") | 1357 | (when (string= method "") |
| 1358 | (error "No method given")) | 1358 | (error "No method given")) |
| 1359 | (if (string-match "^[^% \t]+$" method) | 1359 | (if (string-match "^[^% \t]+$" method) |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index e089dfbe106..db9d9e252be 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -847,7 +847,14 @@ command whose response triggered the error." | |||
| 847 | "Retrieve group info on GROUPS." | 847 | "Retrieve group info on GROUPS." |
| 848 | (nntp-with-open-group | 848 | (nntp-with-open-group |
| 849 | nil server | 849 | nil server |
| 850 | (when (nntp-find-connection-buffer nntp-server-buffer) | 850 | (when (and (nntp-find-connection-buffer nntp-server-buffer) |
| 851 | (with-current-buffer | ||
| 852 | (nntp-find-connection-buffer nntp-server-buffer) | ||
| 853 | (if (not nntp-retrieval-in-progress) | ||
| 854 | t | ||
| 855 | (message "Warning: Refusing to do retrieval from %s because a retrieval is already happening" | ||
| 856 | server) | ||
| 857 | nil))) | ||
| 851 | (catch 'done | 858 | (catch 'done |
| 852 | (save-excursion | 859 | (save-excursion |
| 853 | ;; Erase nntp-server-buffer before nntp-inhibit-erase. | 860 | ;; Erase nntp-server-buffer before nntp-inhibit-erase. |