Mercurial > emacs
annotate lisp/gnus/gnus-group.el @ 59061:a7985894de81
Comment change.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Tue, 21 Dec 2004 11:50:52 +0000 |
| parents | 4154f5d4733b |
| children | aac0a33f5772 eac554634bfa |
| rev | line source |
|---|---|
| 17493 | 1 ;;; gnus-group.el --- group mode commands for Gnus |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3 ;; Free Software Foundation, Inc. |
| 17493 | 4 |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
5 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 17493 | 6 ;; Keywords: news |
| 7 | |
| 8 ;; This file is part of GNU Emacs. | |
| 9 | |
| 10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
| 11 ;; it under the terms of the GNU General Public License as published by | |
| 12 ;; the Free Software Foundation; either version 2, or (at your option) | |
| 13 ;; any later version. | |
| 14 | |
| 15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
| 16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 ;; GNU General Public License for more details. | |
| 19 | |
| 20 ;; You should have received a copy of the GNU General Public License | |
| 21 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
| 22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 23 ;; Boston, MA 02111-1307, USA. | |
| 24 | |
| 25 ;;; Commentary: | |
| 26 | |
| 27 ;;; Code: | |
| 28 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
29 (eval-when-compile |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
30 (require 'cl) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
31 (defvar tool-bar-map)) |
|
19521
6f6cf9184e93
Require cl at compile time.
Richard M. Stallman <rms@gnu.org>
parents:
18575
diff
changeset
|
32 |
| 17493 | 33 (require 'gnus) |
| 34 (require 'gnus-start) | |
| 35 (require 'nnmail) | |
| 36 (require 'gnus-spec) | |
| 37 (require 'gnus-int) | |
| 38 (require 'gnus-range) | |
| 39 (require 'gnus-win) | |
| 40 (require 'gnus-undo) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
41 (require 'time-date) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
42 (require 'gnus-ems) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
43 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
44 (eval-when-compile (require 'mm-url)) |
| 17493 | 45 |
| 46 (defcustom gnus-group-archive-directory | |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
47 "/ftp@ftp.hpc.uh.edu:/pub/emacs/ding-list/" |
| 17493 | 48 "*The address of the (ding) archives." |
| 49 :group 'gnus-group-foreign | |
| 50 :type 'directory) | |
| 51 | |
| 52 (defcustom gnus-group-recent-archive-directory | |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
53 "/ftp@ftp.hpc.uh.edu:/pub/emacs/ding-list-recent/" |
| 17493 | 54 "*The address of the most recent (ding) articles." |
| 55 :group 'gnus-group-foreign | |
| 56 :type 'directory) | |
| 57 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
58 (defcustom gnus-no-groups-message "No gnus is bad news" |
| 17493 | 59 "*Message displayed by Gnus when no groups are available." |
| 60 :group 'gnus-start | |
| 61 :type 'string) | |
| 62 | |
| 63 (defcustom gnus-keep-same-level nil | |
| 64 "*Non-nil means that the next newsgroup after the current will be on the same level. | |
| 65 When you type, for instance, `n' after reading the last article in the | |
| 66 current newsgroup, you will go to the next newsgroup. If this variable | |
| 67 is nil, the next newsgroup will be the next from the group | |
| 68 buffer. | |
| 69 If this variable is non-nil, Gnus will either put you in the | |
| 70 next newsgroup with the same level, or, if no such newsgroup is | |
| 71 available, the next newsgroup with the lowest possible level higher | |
| 72 than the current level. | |
| 73 If this variable is `best', Gnus will make the next newsgroup the one | |
| 74 with the best level." | |
| 75 :group 'gnus-group-levels | |
| 76 :type '(choice (const nil) | |
| 77 (const best) | |
| 78 (sexp :tag "other" t))) | |
| 79 | |
| 80 (defcustom gnus-group-goto-unread t | |
| 81 "*If non-nil, movement commands will go to the next unread and subscribed group." | |
| 82 :link '(custom-manual "(gnus)Group Maneuvering") | |
| 83 :group 'gnus-group-various | |
| 84 :type 'boolean) | |
| 85 | |
| 86 (defcustom gnus-goto-next-group-when-activating t | |
| 87 "*If non-nil, the \\<gnus-group-mode-map>\\[gnus-group-get-new-news-this-group] command will advance point to the next group." | |
| 88 :link '(custom-manual "(gnus)Scanning New Messages") | |
| 89 :group 'gnus-group-various | |
| 90 :type 'boolean) | |
| 91 | |
| 92 (defcustom gnus-permanently-visible-groups nil | |
| 93 "*Regexp to match groups that should always be listed in the group buffer. | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
94 This means that they will still be listed even when there are no |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
95 unread articles in the groups. |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
96 |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
97 If nil, no groups are permanently visible." |
| 17493 | 98 :group 'gnus-group-listing |
|
24834
d0ccf995f1ae
(gnus-permanently-visible-groups): Fix custom type.
Karl Heuer <kwzh@gnu.org>
parents:
24357
diff
changeset
|
99 :type '(choice regexp (const nil))) |
| 17493 | 100 |
| 101 (defcustom gnus-list-groups-with-ticked-articles t | |
| 102 "*If non-nil, list groups that have only ticked articles. | |
| 103 If nil, only list groups that have unread articles." | |
| 104 :group 'gnus-group-listing | |
| 105 :type 'boolean) | |
| 106 | |
| 107 (defcustom gnus-group-default-list-level gnus-level-subscribed | |
| 108 "*Default listing level. | |
| 109 Ignored if `gnus-group-use-permanent-levels' is non-nil." | |
| 110 :group 'gnus-group-listing | |
| 111 :type 'integer) | |
| 112 | |
| 113 (defcustom gnus-group-list-inactive-groups t | |
| 114 "*If non-nil, inactive groups will be listed." | |
| 115 :group 'gnus-group-listing | |
| 116 :group 'gnus-group-levels | |
| 117 :type 'boolean) | |
| 118 | |
| 119 (defcustom gnus-group-sort-function 'gnus-group-sort-by-alphabet | |
| 120 "*Function used for sorting the group buffer. | |
| 121 This function will be called with group info entries as the arguments | |
| 122 for the groups to be sorted. Pre-made functions include | |
| 123 `gnus-group-sort-by-alphabet', `gnus-group-sort-by-real-name', | |
| 124 `gnus-group-sort-by-unread', `gnus-group-sort-by-level', | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
125 `gnus-group-sort-by-score', `gnus-group-sort-by-method', |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
126 `gnus-group-sort-by-server', and `gnus-group-sort-by-rank'. |
| 17493 | 127 |
| 128 This variable can also be a list of sorting functions. In that case, | |
| 129 the most significant sort function should be the last function in the | |
| 130 list." | |
| 131 :group 'gnus-group-listing | |
| 132 :link '(custom-manual "(gnus)Sorting Groups") | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
133 :type '(repeat :value-to-internal (lambda (widget value) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
134 (if (listp value) value (list value))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
135 :match (lambda (widget value) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
136 (or (symbolp value) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
137 (widget-editable-list-match widget value))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
138 (choice (function-item gnus-group-sort-by-alphabet) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
139 (function-item gnus-group-sort-by-real-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
140 (function-item gnus-group-sort-by-unread) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
141 (function-item gnus-group-sort-by-level) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
142 (function-item gnus-group-sort-by-score) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
143 (function-item gnus-group-sort-by-method) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
144 (function-item gnus-group-sort-by-server) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
145 (function-item gnus-group-sort-by-rank) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
146 (function :tag "other" nil)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
147 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
148 (defcustom gnus-group-line-format "%M\%S\%p\%P\%5y:%B%(%g%)%l %O\n" |
| 17493 | 149 "*Format of group lines. |
| 150 It works along the same lines as a normal formatting string, | |
| 151 with some simple extensions. | |
| 152 | |
| 153 %M Only marked articles (character, \"*\" or \" \") | |
| 154 %S Whether the group is subscribed (character, \"U\", \"K\", \"Z\" or \" \") | |
| 155 %L Level of subscribedness (integer) | |
| 156 %N Number of unread articles (integer) | |
| 157 %I Number of dormant articles (integer) | |
| 158 %i Number of ticked and dormant (integer) | |
| 159 %T Number of ticked articles (integer) | |
| 160 %R Number of read articles (integer) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
161 %U Number of unseen articles (integer) |
| 17493 | 162 %t Estimated total number of articles (integer) |
| 163 %y Number of unread, unticked articles (integer) | |
| 164 %G Group name (string) | |
| 165 %g Qualified group name (string) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
166 %c Short (collapsed) group name. See `gnus-group-uncollapsed-levels'. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
167 %C Group comment (string) |
| 17493 | 168 %D Group description (string) |
| 169 %s Select method (string) | |
| 170 %o Moderated group (char, \"m\") | |
| 171 %p Process mark (char) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
172 %B Whether a summary buffer for the group is open (char, \"*\") |
| 17493 | 173 %O Moderated group (string, \"(m)\" or \"\") |
| 174 %P Topic indentation (string) | |
| 175 %m Whether there is new(ish) mail in the group (char, \"%\") | |
| 176 %l Whether there are GroupLens predictions for this group (string) | |
| 177 %n Select from where (string) | |
| 178 %z A string that look like `<%s:%n>' if a foreign select method is used | |
| 179 %d The date the group was last entered. | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
180 %E Icon as defined by `gnus-group-icon-list'. |
| 17493 | 181 %u User defined specifier. The next character in the format string should |
| 182 be a letter. Gnus will call the function gnus-user-format-function-X, | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
183 where X is the letter following %u. The function will be passed a |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
184 single dummy parameter as argument. The function should return a |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
185 string, which will be inserted into the buffer just like information |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
186 from any other group specifier. |
| 17493 | 187 |
| 188 Note that this format specification is not always respected. For | |
| 189 reasons of efficiency, when listing killed groups, this specification | |
| 190 is ignored altogether. If the spec is changed considerably, your | |
| 191 output may end up looking strange when listing both alive and killed | |
| 192 groups. | |
| 193 | |
| 194 If you use %o or %O, reading the active file will be slower and quite | |
| 195 a bit of extra memory will be used. %D will also worsen performance. | |
| 196 Also note that if you change the format specification to include any | |
| 197 of these specs, you must probably re-start Gnus to see them go into | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
198 effect. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
199 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
200 General format specifiers can also be used. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
201 See Info node `(gnus)Formatting Variables'." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
202 :link '(custom-manual "(gnus)Formatting Variables") |
| 17493 | 203 :group 'gnus-group-visual |
| 204 :type 'string) | |
| 205 | |
| 206 (defcustom gnus-group-mode-line-format "Gnus: %%b {%M\%:%S}" | |
| 207 "*The format specification for the group mode line. | |
| 208 It works along the same lines as a normal formatting string, | |
| 209 with some simple extensions: | |
| 210 | |
| 211 %S The native news server. | |
| 212 %M The native select method. | |
| 213 %: \":\" if %S isn't \"\"." | |
| 214 :group 'gnus-group-visual | |
| 215 :type 'string) | |
| 216 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
217 ;; Extracted from gnus-xmas-redefine in order to preserve user settings |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
218 (when (featurep 'xemacs) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
219 (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
220 (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar)) |
| 17493 | 221 |
| 222 (defcustom gnus-group-menu-hook nil | |
| 223 "Hook run after the creation of the group mode menu." | |
| 224 :group 'gnus-group-various | |
| 225 :type 'hook) | |
| 226 | |
| 227 (defcustom gnus-group-catchup-group-hook nil | |
| 228 "Hook run when catching up a group from the group buffer." | |
| 229 :group 'gnus-group-various | |
| 230 :link '(custom-manual "(gnus)Group Data") | |
| 231 :type 'hook) | |
| 232 | |
| 233 (defcustom gnus-group-update-group-hook nil | |
| 234 "Hook called when updating group lines." | |
| 235 :group 'gnus-group-visual | |
| 236 :type 'hook) | |
| 237 | |
| 238 (defcustom gnus-group-prepare-function 'gnus-group-prepare-flat | |
| 239 "*A function that is called to generate the group buffer. | |
| 240 The function is called with three arguments: The first is a number; | |
| 241 all group with a level less or equal to that number should be listed, | |
| 242 if the second is non-nil, empty groups should also be displayed. If | |
| 243 the third is non-nil, it is a number. No groups with a level lower | |
| 244 than this number should be displayed. | |
| 245 | |
| 246 The only current function implemented is `gnus-group-prepare-flat'." | |
| 247 :group 'gnus-group-listing | |
| 248 :type 'function) | |
| 249 | |
| 250 (defcustom gnus-group-prepare-hook nil | |
| 251 "Hook called after the group buffer has been generated. | |
| 252 If you want to modify the group buffer, you can use this hook." | |
| 253 :group 'gnus-group-listing | |
| 254 :type 'hook) | |
| 255 | |
| 256 (defcustom gnus-suspend-gnus-hook nil | |
| 257 "Hook called when suspending (not exiting) Gnus." | |
| 258 :group 'gnus-exit | |
| 259 :type 'hook) | |
| 260 | |
| 261 (defcustom gnus-exit-gnus-hook nil | |
| 262 "Hook called when exiting Gnus." | |
| 263 :group 'gnus-exit | |
| 264 :type 'hook) | |
| 265 | |
| 266 (defcustom gnus-after-exiting-gnus-hook nil | |
| 267 "Hook called after exiting Gnus." | |
| 268 :group 'gnus-exit | |
| 269 :type 'hook) | |
| 270 | |
| 271 (defcustom gnus-group-update-hook '(gnus-group-highlight-line) | |
| 272 "Hook called when a group line is changed. | |
| 273 The hook will not be called if `gnus-visual' is nil. | |
| 274 | |
| 275 The default function `gnus-group-highlight-line' will | |
| 276 highlight the line according to the `gnus-group-highlight' | |
| 277 variable." | |
| 278 :group 'gnus-group-visual | |
| 279 :type 'hook) | |
| 280 | |
| 281 (defcustom gnus-useful-groups | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
282 '(("(ding) mailing list mirrored at sunsite.auc.dk" |
| 17493 | 283 "emacs.ding" |
| 284 (nntp "sunsite.auc.dk" | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
285 (nntp-address "sunsite.auc.dk"))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
286 ("gnus-bug archive" |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
287 "gnus-bug" |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
288 (nndir "/ftp@ftp.ifi.uio.no:/pub/emacs/gnus/gnus-bug/")) |
| 17493 | 289 ("Gnus help group" |
| 290 "gnus-help" | |
| 291 (nndoc "gnus-help" | |
| 292 (nndoc-article-type mbox) | |
| 293 (eval `(nndoc-address | |
| 294 ,(let ((file (nnheader-find-etc-directory | |
| 295 "gnus-tut.txt" t))) | |
| 296 (unless file | |
| 297 (error "Couldn't find doc group")) | |
| 298 file)))))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
299 "*Alist of useful group-server pairs." |
| 17493 | 300 :group 'gnus-group-listing |
| 301 :type '(repeat (list (string :tag "Description") | |
| 302 (string :tag "Name") | |
| 303 (sexp :tag "Method")))) | |
| 304 | |
| 305 (defcustom gnus-group-highlight | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
306 '(;; Mail. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
307 ((and mailp (= unread 0) (eq level 1)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
308 gnus-group-mail-1-empty-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
309 ((and mailp (eq level 1)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
310 gnus-group-mail-1-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
311 ((and mailp (= unread 0) (eq level 2)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
312 gnus-group-mail-2-empty-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
313 ((and mailp (eq level 2)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
314 gnus-group-mail-2-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
315 ((and mailp (= unread 0) (eq level 3)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
316 gnus-group-mail-3-empty-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
317 ((and mailp (eq level 3)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
318 gnus-group-mail-3-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
319 ((and mailp (= unread 0)) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
320 gnus-group-mail-low-empty-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
321 ((and mailp) . |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
322 gnus-group-mail-low-face) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
323 ;; News. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
324 ((and (= unread 0) (eq level 1)) . |
| 17493 | 325 gnus-group-news-1-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
326 ((and (eq level 1)) . |
| 17493 | 327 gnus-group-news-1-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
328 ((and (= unread 0) (eq level 2)) . |
| 17493 | 329 gnus-group-news-2-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
330 ((and (eq level 2)) . |
| 17493 | 331 gnus-group-news-2-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
332 ((and (= unread 0) (eq level 3)) . |
| 17493 | 333 gnus-group-news-3-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
334 ((and (eq level 3)) . |
| 17493 | 335 gnus-group-news-3-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
336 ((and (= unread 0) (eq level 4)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
337 gnus-group-news-4-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
338 ((and (eq level 4)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
339 gnus-group-news-4-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
340 ((and (= unread 0) (eq level 5)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
341 gnus-group-news-5-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
342 ((and (eq level 5)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
343 gnus-group-news-5-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
344 ((and (= unread 0) (eq level 6)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
345 gnus-group-news-6-empty-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
346 ((and (eq level 6)) . |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
347 gnus-group-news-6-face) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
348 ((and (= unread 0)) . |
| 17493 | 349 gnus-group-news-low-empty-face) |
| 350 (t . | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
351 gnus-group-news-low-face)) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
352 "*Controls the highlighting of group buffer lines. |
| 17493 | 353 |
| 354 Below is a list of `Form'/`Face' pairs. When deciding how a a | |
| 355 particular group line should be displayed, each form is | |
| 356 evaluated. The content of the face field after the first true form is | |
| 357 used. You can change how those group lines are displayed by | |
| 358 editing the face field. | |
| 359 | |
| 360 It is also possible to change and add form fields, but currently that | |
| 361 requires an understanding of Lisp expressions. Hopefully this will | |
| 362 change in a future release. For now, you can use the following | |
| 363 variables in the Lisp expression: | |
| 364 | |
| 365 group: The name of the group. | |
| 366 unread: The number of unread articles in the group. | |
| 367 method: The select method used. | |
| 368 mailp: Whether it's a mail group or not. | |
| 369 level: The level of the group. | |
| 370 score: The score of the group. | |
| 371 ticked: The number of ticked articles." | |
| 372 :group 'gnus-group-visual | |
| 373 :type '(repeat (cons (sexp :tag "Form") face))) | |
| 374 | |
| 375 (defcustom gnus-new-mail-mark ?% | |
| 376 "Mark used for groups with new mail." | |
| 377 :group 'gnus-group-visual | |
| 378 :type 'character) | |
| 379 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
380 (defgroup gnus-group-icons nil |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
381 "Add Icons to your group buffer. " |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
382 :group 'gnus-group-visual) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
383 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
384 (defcustom gnus-group-icon-list |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
385 nil |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
386 "*Controls the insertion of icons into group buffer lines. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
387 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
388 Below is a list of `Form'/`File' pairs. When deciding how a |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
389 particular group line should be displayed, each form is evaluated. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
390 The icon from the file field after the first true form is used. You |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
391 can change how those group lines are displayed by editing the file |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
392 field. The File will either be found in the |
|
49274
eb2699620e9c
* gnus-agent.el: Don't use `path'.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
48588
diff
changeset
|
393 `gnus-group-glyph-directory' or by designating absolute name of the |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
394 file. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
395 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
396 It is also possible to change and add form fields, but currently that |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
397 requires an understanding of Lisp expressions. Hopefully this will |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
398 change in a future release. For now, you can use the following |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
399 variables in the Lisp expression: |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
400 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
401 group: The name of the group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
402 unread: The number of unread articles in the group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
403 method: The select method used. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
404 mailp: Whether it's a mail group or not. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
405 newsp: Whether it's a news group or not |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
406 level: The level of the group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
407 score: The score of the group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
408 ticked: The number of ticked articles." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
409 :group 'gnus-group-icons |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
410 :type '(repeat (cons (sexp :tag "Form") file))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
411 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
412 (defcustom gnus-group-name-charset-method-alist nil |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
413 "Alist of method and the charset for group names. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
414 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
415 For example: |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
416 (((nntp \"news.com.cn\") . cn-gb-2312))" |
|
33395
83221012a4f7
(gnus-group-name-charset-method-alist): Add
Dave Love <fx@gnu.org>
parents:
33344
diff
changeset
|
417 :version "21.1" |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
418 :group 'gnus-charset |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
419 :type '(repeat (cons (sexp :tag "Method") (symbol :tag "Charset")))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
420 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
421 (defcustom gnus-group-name-charset-group-alist |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
422 (if (or (and (fboundp 'find-coding-system) (find-coding-system 'utf-8)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
423 (mm-coding-system-p 'utf-8)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
424 '((".*" . utf-8)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
425 nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
426 "Alist of group regexp and the charset for group names. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
427 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
428 For example: |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
429 ((\"\\.com\\.cn:\" . cn-gb-2312))" |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
430 :group 'gnus-charset |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
431 :type '(repeat (cons (regexp :tag "Group") (symbol :tag "Charset")))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
432 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
433 (defcustom gnus-group-jump-to-group-prompt nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
434 "Default prompt for `gnus-group-jump-to-group'. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
435 If non-nil, the value should be a string, e.g. \"nnml:\", |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
436 in which case `gnus-group-jump-to-group' offers \"Group: nnml:\" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
437 in the minibuffer prompt." |
|
57153
497f0d2ca551
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-558
Miles Bader <miles@gnu.org>
parents:
56927
diff
changeset
|
438 :version "21.4" |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
439 :group 'gnus-group-various |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
440 :type '(choice (string :tag "Prompt string") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
441 (const :tag "Empty" nil))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
442 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
443 (defvar gnus-group-listing-limit 1000 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
444 "*A limit of the number of groups when listing. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
445 If the number of groups is larger than the limit, list them in a |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
446 simple manner.") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
447 |
| 17493 | 448 ;;; Internal variables |
| 449 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
450 (defvar gnus-group-is-exiting-p nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
451 (defvar gnus-group-is-exiting-without-update-p nil) |
| 17493 | 452 (defvar gnus-group-sort-alist-function 'gnus-group-sort-flat |
| 453 "Function for sorting the group buffer.") | |
| 454 | |
| 455 (defvar gnus-group-sort-selected-function 'gnus-group-sort-selected-flat | |
| 456 "Function for sorting the selected groups in the group buffer.") | |
| 457 | |
| 458 (defvar gnus-group-indentation-function nil) | |
| 459 (defvar gnus-goto-missing-group-function nil) | |
| 460 (defvar gnus-group-update-group-function nil) | |
| 461 (defvar gnus-group-goto-next-group-function nil | |
| 462 "Function to override finding the next group after listing groups.") | |
| 463 | |
| 464 (defvar gnus-group-edit-buffer nil) | |
| 465 | |
| 466 (defvar gnus-group-line-format-alist | |
| 467 `((?M gnus-tmp-marked-mark ?c) | |
| 468 (?S gnus-tmp-subscribed ?c) | |
| 469 (?L gnus-tmp-level ?d) | |
| 470 (?N (cond ((eq number t) "*" ) | |
| 471 ((numberp number) | |
| 472 (int-to-string | |
| 473 (+ number | |
| 474 (gnus-range-length (cdr (assq 'dormant gnus-tmp-marked))) | |
| 475 (gnus-range-length (cdr (assq 'tick gnus-tmp-marked)))))) | |
| 476 (t number)) ?s) | |
| 477 (?R gnus-tmp-number-of-read ?s) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
478 (?U (gnus-number-of-unseen-articles-in-group gnus-tmp-group) ?d) |
| 17493 | 479 (?t gnus-tmp-number-total ?d) |
| 480 (?y gnus-tmp-number-of-unread ?s) | |
| 481 (?I (gnus-range-length (cdr (assq 'dormant gnus-tmp-marked))) ?d) | |
| 482 (?T (gnus-range-length (cdr (assq 'tick gnus-tmp-marked))) ?d) | |
| 483 (?i (+ (gnus-range-length (cdr (assq 'dormant gnus-tmp-marked))) | |
| 484 (gnus-range-length (cdr (assq 'tick gnus-tmp-marked)))) ?d) | |
| 485 (?g gnus-tmp-group ?s) | |
| 486 (?G gnus-tmp-qualified-group ?s) | |
| 487 (?c (gnus-short-group-name gnus-tmp-group) ?s) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
488 (?C gnus-tmp-comment ?s) |
| 17493 | 489 (?D gnus-tmp-newsgroup-description ?s) |
| 490 (?o gnus-tmp-moderated ?c) | |
| 491 (?O gnus-tmp-moderated-string ?s) | |
| 492 (?p gnus-tmp-process-marked ?c) | |
| 493 (?s gnus-tmp-news-server ?s) | |
|
57784
55829134ac17
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
Miles Bader <miles@gnu.org>
parents:
57617
diff
changeset
|
494 (?n ,(if (featurep 'xemacs) |
|
55829134ac17
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
Miles Bader <miles@gnu.org>
parents:
57617
diff
changeset
|
495 '(symbol-name gnus-tmp-news-method) |
|
55829134ac17
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
Miles Bader <miles@gnu.org>
parents:
57617
diff
changeset
|
496 'gnus-tmp-news-method) |
|
55829134ac17
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
Miles Bader <miles@gnu.org>
parents:
57617
diff
changeset
|
497 ?s) |
| 17493 | 498 (?P gnus-group-indentation ?s) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
499 (?E gnus-tmp-group-icon ?s) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
500 (?B gnus-tmp-summary-live ?c) |
| 17493 | 501 (?l gnus-tmp-grouplens ?s) |
| 502 (?z gnus-tmp-news-method-string ?s) | |
| 503 (?m (gnus-group-new-mail gnus-tmp-group) ?c) | |
| 504 (?d (gnus-group-timestamp-string gnus-tmp-group) ?s) | |
| 505 (?u gnus-tmp-user-defined ?s))) | |
| 506 | |
| 507 (defvar gnus-group-mode-line-format-alist | |
| 508 `((?S gnus-tmp-news-server ?s) | |
| 509 (?M gnus-tmp-news-method ?s) | |
| 510 (?u gnus-tmp-user-defined ?s) | |
| 511 (?: gnus-tmp-colon ?s))) | |
| 512 | |
| 513 (defvar gnus-topic-topology nil | |
| 514 "The complete topic hierarchy.") | |
| 515 | |
| 516 (defvar gnus-topic-alist nil | |
| 517 "The complete topic-group alist.") | |
| 518 | |
| 519 (defvar gnus-group-marked nil) | |
| 520 | |
| 521 (defvar gnus-group-list-mode nil) | |
| 522 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
523 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
524 (defvar gnus-group-icon-cache nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
525 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
526 (defvar gnus-group-listed-groups nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
527 (defvar gnus-group-list-option nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
528 |
| 17493 | 529 ;;; |
| 530 ;;; Gnus group mode | |
| 531 ;;; | |
| 532 | |
| 533 (put 'gnus-group-mode 'mode-class 'special) | |
| 534 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
535 (gnus-define-keys gnus-group-mode-map |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
536 " " gnus-group-read-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
537 "=" gnus-group-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
538 "\r" gnus-group-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
539 "\M-\r" gnus-group-quick-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
540 "\M- " gnus-group-visible-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
541 [(meta control return)] gnus-group-select-group-ephemerally |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
542 "j" gnus-group-jump-to-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
543 "n" gnus-group-next-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
544 "p" gnus-group-prev-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
545 "\177" gnus-group-prev-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
546 [delete] gnus-group-prev-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
547 [backspace] gnus-group-prev-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
548 "N" gnus-group-next-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
549 "P" gnus-group-prev-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
550 "\M-n" gnus-group-next-unread-group-same-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
551 "\M-p" gnus-group-prev-unread-group-same-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
552 "," gnus-group-best-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
553 "." gnus-group-first-unread-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
554 "u" gnus-group-unsubscribe-current-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
555 "U" gnus-group-unsubscribe-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
556 "c" gnus-group-catchup-current |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
557 "C" gnus-group-catchup-current-all |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
558 "\M-c" gnus-group-clear-data |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
559 "l" gnus-group-list-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
560 "L" gnus-group-list-all-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
561 "m" gnus-group-mail |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
562 "i" gnus-group-news |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
563 "g" gnus-group-get-new-news |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
564 "\M-g" gnus-group-get-new-news-this-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
565 "R" gnus-group-restart |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
566 "r" gnus-group-read-init-file |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
567 "B" gnus-group-browse-foreign-server |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
568 "b" gnus-group-check-bogus-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
569 "F" gnus-group-find-new-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
570 "\C-c\C-d" gnus-group-describe-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
571 "\M-d" gnus-group-describe-all-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
572 "\C-c\C-a" gnus-group-apropos |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
573 "\C-c\M-\C-a" gnus-group-description-apropos |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
574 "a" gnus-group-post-news |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
575 "\ek" gnus-group-edit-local-kill |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
576 "\eK" gnus-group-edit-global-kill |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
577 "\C-k" gnus-group-kill-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
578 "\C-y" gnus-group-yank-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
579 "\C-w" gnus-group-kill-region |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
580 "\C-x\C-t" gnus-group-transpose-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
581 "\C-c\C-l" gnus-group-list-killed |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
582 "\C-c\C-x" gnus-group-expire-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
583 "\C-c\M-\C-x" gnus-group-expire-all-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
584 "V" gnus-version |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
585 "s" gnus-group-save-newsrc |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
586 "z" gnus-group-suspend |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
587 "q" gnus-group-exit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
588 "Q" gnus-group-quit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
589 "?" gnus-group-describe-briefly |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
590 "\C-c\C-i" gnus-info-find-node |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
591 "\M-e" gnus-group-edit-group-method |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
592 "^" gnus-group-enter-server-mode |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
593 gnus-mouse-2 gnus-mouse-pick-group |
|
59027
4154f5d4733b
(gnus-group-mode-map): Map follow-link to mouse-face.
Kim F. Storm <storm@cua.dk>
parents:
58959
diff
changeset
|
594 [follow-link] mouse-face |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
595 "<" beginning-of-buffer |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
596 ">" end-of-buffer |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
597 "\C-c\C-b" gnus-bug |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
598 "\C-c\C-s" gnus-group-sort-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
599 "t" gnus-topic-mode |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
600 "\C-c\M-g" gnus-activate-all-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
601 "\M-&" gnus-group-universal-argument |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
602 "#" gnus-group-mark-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
603 "\M-#" gnus-group-unmark-group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
604 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
605 (gnus-define-keys (gnus-group-mark-map "M" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
606 "m" gnus-group-mark-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
607 "u" gnus-group-unmark-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
608 "w" gnus-group-mark-region |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
609 "b" gnus-group-mark-buffer |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
610 "r" gnus-group-mark-regexp |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
611 "U" gnus-group-unmark-all-groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
612 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
613 (gnus-define-keys (gnus-group-sieve-map "D" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
614 "u" gnus-sieve-update |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
615 "g" gnus-sieve-generate) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
616 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
617 (gnus-define-keys (gnus-group-group-map "G" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
618 "d" gnus-group-make-directory-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
619 "h" gnus-group-make-help-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
620 "u" gnus-group-make-useful-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
621 "a" gnus-group-make-archive-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
622 "k" gnus-group-make-kiboze-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
623 "l" gnus-group-nnimap-edit-acl |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
624 "m" gnus-group-make-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
625 "E" gnus-group-edit-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
626 "e" gnus-group-edit-group-method |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
627 "p" gnus-group-edit-group-parameters |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
628 "v" gnus-group-add-to-virtual |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
629 "V" gnus-group-make-empty-virtual |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
630 "D" gnus-group-enter-directory |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
631 "f" gnus-group-make-doc-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
632 "w" gnus-group-make-web-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
633 "M" gnus-group-read-ephemeral-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
634 "r" gnus-group-rename-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
635 "R" gnus-group-make-rss-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
636 "c" gnus-group-customize |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
637 "x" gnus-group-nnimap-expunge |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
638 "\177" gnus-group-delete-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
639 [delete] gnus-group-delete-group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
640 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
641 (gnus-define-keys (gnus-group-soup-map "s" gnus-group-group-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
642 "b" gnus-group-brew-soup |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
643 "w" gnus-soup-save-areas |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
644 "s" gnus-soup-send-replies |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
645 "p" gnus-soup-pack-packet |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
646 "r" nnsoup-pack-replies) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
647 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
648 (gnus-define-keys (gnus-group-sort-map "S" gnus-group-group-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
649 "s" gnus-group-sort-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
650 "a" gnus-group-sort-groups-by-alphabet |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
651 "u" gnus-group-sort-groups-by-unread |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
652 "l" gnus-group-sort-groups-by-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
653 "v" gnus-group-sort-groups-by-score |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
654 "r" gnus-group-sort-groups-by-rank |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
655 "m" gnus-group-sort-groups-by-method |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
656 "n" gnus-group-sort-groups-by-real-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
657 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
658 (gnus-define-keys (gnus-group-sort-selected-map "P" gnus-group-group-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
659 "s" gnus-group-sort-selected-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
660 "a" gnus-group-sort-selected-groups-by-alphabet |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
661 "u" gnus-group-sort-selected-groups-by-unread |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
662 "l" gnus-group-sort-selected-groups-by-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
663 "v" gnus-group-sort-selected-groups-by-score |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
664 "r" gnus-group-sort-selected-groups-by-rank |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
665 "m" gnus-group-sort-selected-groups-by-method |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
666 "n" gnus-group-sort-selected-groups-by-real-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
667 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
668 (gnus-define-keys (gnus-group-list-map "A" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
669 "k" gnus-group-list-killed |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
670 "z" gnus-group-list-zombies |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
671 "s" gnus-group-list-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
672 "u" gnus-group-list-all-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
673 "A" gnus-group-list-active |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
674 "a" gnus-group-apropos |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
675 "d" gnus-group-description-apropos |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
676 "m" gnus-group-list-matching |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
677 "M" gnus-group-list-all-matching |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
678 "l" gnus-group-list-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
679 "c" gnus-group-list-cached |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
680 "?" gnus-group-list-dormant) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
681 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
682 (gnus-define-keys (gnus-group-list-limit-map "/" gnus-group-list-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
683 "k" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
684 "z" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
685 "s" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
686 "u" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
687 "A" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
688 "m" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
689 "M" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
690 "l" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
691 "c" gnus-group-list-limit |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
692 "?" gnus-group-list-limit) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
693 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
694 (gnus-define-keys (gnus-group-list-flush-map "f" gnus-group-list-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
695 "k" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
696 "z" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
697 "s" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
698 "u" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
699 "A" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
700 "m" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
701 "M" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
702 "l" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
703 "c" gnus-group-list-flush |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
704 "?" gnus-group-list-flush) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
705 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
706 (gnus-define-keys (gnus-group-list-plus-map "p" gnus-group-list-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
707 "k" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
708 "z" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
709 "s" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
710 "u" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
711 "A" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
712 "m" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
713 "M" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
714 "l" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
715 "c" gnus-group-list-plus |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
716 "?" gnus-group-list-plus) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
717 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
718 (gnus-define-keys (gnus-group-score-map "W" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
719 "f" gnus-score-flush-cache) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
720 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
721 (gnus-define-keys (gnus-group-help-map "H" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
722 "c" gnus-group-fetch-charter |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
723 "C" gnus-group-fetch-control |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
724 "d" gnus-group-describe-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
725 "f" gnus-group-fetch-faq |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
726 "v" gnus-version) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
727 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
728 (gnus-define-keys (gnus-group-sub-map "S" gnus-group-mode-map) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
729 "l" gnus-group-set-current-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
730 "t" gnus-group-unsubscribe-current-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
731 "s" gnus-group-unsubscribe-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
732 "k" gnus-group-kill-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
733 "y" gnus-group-yank-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
734 "w" gnus-group-kill-region |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
735 "\C-k" gnus-group-kill-level |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
736 "z" gnus-group-kill-all-zombies) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
737 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
738 (defun gnus-topic-mode-p () |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
739 "Return non-nil in `gnus-topic-mode'." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
740 (and (boundp 'gnus-topic-mode) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
741 (symbol-value 'gnus-topic-mode))) |
| 17493 | 742 |
| 743 (defun gnus-group-make-menu-bar () | |
| 744 (gnus-turn-off-edit-menu 'group) | |
| 745 (unless (boundp 'gnus-group-reading-menu) | |
| 746 | |
| 747 (easy-menu-define | |
| 748 gnus-group-reading-menu gnus-group-mode-map "" | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
749 `("Group" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
750 ["Read" gnus-group-read-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
751 :included (not (gnus-topic-mode-p)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
752 :active (gnus-group-group-name)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
753 ["Read " gnus-topic-read-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
754 :included (gnus-topic-mode-p)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
755 ["Select" gnus-group-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
756 :included (not (gnus-topic-mode-p)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
757 :active (gnus-group-group-name)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
758 ["Select " gnus-topic-select-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
759 :included (gnus-topic-mode-p)] |
| 17493 | 760 ["See old articles" (gnus-group-select-group 'all) |
| 761 :keys "C-u SPC" :active (gnus-group-group-name)] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
762 ["Catch up" gnus-group-catchup-current |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
763 :included (not (gnus-topic-mode-p)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
764 :active (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
765 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
766 '(:help "Mark unread articles in the current group as read"))] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
767 ["Catch up " gnus-topic-catchup-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
768 :included (gnus-topic-mode-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
769 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
770 '(:help "Mark unread articles in the current group or topic as read"))] |
| 17493 | 771 ["Catch up all articles" gnus-group-catchup-current-all |
| 772 (gnus-group-group-name)] | |
| 773 ["Check for new articles" gnus-group-get-new-news-this-group | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
774 :included (not (gnus-topic-mode-p)) |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
775 :active (gnus-group-group-name) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
776 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
777 '(:help "Check for new messages in current group"))] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
778 ["Check for new articles " gnus-topic-get-new-news-this-topic |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
779 :included (gnus-topic-mode-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
780 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
781 '(:help "Check for new messages in current group or topic"))] |
| 17493 | 782 ["Toggle subscription" gnus-group-unsubscribe-current-group |
| 783 (gnus-group-group-name)] | |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
784 ["Kill" gnus-group-kill-group :active (gnus-group-group-name) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
785 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
786 '(:help "Kill (remove) current group"))] |
| 17493 | 787 ["Yank" gnus-group-yank-group gnus-list-of-killed-groups] |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
788 ["Describe" gnus-group-describe-group :active (gnus-group-group-name) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
789 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
790 '(:help "Display description of the current group"))] |
| 17493 | 791 ["Fetch FAQ" gnus-group-fetch-faq (gnus-group-group-name)] |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
792 ["Fetch charter" gnus-group-fetch-charter |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
793 :active (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
794 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
795 '(:help "Display the charter of the current group"))] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
796 ["Fetch control message" gnus-group-fetch-control |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
797 :active (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
798 ,@(if (featurep 'xemacs) nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
799 '(:help "Display the archived control message for the current group"))] |
| 17493 | 800 ;; Actually one should check, if any of the marked groups gives t for |
| 801 ;; (gnus-check-backend-function 'request-expire-articles ...) | |
| 802 ["Expire articles" gnus-group-expire-articles | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
803 :included (not (gnus-topic-mode-p)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
804 :active (or (and (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
805 (gnus-check-backend-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
806 'request-expire-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
807 (gnus-group-group-name))) gnus-group-marked)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
808 ["Expire articles " gnus-topic-expire-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
809 :included (gnus-topic-mode-p)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
810 ["Set group level..." gnus-group-set-current-level |
| 17493 | 811 (gnus-group-group-name)] |
| 812 ["Select quick" gnus-group-quick-select-group (gnus-group-group-name)] | |
| 813 ["Customize" gnus-group-customize (gnus-group-group-name)] | |
| 814 ("Edit" | |
| 815 ["Parameters" gnus-group-edit-group-parameters | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
816 :included (not (gnus-topic-mode-p)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
817 :active (gnus-group-group-name)] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
818 ["Parameters " gnus-topic-edit-parameters |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
819 :included (gnus-topic-mode-p)] |
| 17493 | 820 ["Select method" gnus-group-edit-group-method |
| 821 (gnus-group-group-name)] | |
| 822 ["Info" gnus-group-edit-group (gnus-group-group-name)] | |
| 823 ["Local kill file" gnus-group-edit-local-kill (gnus-group-group-name)] | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
824 ["Global kill file" gnus-group-edit-global-kill t]))) |
| 17493 | 825 |
| 826 (easy-menu-define | |
| 827 gnus-group-group-menu gnus-group-mode-map "" | |
| 828 '("Groups" | |
| 829 ("Listing" | |
| 830 ["List unread subscribed groups" gnus-group-list-groups t] | |
| 831 ["List (un)subscribed groups" gnus-group-list-all-groups t] | |
| 832 ["List killed groups" gnus-group-list-killed gnus-killed-list] | |
| 833 ["List zombie groups" gnus-group-list-zombies gnus-zombie-list] | |
| 834 ["List level..." gnus-group-list-level t] | |
| 835 ["Describe all groups" gnus-group-describe-all-groups t] | |
| 836 ["Group apropos..." gnus-group-apropos t] | |
| 837 ["Group and description apropos..." gnus-group-description-apropos t] | |
| 838 ["List groups matching..." gnus-group-list-matching t] | |
| 839 ["List all groups matching..." gnus-group-list-all-matching t] | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
840 ["List active file" gnus-group-list-active t] |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
841 ["List groups with cached" gnus-group-list-cached t] |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
842 ["List groups with dormant" gnus-group-list-dormant t]) |
| 17493 | 843 ("Sort" |
| 844 ["Default sort" gnus-group-sort-groups t] | |
| 845 ["Sort by method" gnus-group-sort-groups-by-method t] | |
| 846 ["Sort by rank" gnus-group-sort-groups-by-rank t] | |
| 847 ["Sort by score" gnus-group-sort-groups-by-score t] | |
| 848 ["Sort by level" gnus-group-sort-groups-by-level t] | |
| 849 ["Sort by unread" gnus-group-sort-groups-by-unread t] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
850 ["Sort by name" gnus-group-sort-groups-by-alphabet t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
851 ["Sort by real name" gnus-group-sort-groups-by-real-name t]) |
| 17493 | 852 ("Sort process/prefixed" |
| 853 ["Default sort" gnus-group-sort-selected-groups | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
854 (not (gnus-topic-mode-p))] |
| 17493 | 855 ["Sort by method" gnus-group-sort-selected-groups-by-method |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
856 (not (gnus-topic-mode-p))] |
| 17493 | 857 ["Sort by rank" gnus-group-sort-selected-groups-by-rank |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
858 (not (gnus-topic-mode-p))] |
| 17493 | 859 ["Sort by score" gnus-group-sort-selected-groups-by-score |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
860 (not (gnus-topic-mode-p))] |
| 17493 | 861 ["Sort by level" gnus-group-sort-selected-groups-by-level |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
862 (not (gnus-topic-mode-p))] |
| 17493 | 863 ["Sort by unread" gnus-group-sort-selected-groups-by-unread |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
864 (not (gnus-topic-mode-p))] |
| 17493 | 865 ["Sort by name" gnus-group-sort-selected-groups-by-alphabet |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
866 (not (gnus-topic-mode-p))] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
867 ["Sort by real name" gnus-group-sort-selected-groups-by-real-name |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
868 (not (gnus-topic-mode-p))]) |
| 17493 | 869 ("Mark" |
| 870 ["Mark group" gnus-group-mark-group | |
| 871 (and (gnus-group-group-name) | |
| 872 (not (memq (gnus-group-group-name) gnus-group-marked)))] | |
| 873 ["Unmark group" gnus-group-unmark-group | |
| 874 (and (gnus-group-group-name) | |
| 875 (memq (gnus-group-group-name) gnus-group-marked))] | |
| 876 ["Unmark all" gnus-group-unmark-all-groups gnus-group-marked] | |
| 877 ["Mark regexp..." gnus-group-mark-regexp t] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
878 ["Mark region" gnus-group-mark-region :active (gnus-mark-active-p)] |
| 17493 | 879 ["Mark buffer" gnus-group-mark-buffer t] |
| 880 ["Execute command" gnus-group-universal-argument | |
| 881 (or gnus-group-marked (gnus-group-group-name))]) | |
| 882 ("Subscribe" | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
883 ["Subscribe to a group..." gnus-group-unsubscribe-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
884 ["Kill all newsgroups in region" gnus-group-kill-region |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
885 :active (gnus-mark-active-p)] |
| 17493 | 886 ["Kill all zombie groups" gnus-group-kill-all-zombies |
| 887 gnus-zombie-list] | |
| 888 ["Kill all groups on level..." gnus-group-kill-level t]) | |
| 889 ("Foreign groups" | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
890 ["Make a foreign group..." gnus-group-make-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
891 ["Add a directory group..." gnus-group-make-directory-group t] |
| 17493 | 892 ["Add the help group" gnus-group-make-help-group t] |
| 893 ["Add the archive group" gnus-group-make-archive-group t] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
894 ["Make a doc group..." gnus-group-make-doc-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
895 ["Make a web group..." gnus-group-make-web-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
896 ["Make a kiboze group..." gnus-group-make-kiboze-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
897 ["Make a virtual group..." gnus-group-make-empty-virtual t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
898 ["Add a group to a virtual..." gnus-group-add-to-virtual t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
899 ["Make an ephemeral group..." gnus-group-read-ephemeral-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
900 ["Make an RSS group..." gnus-group-make-rss-group t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
901 ["Rename group..." gnus-group-rename-group |
| 17493 | 902 (gnus-check-backend-function |
| 903 'request-rename-group (gnus-group-group-name))] | |
| 904 ["Delete group" gnus-group-delete-group | |
| 905 (gnus-check-backend-function | |
| 906 'request-delete-group (gnus-group-group-name))]) | |
| 907 ("Move" | |
| 908 ["Next" gnus-group-next-group t] | |
| 909 ["Previous" gnus-group-prev-group t] | |
| 910 ["Next unread" gnus-group-next-unread-group t] | |
| 911 ["Previous unread" gnus-group-prev-unread-group t] | |
| 912 ["Next unread same level" gnus-group-next-unread-group-same-level t] | |
| 913 ["Previous unread same level" | |
| 914 gnus-group-prev-unread-group-same-level t] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
915 ["Jump to group..." gnus-group-jump-to-group t] |
| 17493 | 916 ["First unread group" gnus-group-first-unread-group t] |
| 917 ["Best unread group" gnus-group-best-unread-group t]) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
918 ("Sieve" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
919 ["Generate" gnus-sieve-generate t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
920 ["Generate and update" gnus-sieve-update t]) |
| 17493 | 921 ["Delete bogus groups" gnus-group-check-bogus-groups t] |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
922 ["Find new newsgroups" gnus-group-find-new-groups t] |
| 17493 | 923 ["Transpose" gnus-group-transpose-groups |
| 924 (gnus-group-group-name)] | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
925 ["Read a directory as a group..." gnus-group-enter-directory t])) |
| 17493 | 926 |
| 927 (easy-menu-define | |
| 928 gnus-group-misc-menu gnus-group-mode-map "" | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
929 `("Gnus" |
| 17493 | 930 ("SOUP" |
| 931 ["Pack replies" nnsoup-pack-replies (fboundp 'nnsoup-request-group)] | |
| 932 ["Send replies" gnus-soup-send-replies | |
| 933 (fboundp 'gnus-soup-pack-packet)] | |
| 934 ["Pack packet" gnus-soup-pack-packet (fboundp 'gnus-soup-pack-packet)] | |
| 935 ["Save areas" gnus-soup-save-areas (fboundp 'gnus-soup-pack-packet)] | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
936 ["Brew SOUP" gnus-group-brew-soup (fboundp 'gnus-soup-pack-packet)]) |
| 17493 | 937 ["Send a mail" gnus-group-mail t] |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
938 ["Send a message (mail or news)" gnus-group-post-news t] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
939 ["Create a local message" gnus-group-news t] |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
940 ["Check for new news" gnus-group-get-new-news |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
941 ,@(if (featurep 'xemacs) '(t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
942 '(:help "Get newly arrived articles")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
943 ] |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
944 ["Send queued messages" gnus-delay-send-queue |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
945 ,@(if (featurep 'xemacs) '(t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
946 '(:help "Send all messages that are scheduled to be sent now")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
947 ] |
| 17493 | 948 ["Activate all groups" gnus-activate-all-groups t] |
| 949 ["Restart Gnus" gnus-group-restart t] | |
| 950 ["Read init file" gnus-group-read-init-file t] | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
951 ["Browse foreign server..." gnus-group-browse-foreign-server t] |
| 17493 | 952 ["Enter server buffer" gnus-group-enter-server-mode t] |
| 953 ["Expire all expirable articles" gnus-group-expire-all-groups t] | |
| 954 ["Generate any kiboze groups" nnkiboze-generate-groups t] | |
| 955 ["Gnus version" gnus-version t] | |
| 956 ["Save .newsrc files" gnus-group-save-newsrc t] | |
| 957 ["Suspend Gnus" gnus-group-suspend t] | |
| 958 ["Clear dribble buffer" gnus-group-clear-dribble t] | |
| 959 ["Read manual" gnus-info-find-node t] | |
| 960 ["Flush score cache" gnus-score-flush-cache t] | |
| 961 ["Toggle topics" gnus-topic-mode t] | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
962 ["Send a bug report" gnus-bug t] |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
963 ["Exit from Gnus" gnus-group-exit |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
964 ,@(if (featurep 'xemacs) '(t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
965 '(:help "Quit reading news"))] |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
966 ["Exit without saving" gnus-group-quit t])) |
| 17493 | 967 |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
968 (gnus-run-hooks 'gnus-group-menu-hook))) |
| 17493 | 969 |
|
33311
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
970 (defvar gnus-group-toolbar-map nil) |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
971 |
| 33316 | 972 ;; Emacs 21 tool bar. Should be no-op otherwise. |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
973 (defun gnus-group-make-tool-bar () |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
974 (if (and |
|
44344
37801f2191c3
* gnus-group.el (gnus-group-make-tool-bar): Load tool-bar first.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
41819
diff
changeset
|
975 (condition-case nil (require 'tool-bar) (error nil)) |
|
37801f2191c3
* gnus-group.el (gnus-group-make-tool-bar): Load tool-bar first.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
41819
diff
changeset
|
976 (fboundp 'tool-bar-add-item-from-menu) |
|
37801f2191c3
* gnus-group.el (gnus-group-make-tool-bar): Load tool-bar first.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
41819
diff
changeset
|
977 (default-value 'tool-bar-mode) |
|
37801f2191c3
* gnus-group.el (gnus-group-make-tool-bar): Load tool-bar first.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
41819
diff
changeset
|
978 (not gnus-group-toolbar-map)) |
|
33311
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
979 (setq gnus-group-toolbar-map |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
980 (let ((tool-bar-map (make-sparse-keymap)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
981 (load-path (mm-image-load-path))) |
|
33311
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
982 (tool-bar-add-item-from-menu |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
983 'gnus-group-get-new-news "get-news" gnus-group-mode-map) |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
984 (tool-bar-add-item-from-menu |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
985 'gnus-group-get-new-news-this-group "gnntg" gnus-group-mode-map) |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
986 (tool-bar-add-item-from-menu |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
987 'gnus-group-catchup-current "catchup" gnus-group-mode-map) |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
988 (tool-bar-add-item-from-menu |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
989 'gnus-group-describe-group "describe-group" gnus-group-mode-map) |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
990 (tool-bar-add-item "subscribe" 'gnus-group-subscribe 'subscribe |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
991 :help "Subscribe to the current group") |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
992 (tool-bar-add-item "unsubscribe" 'gnus-group-unsubscribe |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
993 'unsubscribe |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
994 :help "Unsubscribe from the current group") |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
995 (tool-bar-add-item-from-menu |
|
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
996 'gnus-group-exit "exit-gnus" gnus-group-mode-map) |
|
33749
2cced032a4cc
(gnus-group-make-tool-bar): Fix a paren typo.
Gerd Moellmann <gerd@gnu.org>
parents:
33395
diff
changeset
|
997 tool-bar-map))) |
|
2cced032a4cc
(gnus-group-make-tool-bar): Fix a paren typo.
Gerd Moellmann <gerd@gnu.org>
parents:
33395
diff
changeset
|
998 (if gnus-group-toolbar-map |
|
2cced032a4cc
(gnus-group-make-tool-bar): Fix a paren typo.
Gerd Moellmann <gerd@gnu.org>
parents:
33395
diff
changeset
|
999 (set (make-local-variable 'tool-bar-map) gnus-group-toolbar-map))) |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
1000 |
| 17493 | 1001 (defun gnus-group-mode () |
| 1002 "Major mode for reading news. | |
| 1003 | |
| 1004 All normal editing commands are switched off. | |
| 1005 \\<gnus-group-mode-map> | |
| 1006 The group buffer lists (some of) the groups available. For instance, | |
| 1007 `\\[gnus-group-list-groups]' will list all subscribed groups with unread articles, while `\\[gnus-group-list-zombies]' | |
| 1008 lists all zombie groups. | |
| 1009 | |
| 1010 Groups that are displayed can be entered with `\\[gnus-group-read-group]'. To subscribe | |
| 1011 to a group not displayed, type `\\[gnus-group-unsubscribe-group]'. | |
| 1012 | |
| 1013 For more in-depth information on this mode, read the manual (`\\[gnus-info-find-node]'). | |
| 1014 | |
| 1015 The following commands are available: | |
| 1016 | |
| 1017 \\{gnus-group-mode-map}" | |
| 1018 (interactive) | |
|
33311
fa5c3f22519c
(gnus-group-toolbar-map): New variable.
Dave Love <fx@gnu.org>
parents:
32969
diff
changeset
|
1019 (kill-all-local-variables) |
| 17493 | 1020 (when (gnus-visual-p 'group-menu 'menu) |
|
32965
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
1021 (gnus-group-make-menu-bar) |
|
13cbb629e3ce
(gnus-group-make-menu-bar): Add some :help
Dave Love <fx@gnu.org>
parents:
31785
diff
changeset
|
1022 (gnus-group-make-tool-bar)) |
| 17493 | 1023 (gnus-simplify-mode-line) |
| 1024 (setq major-mode 'gnus-group-mode) | |
| 1025 (setq mode-name "Group") | |
| 1026 (gnus-group-set-mode-line) | |
| 1027 (setq mode-line-process nil) | |
| 1028 (use-local-map gnus-group-mode-map) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1029 (buffer-disable-undo) |
| 17493 | 1030 (setq truncate-lines t) |
| 1031 (setq buffer-read-only t) | |
| 1032 (gnus-set-default-directory) | |
| 1033 (gnus-update-format-specifications nil 'group 'group-mode) | |
| 1034 (gnus-update-group-mark-positions) | |
| 1035 (when gnus-use-undo | |
| 1036 (gnus-undo-mode 1)) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1037 (when gnus-slave |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1038 (gnus-slave-mode)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1039 (gnus-run-hooks 'gnus-group-mode-hook)) |
| 17493 | 1040 |
| 1041 (defun gnus-update-group-mark-positions () | |
| 1042 (save-excursion | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1043 (let ((gnus-process-mark ?\200) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1044 (gnus-group-update-hook nil) |
| 17493 | 1045 (gnus-group-marked '("dummy.group")) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1046 (gnus-active-hashtb (make-vector 10 0)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1047 (topic "")) |
| 17493 | 1048 (gnus-set-active "dummy.group" '(0 . 0)) |
| 1049 (gnus-set-work-buffer) | |
| 1050 (gnus-group-insert-group-line "dummy.group" 0 nil 0 nil) | |
| 1051 (goto-char (point-min)) | |
| 1052 (setq gnus-group-mark-positions | |
|
57321
3381cb76bac3
* gnus-group.el (gnus-update-group-mark-positions):
Juri Linkov <juri@jurta.org>
parents:
57153
diff
changeset
|
1053 (list (cons 'process (and (search-forward |
|
57363
ef5d2ed6459e
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-603
Miles Bader <miles@gnu.org>
parents:
57321
diff
changeset
|
1054 (mm-string-as-multibyte "\200") nil t) |
| 17493 | 1055 (- (point) 2)))))))) |
| 1056 | |
| 1057 (defun gnus-mouse-pick-group (e) | |
| 1058 "Enter the group under the mouse pointer." | |
| 1059 (interactive "e") | |
| 1060 (mouse-set-point e) | |
| 1061 (gnus-group-read-group nil)) | |
| 1062 | |
| 1063 ;; Look at LEVEL and find out what the level is really supposed to be. | |
| 1064 ;; If LEVEL is non-nil, LEVEL will be returned, if not, what happens | |
| 1065 ;; will depend on whether `gnus-group-use-permanent-levels' is used. | |
| 1066 (defun gnus-group-default-level (&optional level number-or-nil) | |
| 1067 (cond | |
| 1068 (gnus-group-use-permanent-levels | |
| 1069 (or (setq gnus-group-use-permanent-levels | |
| 1070 (or level (if (numberp gnus-group-use-permanent-levels) | |
| 1071 gnus-group-use-permanent-levels | |
| 1072 (or gnus-group-default-list-level | |
| 1073 gnus-level-subscribed)))) | |
| 1074 gnus-group-default-list-level gnus-level-subscribed)) | |
| 1075 (number-or-nil | |
| 1076 level) | |
| 1077 (t | |
| 1078 (or level gnus-group-default-list-level gnus-level-subscribed)))) | |
| 1079 | |
| 1080 (defun gnus-group-setup-buffer () | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1081 (set-buffer (gnus-get-buffer-create gnus-group-buffer)) |
| 17493 | 1082 (unless (eq major-mode 'gnus-group-mode) |
| 1083 (gnus-group-mode) | |
| 1084 (when gnus-carpal | |
| 1085 (gnus-carpal-setup-buffer 'group)))) | |
| 1086 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1087 (defun gnus-group-name-charset (method group) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1088 (if (null method) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1089 (setq method (gnus-find-method-for-group group))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1090 (let ((item (assoc method gnus-group-name-charset-method-alist)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1091 (alist gnus-group-name-charset-group-alist) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1092 result) |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
1093 (if item |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1094 (cdr item) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1095 (while (setq item (pop alist)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1096 (if (string-match (car item) group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1097 (setq alist nil |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1098 result (cdr item)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1099 result))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1100 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1101 (defun gnus-group-name-decode (string charset) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1102 ;; Fixme: Don't decode in unibyte mode. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1103 (if (and string charset (featurep 'mule)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1104 (mm-decode-coding-string string charset) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1105 string)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1106 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1107 (defun gnus-group-decoded-name (string) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1108 (let ((charset (gnus-group-name-charset nil string))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1109 (gnus-group-name-decode string charset))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1110 |
| 17493 | 1111 (defun gnus-group-list-groups (&optional level unread lowest) |
| 1112 "List newsgroups with level LEVEL or lower that have unread articles. | |
| 1113 Default is all subscribed groups. | |
| 1114 If argument UNREAD is non-nil, groups with no unread articles are also | |
| 1115 listed. | |
| 1116 | |
| 1117 Also see the `gnus-group-use-permanent-levels' variable." | |
| 1118 (interactive | |
| 1119 (list (if current-prefix-arg | |
| 1120 (prefix-numeric-value current-prefix-arg) | |
| 1121 (or | |
| 1122 (gnus-group-default-level nil t) | |
| 1123 gnus-group-default-list-level | |
| 1124 gnus-level-subscribed)))) | |
| 1125 (unless level | |
| 1126 (setq level (car gnus-group-list-mode) | |
| 1127 unread (cdr gnus-group-list-mode))) | |
| 1128 (setq level (gnus-group-default-level level)) | |
| 1129 (gnus-group-setup-buffer) | |
| 1130 (gnus-update-format-specifications nil 'group 'group-mode) | |
| 1131 (let ((case-fold-search nil) | |
| 1132 (props (text-properties-at (gnus-point-at-bol))) | |
| 1133 (empty (= (point-min) (point-max))) | |
| 1134 (group (gnus-group-group-name)) | |
| 1135 number) | |
| 1136 (set-buffer gnus-group-buffer) | |
| 1137 (setq number (funcall gnus-group-prepare-function level unread lowest)) | |
| 1138 (when (or (and (numberp number) | |
| 1139 (zerop number)) | |
| 1140 (zerop (buffer-size))) | |
| 1141 ;; No groups in the buffer. | |
| 1142 (gnus-message 5 gnus-no-groups-message)) | |
| 1143 ;; We have some groups displayed. | |
| 1144 (goto-char (point-max)) | |
| 1145 (when (or (not gnus-group-goto-next-group-function) | |
| 1146 (not (funcall gnus-group-goto-next-group-function | |
| 1147 group props))) | |
| 1148 (cond | |
| 1149 (empty | |
| 1150 (goto-char (point-min))) | |
| 1151 ((not group) | |
| 1152 ;; Go to the first group with unread articles. | |
| 1153 (gnus-group-search-forward t)) | |
| 1154 (t | |
| 1155 ;; Find the right group to put point on. If the current group | |
| 1156 ;; has disappeared in the new listing, try to find the next | |
| 1157 ;; one. If no next one can be found, just leave point at the | |
| 1158 ;; first newsgroup in the buffer. | |
| 1159 (when (not (gnus-goto-char | |
| 1160 (text-property-any | |
| 1161 (point-min) (point-max) | |
| 1162 'gnus-group (gnus-intern-safe | |
| 1163 group gnus-active-hashtb)))) | |
| 1164 (let ((newsrc (cdddr (gnus-gethash group gnus-newsrc-hashtb)))) | |
| 1165 (while (and newsrc | |
| 1166 (not (gnus-goto-char | |
| 1167 (text-property-any | |
| 1168 (point-min) (point-max) 'gnus-group | |
| 1169 (gnus-intern-safe | |
| 1170 (caar newsrc) gnus-active-hashtb))))) | |
| 1171 (setq newsrc (cdr newsrc))) | |
| 1172 (unless newsrc | |
| 1173 (goto-char (point-max)) | |
| 1174 (forward-line -1))))))) | |
| 1175 ;; Adjust cursor point. | |
| 1176 (gnus-group-position-point))) | |
| 1177 | |
| 1178 (defun gnus-group-list-level (level &optional all) | |
| 1179 "List groups on LEVEL. | |
| 1180 If ALL (the prefix), also list groups that have no unread articles." | |
| 1181 (interactive "nList groups on level: \nP") | |
| 1182 (gnus-group-list-groups level all level)) | |
| 1183 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1184 (defun gnus-group-prepare-logic (group test) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1185 (or (and gnus-group-listed-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1186 (null gnus-group-list-option) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1187 (member group gnus-group-listed-groups)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1188 (cond |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1189 ((null gnus-group-listed-groups) test) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1190 ((null gnus-group-list-option) test) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1191 (t (and (member group gnus-group-listed-groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1192 (if (eq gnus-group-list-option 'flush) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1193 (not test) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1194 test)))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1195 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1196 (defun gnus-group-prepare-flat (level &optional predicate lowest regexp) |
| 17493 | 1197 "List all newsgroups with unread articles of level LEVEL or lower. |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1198 If PREDICATE is a function, list groups that the function returns non-nil; |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1199 if it is t, list groups that have no unread articles. |
| 17493 | 1200 If LOWEST is non-nil, list all newsgroups of level LOWEST or higher. |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1201 If REGEXP is a function, list dead groups that the function returns non-nil; |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1202 if it is a string, only list groups matching REGEXP." |
| 17493 | 1203 (set-buffer gnus-group-buffer) |
| 1204 (let ((buffer-read-only nil) | |
| 1205 (newsrc (cdr gnus-newsrc-alist)) | |
| 1206 (lowest (or lowest 1)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1207 (not-in-list (and gnus-group-listed-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1208 (copy-sequence gnus-group-listed-groups))) |
| 17493 | 1209 info clevel unread group params) |
| 1210 (erase-buffer) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1211 (when (or (< lowest gnus-level-zombie) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1212 gnus-group-listed-groups) |
| 17493 | 1213 ;; List living groups. |
| 1214 (while newsrc | |
| 1215 (setq info (car newsrc) | |
| 1216 group (gnus-info-group info) | |
| 1217 params (gnus-info-params info) | |
| 1218 newsrc (cdr newsrc) | |
| 1219 unread (car (gnus-gethash group gnus-newsrc-hashtb))) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1220 (when not-in-list |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1221 (setq not-in-list (delete group not-in-list))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1222 (when (gnus-group-prepare-logic |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1223 group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1224 (and unread ; This group might be unchecked |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1225 (or (not (stringp regexp)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1226 (string-match regexp group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1227 (<= (setq clevel (gnus-info-level info)) level) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1228 (>= clevel lowest) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1229 (cond |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1230 ((functionp predicate) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1231 (funcall predicate info)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1232 (predicate t) ; We list all groups? |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1233 (t |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1234 (or |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1235 (if (eq unread t) ; Unactivated? |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1236 gnus-group-list-inactive-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1237 ; We list unactivated |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1238 (> unread 0)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1239 ; We list groups with unread articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1240 (and gnus-list-groups-with-ticked-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1241 (cdr (assq 'tick (gnus-info-marks info)))) |
| 17493 | 1242 ; And groups with tickeds |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1243 ;; Check for permanent visibility. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1244 (and gnus-permanently-visible-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1245 (string-match gnus-permanently-visible-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1246 group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1247 (memq 'visible params) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1248 (cdr (assq 'visible params))))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1249 (gnus-group-insert-group-line |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1250 group (gnus-info-level info) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1251 (gnus-info-marks info) unread (gnus-info-method info))))) |
| 17493 | 1252 |
| 1253 ;; List dead groups. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1254 (when (or gnus-group-listed-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1255 (and (>= level gnus-level-zombie) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1256 (<= lowest gnus-level-zombie))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1257 (gnus-group-prepare-flat-list-dead |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1258 (setq gnus-zombie-list (sort gnus-zombie-list 'string<)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1259 gnus-level-zombie ?Z |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1260 regexp)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1261 (when not-in-list |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1262 (dolist (group gnus-zombie-list) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1263 (setq not-in-list (delete group not-in-list)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1264 (when (or gnus-group-listed-groups |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1265 (and (>= level gnus-level-killed) (<= lowest gnus-level-killed))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1266 (gnus-group-prepare-flat-list-dead |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1267 (gnus-union |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1268 not-in-list |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1269 (setq gnus-killed-list (sort gnus-killed-list 'string<))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1270 gnus-level-killed ?K regexp)) |
| 17493 | 1271 |
| 1272 (gnus-group-set-mode-line) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1273 (setq gnus-group-list-mode (cons level predicate)) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1274 (gnus-run-hooks 'gnus-group-prepare-hook) |
| 17493 | 1275 t)) |
| 1276 | |
| 1277 (defun gnus-group-prepare-flat-list-dead (groups level mark regexp) | |
| 1278 ;; List zombies and killed lists somewhat faster, which was | |
| 1279 ;; suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>. It does | |
| 1280 ;; this by ignoring the group format specification altogether. | |
| 1281 (let (group) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1282 (if (> (length groups) gnus-group-listing-limit) |
| 17493 | 1283 (while groups |
| 1284 (setq group (pop groups)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1285 (when (gnus-group-prepare-logic |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1286 group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1287 (or (not regexp) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1288 (and (stringp regexp) (string-match regexp group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1289 (and (functionp regexp) (funcall regexp group)))) |
| 17493 | 1290 (gnus-add-text-properties |
| 1291 (point) (prog1 (1+ (point)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1292 (insert " " mark " *: " |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1293 (gnus-group-decoded-name group) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1294 "\n")) |
| 17493 | 1295 (list 'gnus-group (gnus-intern-safe group gnus-active-hashtb) |
| 1296 'gnus-unread t | |
| 1297 'gnus-level level)))) | |
| 1298 (while groups | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1299 (setq group (pop groups)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1300 (when (gnus-group-prepare-logic |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1301 group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1302 (or (not regexp) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1303 (and (stringp regexp) (string-match regexp group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1304 (and (functionp regexp) (funcall regexp group)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1305 (gnus-group-insert-group-line |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1306 group level nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1307 (let ((active (gnus-active group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1308 (if active |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1309 (if (zerop (cdr active)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1310 0 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1311 (- (1+ (cdr active)) (car active))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1312 nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1313 (gnus-method-simplify (gnus-find-method-for-group group)))))))) |
| 17493 | 1314 |
| 1315 (defun gnus-group-update-group-line () | |
| 1316 "Update the current line in the group buffer." | |
| 1317 (let* ((buffer-read-only nil) | |
| 1318 (group (gnus-group-group-name)) | |
| 1319 (entry (and group (gnus-gethash group gnus-newsrc-hashtb))) | |
| 1320 gnus-group-indentation) | |
| 1321 (when group | |
| 1322 (and entry | |
| 1323 (not (gnus-ephemeral-group-p group)) | |
| 1324 (gnus-dribble-enter | |
| 1325 (concat "(gnus-group-set-info '" | |
| 1326 (gnus-prin1-to-string (nth 2 entry)) | |
| 1327 ")"))) | |
| 1328 (setq gnus-group-indentation (gnus-group-group-indentation)) | |
| 1329 (gnus-delete-line) | |
| 1330 (gnus-group-insert-group-line-info group) | |
| 1331 (forward-line -1) | |
| 1332 (gnus-group-position-point)))) | |
| 1333 | |
| 1334 (defun gnus-group-insert-group-line-info (group) | |
| 1335 "Insert GROUP on the current line." | |
| 1336 (let ((entry (gnus-gethash group gnus-newsrc-hashtb)) | |
| 1337 (gnus-group-indentation (gnus-group-group-indentation)) | |
| 1338 active info) | |
| 1339 (if entry | |
| 1340 (progn | |
| 1341 ;; (Un)subscribed group. | |
| 1342 (setq info (nth 2 entry)) | |
| 1343 (gnus-group-insert-group-line | |
| 1344 group (gnus-info-level info) (gnus-info-marks info) | |
| 1345 (or (car entry) t) (gnus-info-method info))) | |
| 1346 ;; This group is dead. | |
| 1347 (gnus-group-insert-group-line | |
| 1348 group | |
| 1349 (if (member group gnus-zombie-list) gnus-level-zombie gnus-level-killed) | |
| 1350 nil | |
| 1351 (if (setq active (gnus-active group)) | |
| 1352 (if (zerop (cdr active)) | |
| 1353 0 | |
| 1354 (- (1+ (cdr active)) (car active))) | |
| 1355 nil) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1356 (gnus-method-simplify (gnus-find-method-for-group group)))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1357 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1358 (defun gnus-number-of-unseen-articles-in-group (group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1359 (let* ((info (nth 2 (gnus-group-entry group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1360 (marked (gnus-info-marks info)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1361 (seen (cdr (assq 'seen marked))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1362 (active (gnus-active group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1363 (if (not active) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1364 0 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1365 (length (gnus-uncompress-range |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1366 (gnus-range-difference |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1367 (gnus-range-difference (list active) (gnus-info-read info)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1368 seen)))))) |
| 17493 | 1369 |
| 1370 (defun gnus-group-insert-group-line (gnus-tmp-group gnus-tmp-level | |
| 1371 gnus-tmp-marked number | |
| 1372 gnus-tmp-method) | |
| 1373 "Insert a group line in the group buffer." | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1374 (let* ((gnus-tmp-method |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
1375 (gnus-server-get-method gnus-tmp-group gnus-tmp-method)) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1376 (group-name-charset (gnus-group-name-charset gnus-tmp-method |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1377 gnus-tmp-group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1378 (gnus-tmp-active (gnus-active gnus-tmp-group)) |
| 17493 | 1379 (gnus-tmp-number-total |
| 1380 (if gnus-tmp-active | |
| 1381 (1+ (- (cdr gnus-tmp-active) (car gnus-tmp-active))) | |
| 1382 0)) | |
| 1383 (gnus-tmp-number-of-unread | |
| 1384 (if (numberp number) (int-to-string (max 0 number)) | |
| 1385 "*")) | |
| 1386 (gnus-tmp-number-of-read | |
| 1387 (if (numberp number) | |
| 1388 (int-to-string (max 0 (- gnus-tmp-number-total number))) | |
| 1389 "*")) | |
| 1390 (gnus-tmp-subscribed | |
| 1391 (cond ((<= gnus-tmp-level gnus-level-subscribed) ? ) | |
| 1392 ((<= gnus-tmp-level gnus-level-unsubscribed) ?U) | |
| 1393 ((= gnus-tmp-level gnus-level-zombie) ?Z) | |
| 1394 (t ?K))) | |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
1395 (gnus-tmp-qualified-group |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1396 (gnus-group-name-decode (gnus-group-real-name gnus-tmp-group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1397 group-name-charset)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1398 (gnus-tmp-comment |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1399 (or (gnus-group-get-parameter gnus-tmp-group 'comment t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1400 gnus-tmp-group)) |
| 17493 | 1401 (gnus-tmp-newsgroup-description |
| 1402 (if gnus-description-hashtb | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1403 (or (gnus-group-name-decode |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
1404 (gnus-gethash gnus-tmp-group gnus-description-hashtb) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1405 group-name-charset) "") |
| 17493 | 1406 "")) |
| 1407 (gnus-tmp-moderated | |
| 1408 (if (and gnus-moderated-hashtb | |
| 1409 (gnus-gethash gnus-tmp-group gnus-moderated-hashtb)) | |
| 1410 ?m ? )) | |
| 1411 (gnus-tmp-moderated-string | |
| 1412 (if (eq gnus-tmp-moderated ?m) "(m)" "")) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1413 (gnus-tmp-group-icon "==&&==") |
| 17493 | 1414 (gnus-tmp-news-server (or (cadr gnus-tmp-method) "")) |
| 1415 (gnus-tmp-news-method (or (car gnus-tmp-method) "")) | |
| 1416 (gnus-tmp-news-method-string | |
| 1417 (if gnus-tmp-method | |
| 1418 (format "(%s:%s)" (car gnus-tmp-method) | |
| 1419 (cadr gnus-tmp-method)) "")) | |
| 1420 (gnus-tmp-marked-mark | |
| 1421 (if (and (numberp number) | |
| 1422 (zerop number) | |
| 1423 (cdr (assq 'tick gnus-tmp-marked))) | |
| 1424 ?* ? )) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1425 (gnus-tmp-summary-live |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1426 (if (and (not gnus-group-is-exiting-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1427 (gnus-buffer-live-p (gnus-summary-buffer-name |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1428 gnus-tmp-group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1429 ?* ? )) |
| 17493 | 1430 (gnus-tmp-process-marked |
| 1431 (if (member gnus-tmp-group gnus-group-marked) | |
| 1432 gnus-process-mark ? )) | |
| 1433 (gnus-tmp-grouplens | |
| 1434 (or (and gnus-use-grouplens | |
| 1435 (bbb-grouplens-group-p gnus-tmp-group)) | |
| 1436 "")) | |
| 1437 (buffer-read-only nil) | |
| 1438 header gnus-tmp-header) ; passed as parameter to user-funcs. | |
| 1439 (beginning-of-line) | |
| 1440 (gnus-add-text-properties | |
| 1441 (point) | |
| 1442 (prog1 (1+ (point)) | |
| 1443 ;; Insert the text. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1444 (let ((gnus-tmp-group (gnus-group-name-decode |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1445 gnus-tmp-group group-name-charset))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1446 (eval gnus-group-line-format-spec))) |
| 17493 | 1447 `(gnus-group ,(gnus-intern-safe gnus-tmp-group gnus-active-hashtb) |
| 1448 gnus-unread ,(if (numberp number) | |
| 1449 (string-to-int gnus-tmp-number-of-unread) | |
| 1450 t) | |
| 1451 gnus-marked ,gnus-tmp-marked-mark | |
| 1452 gnus-indentation ,gnus-group-indentation | |
| 1453 gnus-level ,gnus-tmp-level)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1454 (forward-line -1) |
| 17493 | 1455 (when (inline (gnus-visual-p 'group-highlight 'highlight)) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1456 (gnus-run-hooks 'gnus-group-update-hook)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1457 (forward-line) |
| 17493 | 1458 ;; Allow XEmacs to remove front-sticky text properties. |
| 1459 (gnus-group-remove-excess-properties))) | |
| 1460 | |
| 1461 (defun gnus-group-highlight-line () | |
| 1462 "Highlight the current line according to `gnus-group-highlight'." | |
| 1463 (let* ((list gnus-group-highlight) | |
| 1464 (p (point)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1465 (end (gnus-point-at-eol)) |
| 17493 | 1466 ;; now find out where the line starts and leave point there. |
| 1467 (beg (progn (beginning-of-line) (point))) | |
| 1468 (group (gnus-group-group-name)) | |
| 1469 (entry (gnus-group-entry group)) | |
| 1470 (unread (if (numberp (car entry)) (car entry) 0)) | |
| 1471 (active (gnus-active group)) | |
| 1472 (total (if active (1+ (- (cdr active) (car active))) 0)) | |
| 1473 (info (nth 2 entry)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1474 (method (inline (gnus-server-get-method group (gnus-info-method info)))) |
| 17493 | 1475 (marked (gnus-info-marks info)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1476 (mailp (apply 'append |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1477 (mapcar |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1478 (lambda (x) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1479 (memq x (assoc (symbol-name |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1480 (car (or method gnus-select-method))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1481 gnus-valid-select-methods))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1482 '(mail post-mail)))) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1483 (level (or (gnus-info-level info) gnus-level-killed)) |
| 17493 | 1484 (score (or (gnus-info-score info) 0)) |
| 1485 (ticked (gnus-range-length (cdr (assq 'tick marked)))) | |
| 1486 (group-age (gnus-group-timestamp-delta group)) | |
| 1487 (inhibit-read-only t)) | |
| 1488 ;; Eval the cars of the lists until we find a match. | |
| 1489 (while (and list | |
| 1490 (not (eval (caar list)))) | |
| 1491 (setq list (cdr list))) | |
| 1492 (let ((face (cdar list))) | |
| 1493 (unless (eq face (get-text-property beg 'face)) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1494 (gnus-put-text-property-excluding-characters-with-faces |
| 17493 | 1495 beg end 'face |
| 1496 (setq face (if (boundp face) (symbol-value face) face))) | |
| 1497 (gnus-extent-start-open beg))) | |
| 1498 (goto-char p))) | |
| 1499 | |
| 1500 (defun gnus-group-update-group (group &optional visible-only) | |
| 1501 "Update all lines where GROUP appear. | |
| 1502 If VISIBLE-ONLY is non-nil, the group won't be displayed if it isn't | |
| 1503 already." | |
| 1504 ;; Can't use `save-excursion' here, so we do it manually. | |
| 1505 (let ((buf (current-buffer)) | |
| 1506 mark) | |
| 1507 (set-buffer gnus-group-buffer) | |
| 1508 (setq mark (point-marker)) | |
| 1509 ;; The buffer may be narrowed. | |
| 1510 (save-restriction | |
| 1511 (widen) | |
| 1512 (let ((ident (gnus-intern-safe group gnus-active-hashtb)) | |
| 1513 (loc (point-min)) | |
| 1514 found buffer-read-only) | |
| 1515 ;; Enter the current status into the dribble buffer. | |
| 1516 (let ((entry (gnus-gethash group gnus-newsrc-hashtb))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1517 (when (and entry |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1518 (not (gnus-ephemeral-group-p group))) |
| 17493 | 1519 (gnus-dribble-enter |
| 1520 (concat "(gnus-group-set-info '" | |
| 1521 (gnus-prin1-to-string (nth 2 entry)) | |
| 1522 ")")))) | |
| 1523 ;; Find all group instances. If topics are in use, each group | |
| 1524 ;; may be listed in more than once. | |
| 1525 (while (setq loc (text-property-any | |
| 1526 loc (point-max) 'gnus-group ident)) | |
| 1527 (setq found t) | |
| 1528 (goto-char loc) | |
| 1529 (let ((gnus-group-indentation (gnus-group-group-indentation))) | |
| 1530 (gnus-delete-line) | |
| 1531 (gnus-group-insert-group-line-info group) | |
| 1532 (save-excursion | |
| 1533 (forward-line -1) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1534 (gnus-run-hooks 'gnus-group-update-group-hook))) |
| 17493 | 1535 (setq loc (1+ loc))) |
| 1536 (unless (or found visible-only) | |
| 1537 ;; No such line in the buffer, find out where it's supposed to | |
| 1538 ;; go, and insert it there (or at the end of the buffer). | |
| 1539 (if gnus-goto-missing-group-function | |
| 1540 (funcall gnus-goto-missing-group-function group) | |
| 1541 (let ((entry (cddr (gnus-gethash group gnus-newsrc-hashtb)))) | |
| 1542 (while (and entry (car entry) | |
| 1543 (not | |
| 1544 (gnus-goto-char | |
| 1545 (text-property-any | |
| 1546 (point-min) (point-max) | |
| 1547 'gnus-group (gnus-intern-safe | |
| 1548 (caar entry) gnus-active-hashtb))))) | |
| 1549 (setq entry (cdr entry))) | |
| 1550 (or entry (goto-char (point-max))))) | |
| 1551 ;; Finally insert the line. | |
| 1552 (let ((gnus-group-indentation (gnus-group-group-indentation))) | |
| 1553 (gnus-group-insert-group-line-info group) | |
| 1554 (save-excursion | |
| 1555 (forward-line -1) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1556 (gnus-run-hooks 'gnus-group-update-group-hook)))) |
| 17493 | 1557 (when gnus-group-update-group-function |
| 1558 (funcall gnus-group-update-group-function group)) | |
| 1559 (gnus-group-set-mode-line))) | |
| 1560 (goto-char mark) | |
| 1561 (set-marker mark nil) | |
| 1562 (set-buffer buf))) | |
| 1563 | |
| 1564 (defun gnus-group-set-mode-line () | |
| 1565 "Update the mode line in the group buffer." | |
| 1566 (when (memq 'group gnus-updated-mode-lines) | |
| 1567 ;; Yes, we want to keep this mode line updated. | |
| 1568 (save-excursion | |
| 1569 (set-buffer gnus-group-buffer) | |
| 1570 (let* ((gformat (or gnus-group-mode-line-format-spec | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1571 (gnus-set-format 'group-mode))) |
| 17493 | 1572 (gnus-tmp-news-server (cadr gnus-select-method)) |
| 1573 (gnus-tmp-news-method (car gnus-select-method)) | |
| 1574 (gnus-tmp-colon (if (equal gnus-tmp-news-server "") "" ":")) | |
| 1575 (max-len 60) | |
| 1576 gnus-tmp-header ;Dummy binding for user-defined formats | |
| 1577 ;; Get the resulting string. | |
| 1578 (modified | |
| 1579 (and gnus-dribble-buffer | |
| 1580 (buffer-name gnus-dribble-buffer) | |
| 1581 (buffer-modified-p gnus-dribble-buffer) | |
| 1582 (save-excursion | |
| 1583 (set-buffer gnus-dribble-buffer) | |
| 1584 (not (zerop (buffer-size)))))) | |
| 1585 (mode-string (eval gformat))) | |
| 1586 ;; Say whether the dribble buffer has been modified. | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1587 (setq mode-line-modified |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1588 (if modified (car gnus-mode-line-modified) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1589 (cdr gnus-mode-line-modified))) |
| 17493 | 1590 ;; If the line is too long, we chop it off. |
| 1591 (when (> (length mode-string) max-len) | |
| 1592 (setq mode-string (substring mode-string 0 (- max-len 4)))) | |
| 1593 (prog1 | |
| 1594 (setq mode-line-buffer-identification | |
| 1595 (gnus-mode-line-buffer-identification | |
| 1596 (list mode-string))) | |
| 1597 (set-buffer-modified-p modified)))))) | |
| 1598 | |
| 1599 (defun gnus-group-group-name () | |
| 1600 "Get the name of the newsgroup on the current line." | |
| 1601 (let ((group (get-text-property (gnus-point-at-bol) 'gnus-group))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1602 (when group |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1603 (symbol-name group)))) |
| 17493 | 1604 |
| 1605 (defun gnus-group-group-level () | |
| 1606 "Get the level of the newsgroup on the current line." | |
| 1607 (get-text-property (gnus-point-at-bol) 'gnus-level)) | |
| 1608 | |
| 1609 (defun gnus-group-group-indentation () | |
| 1610 "Get the indentation of the newsgroup on the current line." | |
| 1611 (or (get-text-property (gnus-point-at-bol) 'gnus-indentation) | |
| 1612 (and gnus-group-indentation-function | |
| 1613 (funcall gnus-group-indentation-function)) | |
| 1614 "")) | |
| 1615 | |
| 1616 (defun gnus-group-group-unread () | |
| 1617 "Get the number of unread articles of the newsgroup on the current line." | |
| 1618 (get-text-property (gnus-point-at-bol) 'gnus-unread)) | |
| 1619 | |
| 1620 (defun gnus-group-new-mail (group) | |
| 1621 (if (nnmail-new-mail-p (gnus-group-real-name group)) | |
| 1622 gnus-new-mail-mark | |
| 1623 ? )) | |
| 1624 | |
| 1625 (defun gnus-group-level (group) | |
| 1626 "Return the estimated level of GROUP." | |
| 1627 (or (gnus-info-level (gnus-get-info group)) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1628 (and (member group gnus-zombie-list) gnus-level-zombie) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1629 gnus-level-killed)) |
| 17493 | 1630 |
| 1631 (defun gnus-group-search-forward (&optional backward all level first-too) | |
| 1632 "Find the next newsgroup with unread articles. | |
| 1633 If BACKWARD is non-nil, find the previous newsgroup instead. | |
| 1634 If ALL is non-nil, just find any newsgroup. | |
| 1635 If LEVEL is non-nil, find group with level LEVEL, or higher if no such | |
| 1636 group exists. | |
| 1637 If FIRST-TOO, the current line is also eligible as a target." | |
| 1638 (let ((way (if backward -1 1)) | |
| 1639 (low gnus-level-killed) | |
| 1640 (beg (point)) | |
| 1641 pos found lev) | |
| 1642 (if (and backward (progn (beginning-of-line)) (bobp)) | |
| 1643 nil | |
| 1644 (unless first-too | |
| 1645 (forward-line way)) | |
| 1646 (while (and | |
| 1647 (not (eobp)) | |
| 1648 (not (setq | |
| 1649 found | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1650 (and |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1651 (get-text-property (point) 'gnus-group) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1652 (or all |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1653 (and |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1654 (let ((unread |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1655 (get-text-property (point) 'gnus-unread))) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1656 (and (numberp unread) (> unread 0))) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1657 (setq lev (get-text-property (point) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1658 'gnus-level)) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1659 (<= lev gnus-level-subscribed))) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1660 (or (not level) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1661 (and (setq lev (get-text-property (point) |
| 17493 | 1662 'gnus-level)) |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1663 (or (= lev level) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1664 (and (< lev low) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1665 (< level lev) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1666 (progn |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1667 (setq low lev) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1668 (setq pos (point)) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
1669 nil)))))))) |
| 17493 | 1670 (zerop (forward-line way))))) |
| 1671 (if found | |
| 1672 (progn (gnus-group-position-point) t) | |
| 1673 (goto-char (or pos beg)) | |
| 1674 (and pos t)))) | |
| 1675 | |
| 1676 ;;; Gnus group mode commands | |
| 1677 | |
| 1678 ;; Group marking. | |
| 1679 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1680 (defun gnus-group-mark-line-p () |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1681 (save-excursion |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1682 (beginning-of-line) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1683 (forward-char (or (cdr (assq 'process gnus-group-mark-positions)) 2)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1684 (eq (char-after) gnus-process-mark))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1685 |
| 17493 | 1686 (defun gnus-group-mark-group (n &optional unmark no-advance) |
| 1687 "Mark the current group." | |
| 1688 (interactive "p") | |
| 1689 (let ((buffer-read-only nil) | |
| 1690 group) | |
| 1691 (while (and (> n 0) | |
| 1692 (not (eobp))) | |
| 1693 (when (setq group (gnus-group-group-name)) | |
| 1694 ;; Go to the mark position. | |
| 1695 (beginning-of-line) | |
| 1696 (forward-char (or (cdr (assq 'process gnus-group-mark-positions)) 2)) | |
| 1697 (subst-char-in-region | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1698 (point) (1+ (point)) (char-after) |
| 17493 | 1699 (if unmark |
| 1700 (progn | |
| 1701 (setq gnus-group-marked (delete group gnus-group-marked)) | |
| 1702 ? ) | |
| 1703 (setq gnus-group-marked | |
| 1704 (cons group (delete group gnus-group-marked))) | |
| 1705 gnus-process-mark))) | |
| 1706 (unless no-advance | |
| 1707 (gnus-group-next-group 1)) | |
| 1708 (decf n)) | |
| 1709 (gnus-summary-position-point) | |
| 1710 n)) | |
| 1711 | |
| 1712 (defun gnus-group-unmark-group (n) | |
| 1713 "Remove the mark from the current group." | |
| 1714 (interactive "p") | |
| 1715 (gnus-group-mark-group n 'unmark) | |
| 1716 (gnus-group-position-point)) | |
| 1717 | |
| 1718 (defun gnus-group-unmark-all-groups () | |
| 1719 "Unmark all groups." | |
| 1720 (interactive) | |
| 1721 (let ((groups gnus-group-marked)) | |
| 1722 (save-excursion | |
| 1723 (while groups | |
| 1724 (gnus-group-remove-mark (pop groups))))) | |
| 1725 (gnus-group-position-point)) | |
| 1726 | |
| 1727 (defun gnus-group-mark-region (unmark beg end) | |
| 1728 "Mark all groups between point and mark. | |
| 1729 If UNMARK, remove the mark instead." | |
| 1730 (interactive "P\nr") | |
| 1731 (let ((num (count-lines beg end))) | |
| 1732 (save-excursion | |
| 1733 (goto-char beg) | |
| 1734 (- num (gnus-group-mark-group num unmark))))) | |
| 1735 | |
| 1736 (defun gnus-group-mark-buffer (&optional unmark) | |
| 1737 "Mark all groups in the buffer. | |
| 1738 If UNMARK, remove the mark instead." | |
| 1739 (interactive "P") | |
| 1740 (gnus-group-mark-region unmark (point-min) (point-max))) | |
| 1741 | |
| 1742 (defun gnus-group-mark-regexp (regexp) | |
| 1743 "Mark all groups that match some regexp." | |
| 1744 (interactive "sMark (regexp): ") | |
| 1745 (let ((alist (cdr gnus-newsrc-alist)) | |
| 1746 group) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1747 (save-excursion |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1748 (while alist |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1749 (when (string-match regexp (setq group (gnus-info-group (pop alist)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1750 (gnus-group-jump-to-group group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1751 (gnus-group-set-mark group))))) |
| 17493 | 1752 (gnus-group-position-point)) |
| 1753 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1754 (defun gnus-group-remove-mark (group &optional test-marked) |
| 17493 | 1755 "Remove the process mark from GROUP and move point there. |
| 1756 Return nil if the group isn't displayed." | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1757 (if (gnus-group-goto-group group nil test-marked) |
| 17493 | 1758 (save-excursion |
| 1759 (gnus-group-mark-group 1 'unmark t) | |
| 1760 t) | |
| 1761 (setq gnus-group-marked | |
| 1762 (delete group gnus-group-marked)) | |
| 1763 nil)) | |
| 1764 | |
| 1765 (defun gnus-group-set-mark (group) | |
| 1766 "Set the process mark on GROUP." | |
| 1767 (if (gnus-group-goto-group group) | |
| 1768 (save-excursion | |
| 1769 (gnus-group-mark-group 1 nil t)) | |
| 1770 (setq gnus-group-marked (cons group (delete group gnus-group-marked))))) | |
| 1771 | |
| 1772 (defun gnus-group-universal-argument (arg &optional groups func) | |
| 1773 "Perform any command on all groups according to the process/prefix convention." | |
| 1774 (interactive "P") | |
| 1775 (if (eq (setq func (or func | |
| 1776 (key-binding | |
| 1777 (read-key-sequence | |
| 1778 (substitute-command-keys | |
| 1779 "\\<gnus-group-mode-map>\\[gnus-group-universal-argument]"))))) | |
| 1780 'undefined) | |
| 1781 (gnus-error 1 "Undefined key") | |
| 1782 (gnus-group-iterate arg | |
| 1783 (lambda (group) | |
| 1784 (command-execute func)))) | |
| 1785 (gnus-group-position-point)) | |
| 1786 | |
| 1787 (defun gnus-group-process-prefix (n) | |
| 1788 "Return a list of groups to work on. | |
| 1789 Take into consideration N (the prefix) and the list of marked groups." | |
| 1790 (cond | |
| 1791 (n | |
| 1792 (setq n (prefix-numeric-value n)) | |
| 1793 ;; There is a prefix, so we return a list of the N next | |
| 1794 ;; groups. | |
| 1795 (let ((way (if (< n 0) -1 1)) | |
| 1796 (n (abs n)) | |
| 1797 group groups) | |
| 1798 (save-excursion | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1799 (while (> n 0) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1800 (if (setq group (gnus-group-group-name)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1801 (push group groups)) |
| 17493 | 1802 (setq n (1- n)) |
| 1803 (gnus-group-next-group way))) | |
| 1804 (nreverse groups))) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1805 ((and (gnus-region-active-p) (mark)) |
| 17493 | 1806 ;; Work on the region between point and mark. |
| 1807 (let ((max (max (point) (mark))) | |
| 1808 groups) | |
| 1809 (save-excursion | |
| 1810 (goto-char (min (point) (mark))) | |
| 1811 (while | |
| 1812 (and | |
| 1813 (push (gnus-group-group-name) groups) | |
| 1814 (zerop (gnus-group-next-group 1)) | |
| 1815 (< (point) max))) | |
| 1816 (nreverse groups)))) | |
| 1817 (gnus-group-marked | |
| 1818 ;; No prefix, but a list of marked articles. | |
| 1819 (reverse gnus-group-marked)) | |
| 1820 (t | |
| 1821 ;; Neither marked articles or a prefix, so we return the | |
| 1822 ;; current group. | |
| 1823 (let ((group (gnus-group-group-name))) | |
| 1824 (and group (list group)))))) | |
| 1825 | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1826 ;;; !!!Surely gnus-group-iterate should be a macro instead? I can't |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1827 ;;; imagine why I went through these contortions... |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1828 (eval-and-compile |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1829 (let ((function (make-symbol "gnus-group-iterate-function")) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1830 (window (make-symbol "gnus-group-iterate-window")) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1831 (groups (make-symbol "gnus-group-iterate-groups")) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1832 (group (make-symbol "gnus-group-iterate-group"))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1833 (eval |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1834 `(defun gnus-group-iterate (arg ,function) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1835 "Iterate FUNCTION over all process/prefixed groups. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1836 FUNCTION will be called with the group name as the parameter |
| 17493 | 1837 and with point over the group in question." |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1838 (let ((,groups (gnus-group-process-prefix arg)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1839 (,window (selected-window)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1840 ,group) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1841 (while ,groups |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1842 (setq ,group (car ,groups) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1843 ,groups (cdr ,groups)) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1844 (select-window ,window) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1845 (gnus-group-remove-mark ,group) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1846 (save-selected-window |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1847 (save-excursion |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1848 (funcall ,function ,group))))))))) |
| 17493 | 1849 |
| 1850 (put 'gnus-group-iterate 'lisp-indent-function 1) | |
| 1851 | |
| 1852 ;; Selecting groups. | |
| 1853 | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1854 (defun gnus-group-read-group (&optional all no-article group select-articles) |
| 17493 | 1855 "Read news in this newsgroup. |
| 1856 If the prefix argument ALL is non-nil, already read articles become | |
| 1857 readable. IF ALL is a number, fetch this number of articles. If the | |
| 1858 optional argument NO-ARTICLE is non-nil, no article will be | |
| 1859 auto-selected upon group entry. If GROUP is non-nil, fetch that | |
| 1860 group." | |
| 1861 (interactive "P") | |
| 1862 (let ((no-display (eq all 0)) | |
| 1863 (group (or group (gnus-group-group-name))) | |
| 1864 number active marked entry) | |
| 1865 (when (eq all 0) | |
| 1866 (setq all nil)) | |
| 1867 (unless group | |
| 1868 (error "No group on current line")) | |
| 1869 (setq marked (gnus-info-marks | |
| 1870 (nth 2 (setq entry (gnus-gethash | |
| 1871 group gnus-newsrc-hashtb))))) | |
| 1872 ;; This group might be a dead group. In that case we have to get | |
| 1873 ;; the number of unread articles from `gnus-active-hashtb'. | |
| 1874 (setq number | |
| 1875 (cond ((numberp all) all) | |
| 1876 (entry (car entry)) | |
| 1877 ((setq active (gnus-active group)) | |
| 1878 (- (1+ (cdr active)) (car active))))) | |
| 1879 (gnus-summary-read-group | |
| 1880 group (or all (and (numberp number) | |
| 1881 (zerop (+ number (gnus-range-length | |
| 1882 (cdr (assq 'tick marked))) | |
| 1883 (gnus-range-length | |
| 1884 (cdr (assq 'dormant marked))))))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1885 no-article nil no-display nil select-articles))) |
| 17493 | 1886 |
| 1887 (defun gnus-group-select-group (&optional all) | |
| 1888 "Select this newsgroup. | |
| 1889 No article is selected automatically. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1890 If the group is opened, just switch the summary buffer. |
| 17493 | 1891 If ALL is non-nil, already read articles become readable. |
| 1892 If ALL is a number, fetch this number of articles." | |
| 1893 (interactive "P") | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1894 (when (and (eobp) (not (gnus-group-group-name))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1895 (forward-line -1)) |
| 17493 | 1896 (gnus-group-read-group all t)) |
| 1897 | |
| 1898 (defun gnus-group-quick-select-group (&optional all) | |
| 1899 "Select the current group \"quickly\". | |
| 1900 This means that no highlighting or scoring will be performed. | |
| 1901 If ALL (the prefix argument) is 0, don't even generate the summary | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1902 buffer. |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1903 |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1904 This might be useful if you want to toggle threading |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1905 before entering the group." |
| 17493 | 1906 (interactive "P") |
| 1907 (require 'gnus-score) | |
| 1908 (let (gnus-visual | |
| 1909 gnus-score-find-score-files-function | |
| 1910 gnus-home-score-file | |
| 1911 gnus-apply-kill-hook | |
| 1912 gnus-summary-expunge-below) | |
| 1913 (gnus-group-read-group all t))) | |
| 1914 | |
| 1915 (defun gnus-group-visible-select-group (&optional all) | |
| 1916 "Select the current group without hiding any articles." | |
| 1917 (interactive "P") | |
| 1918 (let ((gnus-inhibit-limiting t)) | |
| 1919 (gnus-group-read-group all t))) | |
| 1920 | |
| 1921 (defun gnus-group-select-group-ephemerally () | |
| 1922 "Select the current group without doing any processing whatsoever. | |
| 1923 You will actually be entered into a group that's a copy of | |
| 1924 the current group; no changes you make while in this group will | |
| 1925 be permanent." | |
| 1926 (interactive) | |
| 1927 (require 'gnus-score) | |
| 1928 (let* (gnus-visual | |
| 1929 gnus-score-find-score-files-function gnus-apply-kill-hook | |
| 1930 gnus-summary-expunge-below gnus-show-threads gnus-suppress-duplicates | |
| 1931 gnus-summary-mode-hook gnus-select-group-hook | |
| 1932 (group (gnus-group-group-name)) | |
| 1933 (method (gnus-find-method-for-group group))) | |
| 1934 (gnus-group-read-ephemeral-group | |
| 1935 (gnus-group-prefixed-name group method) method))) | |
| 1936 | |
| 1937 ;;;###autoload | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1938 (defun gnus-fetch-group (group &optional articles) |
| 17493 | 1939 "Start Gnus if necessary and enter GROUP. |
| 1940 Returns whether the fetching was successful or not." | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1941 (interactive (list (completing-read "Group name: " gnus-active-hashtb))) |
| 17493 | 1942 (unless (get-buffer gnus-group-buffer) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1943 (gnus-no-server)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1944 (gnus-group-read-group articles nil group)) |
| 17493 | 1945 |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1946 ;;;###autoload |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1947 (defun gnus-fetch-group-other-frame (group) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1948 "Pop up a frame and enter GROUP." |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1949 (interactive "P") |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1950 (let ((window (get-buffer-window gnus-group-buffer))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1951 (cond (window |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1952 (select-frame (window-frame window))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1953 ((= (length (frame-list)) 1) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1954 (select-frame (make-frame))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1955 (t |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1956 (other-frame 1)))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1957 (gnus-fetch-group group)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1958 |
| 17493 | 1959 (defvar gnus-ephemeral-group-server 0) |
| 1960 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1961 (defcustom gnus-large-ephemeral-newsgroup 200 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1962 "The number of articles which indicates a large ephemeral newsgroup. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1963 Same as `gnus-large-newsgroup', but only used for ephemeral newsgroups. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1964 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1965 If the number of articles in a newsgroup is greater than this value, |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1966 confirmation is required for selecting the newsgroup. If it is nil, no |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1967 confirmation is required." |
|
57153
497f0d2ca551
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-558
Miles Bader <miles@gnu.org>
parents:
56927
diff
changeset
|
1968 :version "21.4" |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1969 :group 'gnus-group-select |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1970 :type '(choice (const :tag "No limit" nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1971 integer)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1972 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1973 (defcustom gnus-fetch-old-ephemeral-headers nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1974 "Same as `gnus-fetch-old-headers', but only used for ephemeral newsgroups." |
|
57153
497f0d2ca551
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-558
Miles Bader <miles@gnu.org>
parents:
56927
diff
changeset
|
1975 :version "21.4" |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1976 :group 'gnus-thread |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1977 :type '(choice (const :tag "off" nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1978 (const some) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1979 number |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1980 (sexp :menu-tag "other" t))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1981 |
| 17493 | 1982 ;; Enter a group that is not in the group buffer. Non-nil is returned |
| 1983 ;; if selection was successful. | |
| 1984 (defun gnus-group-read-ephemeral-group (group method &optional activate | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1985 quit-config request-only |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1986 select-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1987 parameters) |
| 17493 | 1988 "Read GROUP from METHOD as an ephemeral group. |
| 1989 If ACTIVATE, request the group first. | |
| 1990 If QUIT-CONFIG, use that window configuration when exiting from the | |
| 1991 ephemeral group. | |
| 1992 If REQUEST-ONLY, don't actually read the group; just request it. | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
1993 If SELECT-ARTICLES, only select those articles. |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1994 If PARAMETERS, use those as the group parameters. |
| 17493 | 1995 |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
1996 Return the name of the group if selection was successful." |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1997 (interactive |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1998 (list |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
1999 ;; (gnus-read-group "Group name: ") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2000 (completing-read |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2001 "Group: " gnus-active-hashtb |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2002 nil nil nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2003 'gnus-group-history) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2004 (gnus-read-method "From method: "))) |
| 17493 | 2005 ;; Transform the select method into a unique server. |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2006 (when (stringp method) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2007 (setq method (gnus-server-to-method method))) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2008 (setq method |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2009 `(,(car method) ,(concat (cadr method) "-ephemeral") |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2010 (,(intern (format "%s-address" (car method))) ,(cadr method)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2011 ,@(cddr method))) |
| 17493 | 2012 (let ((group (if (gnus-group-foreign-p group) group |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2013 (gnus-group-prefixed-name (gnus-group-real-name group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2014 method)))) |
| 17493 | 2015 (gnus-sethash |
| 2016 group | |
| 2017 `(-1 nil (,group | |
| 2018 ,gnus-level-default-subscribed nil nil ,method | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2019 ,(cons |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2020 (if quit-config |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2021 (cons 'quit-config quit-config) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2022 (cons 'quit-config |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2023 (cons gnus-summary-buffer |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2024 gnus-current-window-configuration))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2025 parameters))) |
| 17493 | 2026 gnus-newsrc-hashtb) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2027 (push method gnus-ephemeral-servers) |
| 17493 | 2028 (set-buffer gnus-group-buffer) |
| 2029 (unless (gnus-check-server method) | |
| 2030 (error "Unable to contact server: %s" (gnus-status-message method))) | |
| 2031 (when activate | |
| 2032 (gnus-activate-group group 'scan) | |
| 2033 (unless (gnus-request-group group) | |
| 2034 (error "Couldn't request group: %s" | |
| 2035 (nnheader-get-report (car method))))) | |
| 2036 (if request-only | |
| 2037 group | |
| 2038 (condition-case () | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2039 (when (let ((gnus-large-newsgroup gnus-large-ephemeral-newsgroup) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2040 (gnus-fetch-old-headers |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2041 gnus-fetch-old-ephemeral-headers)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2042 (gnus-group-read-group t t group select-articles)) |
| 17493 | 2043 group) |
| 2044 ;;(error nil) | |
|
32969
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2045 (quit |
|
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2046 (message "Quit reading the ephemeral group") |
|
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2047 nil))))) |
| 17493 | 2048 |
| 2049 (defun gnus-group-jump-to-group (group) | |
| 2050 "Jump to newsgroup GROUP." | |
| 2051 (interactive | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2052 (list (mm-string-make-unibyte |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2053 (completing-read |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2054 "Group: " gnus-active-hashtb nil |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2055 (gnus-read-active-file-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2056 gnus-group-jump-to-group-prompt |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2057 'gnus-group-history)))) |
| 17493 | 2058 |
| 2059 (when (equal group "") | |
| 2060 (error "Empty group name")) | |
| 2061 | |
| 2062 (unless (gnus-ephemeral-group-p group) | |
| 2063 ;; Either go to the line in the group buffer... | |
| 2064 (unless (gnus-group-goto-group group) | |
| 2065 ;; ... or insert the line. | |
| 2066 (gnus-group-update-group group) | |
| 2067 (gnus-group-goto-group group))) | |
| 2068 ;; Adjust cursor point. | |
| 2069 (gnus-group-position-point)) | |
| 2070 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2071 (defun gnus-group-goto-group (group &optional far test-marked) |
| 17493 | 2072 "Goto to newsgroup GROUP. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2073 If FAR, it is likely that the group is not on the current line. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2074 If TEST-MARKED, the line must be marked." |
| 17493 | 2075 (when group |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2076 (beginning-of-line) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2077 (cond |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2078 ;; It's quite likely that we are on the right line, so |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2079 ;; we check the current line first. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2080 ((and (not far) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2081 (eq (get-text-property (point) 'gnus-group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2082 (gnus-intern-safe group gnus-active-hashtb)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2083 (or (not test-marked) (gnus-group-mark-line-p))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2084 (point)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2085 ;; Previous and next line are also likely, so we check them as well. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2086 ((and (not far) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2087 (save-excursion |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2088 (forward-line -1) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2089 (and (eq (get-text-property (point) 'gnus-group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2090 (gnus-intern-safe group gnus-active-hashtb)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2091 (or (not test-marked) (gnus-group-mark-line-p))))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2092 (forward-line -1) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2093 (point)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2094 ((and (not far) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2095 (save-excursion |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2096 (forward-line 1) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2097 (and (eq (get-text-property (point) 'gnus-group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2098 (gnus-intern-safe group gnus-active-hashtb)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2099 (or (not test-marked) (gnus-group-mark-line-p))))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2100 (forward-line 1) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2101 (point)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2102 (test-marked |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2103 (goto-char (point-min)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2104 (let (found) |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
2105 (while (and (not found) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2106 (gnus-goto-char |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2107 (text-property-any |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2108 (point) (point-max) |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
2109 'gnus-group |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2110 (gnus-intern-safe group gnus-active-hashtb)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2111 (if (gnus-group-mark-line-p) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2112 (setq found t) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2113 (forward-line 1))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2114 found)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2115 (t |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2116 ;; Search through the entire buffer. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2117 (gnus-goto-char |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2118 (text-property-any |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2119 (point-min) (point-max) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2120 'gnus-group (gnus-intern-safe group gnus-active-hashtb))))))) |
| 17493 | 2121 |
| 2122 (defun gnus-group-next-group (n &optional silent) | |
| 2123 "Go to next N'th newsgroup. | |
| 2124 If N is negative, search backward instead. | |
| 2125 Returns the difference between N and the number of skips actually | |
| 2126 done." | |
| 2127 (interactive "p") | |
| 2128 (gnus-group-next-unread-group n t nil silent)) | |
| 2129 | |
| 2130 (defun gnus-group-next-unread-group (n &optional all level silent) | |
| 2131 "Go to next N'th unread newsgroup. | |
| 2132 If N is negative, search backward instead. | |
| 2133 If ALL is non-nil, choose any newsgroup, unread or not. | |
| 2134 If LEVEL is non-nil, choose the next group with level LEVEL, or, if no | |
| 2135 such group can be found, the next group with a level higher than | |
| 2136 LEVEL. | |
| 2137 Returns the difference between N and the number of skips actually | |
| 2138 made." | |
| 2139 (interactive "p") | |
| 2140 (let ((backward (< n 0)) | |
| 2141 (n (abs n))) | |
| 2142 (while (and (> n 0) | |
| 2143 (gnus-group-search-forward | |
| 2144 backward (or (not gnus-group-goto-unread) all) level)) | |
| 2145 (setq n (1- n))) | |
| 2146 (when (and (/= 0 n) | |
| 2147 (not silent)) | |
| 2148 (gnus-message 7 "No more%s newsgroups%s" (if all "" " unread") | |
| 2149 (if level " on this level or higher" ""))) | |
| 2150 n)) | |
| 2151 | |
| 2152 (defun gnus-group-prev-group (n) | |
| 2153 "Go to previous N'th newsgroup. | |
| 2154 Returns the difference between N and the number of skips actually | |
| 2155 done." | |
| 2156 (interactive "p") | |
| 2157 (gnus-group-next-unread-group (- n) t)) | |
| 2158 | |
| 2159 (defun gnus-group-prev-unread-group (n) | |
| 2160 "Go to previous N'th unread newsgroup. | |
| 2161 Returns the difference between N and the number of skips actually | |
| 2162 done." | |
| 2163 (interactive "p") | |
| 2164 (gnus-group-next-unread-group (- n))) | |
| 2165 | |
| 2166 (defun gnus-group-next-unread-group-same-level (n) | |
| 2167 "Go to next N'th unread newsgroup on the same level. | |
| 2168 If N is negative, search backward instead. | |
| 2169 Returns the difference between N and the number of skips actually | |
| 2170 done." | |
| 2171 (interactive "p") | |
| 2172 (gnus-group-next-unread-group n t (gnus-group-group-level)) | |
| 2173 (gnus-group-position-point)) | |
| 2174 | |
| 2175 (defun gnus-group-prev-unread-group-same-level (n) | |
| 2176 "Go to next N'th unread newsgroup on the same level. | |
| 2177 Returns the difference between N and the number of skips actually | |
| 2178 done." | |
| 2179 (interactive "p") | |
| 2180 (gnus-group-next-unread-group (- n) t (gnus-group-group-level)) | |
| 2181 (gnus-group-position-point)) | |
| 2182 | |
| 2183 (defun gnus-group-best-unread-group (&optional exclude-group) | |
| 2184 "Go to the group with the highest level. | |
| 2185 If EXCLUDE-GROUP, do not go to that group." | |
| 2186 (interactive) | |
| 2187 (goto-char (point-min)) | |
| 2188 (let ((best 100000) | |
| 2189 unread best-point) | |
| 2190 (while (not (eobp)) | |
| 2191 (setq unread (get-text-property (point) 'gnus-unread)) | |
| 2192 (when (and (numberp unread) (> unread 0)) | |
| 2193 (when (and (get-text-property (point) 'gnus-level) | |
| 2194 (< (get-text-property (point) 'gnus-level) best) | |
| 2195 (or (not exclude-group) | |
| 2196 (not (equal exclude-group (gnus-group-group-name))))) | |
| 2197 (setq best (get-text-property (point) 'gnus-level)) | |
| 2198 (setq best-point (point)))) | |
| 2199 (forward-line 1)) | |
| 2200 (when best-point | |
| 2201 (goto-char best-point)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2202 (gnus-group-position-point) |
| 17493 | 2203 (and best-point (gnus-group-group-name)))) |
| 2204 | |
| 2205 (defun gnus-group-first-unread-group () | |
| 2206 "Go to the first group with unread articles." | |
| 2207 (interactive) | |
| 2208 (prog1 | |
| 2209 (let ((opoint (point)) | |
| 2210 unread) | |
| 2211 (goto-char (point-min)) | |
| 2212 (if (or (eq (setq unread (gnus-group-group-unread)) t) ; Not active. | |
| 2213 (and (numberp unread) ; Not a topic. | |
| 2214 (not (zerop unread))) ; Has unread articles. | |
| 2215 (zerop (gnus-group-next-unread-group 1))) ; Next unread group. | |
| 2216 (point) ; Success. | |
| 2217 (goto-char opoint) | |
| 2218 nil)) ; Not success. | |
| 2219 (gnus-group-position-point))) | |
| 2220 | |
| 2221 (defun gnus-group-enter-server-mode () | |
| 2222 "Jump to the server buffer." | |
| 2223 (interactive) | |
| 2224 (gnus-enter-server-buffer)) | |
| 2225 | |
| 2226 (defun gnus-group-make-group (name &optional method address args) | |
| 2227 "Add a new newsgroup. | |
| 2228 The user will be prompted for a NAME, for a select METHOD, and an | |
| 2229 ADDRESS." | |
| 2230 (interactive | |
| 2231 (list | |
| 2232 (gnus-read-group "Group name: ") | |
| 2233 (gnus-read-method "From method: "))) | |
| 2234 | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2235 (when (stringp method) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2236 (setq method (or (gnus-server-to-method method) method))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2237 (let* ((meth (gnus-method-simplify |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2238 (when (and method |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2239 (not (gnus-server-equal method gnus-select-method))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2240 (if address (list (intern method) address) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2241 method)))) |
| 17493 | 2242 (nname (if method (gnus-group-prefixed-name name meth) name)) |
| 2243 backend info) | |
| 2244 (when (gnus-gethash nname gnus-newsrc-hashtb) | |
| 2245 (error "Group %s already exists" nname)) | |
| 2246 ;; Subscribe to the new group. | |
| 2247 (gnus-group-change-level | |
| 2248 (setq info (list t nname gnus-level-default-subscribed nil nil meth)) | |
| 2249 gnus-level-default-subscribed gnus-level-killed | |
| 2250 (and (gnus-group-group-name) | |
| 2251 (gnus-gethash (gnus-group-group-name) | |
| 2252 gnus-newsrc-hashtb)) | |
| 2253 t) | |
| 2254 ;; Make it active. | |
| 2255 (gnus-set-active nname (cons 1 0)) | |
| 2256 (unless (gnus-ephemeral-group-p name) | |
| 2257 (gnus-dribble-enter | |
| 2258 (concat "(gnus-group-set-info '" | |
| 2259 (gnus-prin1-to-string (cdr info)) ")"))) | |
| 2260 ;; Insert the line. | |
| 2261 (gnus-group-insert-group-line-info nname) | |
| 2262 (forward-line -1) | |
| 2263 (gnus-group-position-point) | |
| 2264 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2265 ;; Load the back end and try to make the back end create |
| 17493 | 2266 ;; the group as well. |
| 2267 (when (assoc (symbol-name (setq backend (car (gnus-server-get-method | |
| 2268 nil meth)))) | |
| 2269 gnus-valid-select-methods) | |
| 2270 (require backend)) | |
| 2271 (gnus-check-server meth) | |
| 2272 (when (gnus-check-backend-function 'request-create-group nname) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2273 (unless (gnus-request-create-group nname nil args) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2274 (error "Could not create group on server: %s" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2275 (nnheader-get-report backend)))) |
| 17493 | 2276 t)) |
| 2277 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2278 (defun gnus-group-delete-groups (&optional arg) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2279 "Delete the current group. Only meaningful with editable groups." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2280 (interactive "P") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2281 (let ((n (length (gnus-group-process-prefix arg)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2282 (when (gnus-yes-or-no-p |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2283 (if (= n 1) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2284 "Delete this 1 group? " |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2285 (format "Delete these %d groups? " n))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2286 (gnus-group-iterate arg |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2287 (lambda (group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2288 (gnus-group-delete-group group nil t)))))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2289 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2290 (defun gnus-group-delete-group (group &optional force no-prompt) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2291 "Delete the current group. Only meaningful with editable groups. |
| 17493 | 2292 If FORCE (the prefix) is non-nil, all the articles in the group will |
| 2293 be deleted. This is \"deleted\" as in \"removed forever from the face | |
| 2294 of the Earth\". There is no undo. The user will be prompted before | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2295 doing the deletion. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2296 Note that you also have to specify FORCE if you want the group to |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2297 be removed from the server, even when it's empty." |
| 17493 | 2298 (interactive |
| 2299 (list (gnus-group-group-name) | |
| 2300 current-prefix-arg)) | |
| 2301 (unless group | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2302 (error "No group to delete")) |
| 17493 | 2303 (unless (gnus-check-backend-function 'request-delete-group group) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2304 (error "This back end does not support group deletion")) |
| 17493 | 2305 (prog1 |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2306 (if (and (not no-prompt) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2307 (not (gnus-yes-or-no-p |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2308 (format |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2309 "Do you really want to delete %s%s? " |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2310 group (if force " and all its contents" ""))))) |
| 17493 | 2311 () ; Whew! |
| 2312 (gnus-message 6 "Deleting group %s..." group) | |
| 2313 (if (not (gnus-request-delete-group group force)) | |
| 2314 (gnus-error 3 "Couldn't delete group %s" group) | |
| 2315 (gnus-message 6 "Deleting group %s...done" group) | |
| 2316 (gnus-group-goto-group group) | |
| 2317 (gnus-group-kill-group 1 t) | |
| 2318 (gnus-sethash group nil gnus-active-hashtb) | |
| 2319 t)) | |
| 2320 (gnus-group-position-point))) | |
| 2321 | |
| 2322 (defun gnus-group-rename-group (group new-name) | |
| 2323 "Rename group from GROUP to NEW-NAME. | |
| 2324 When used interactively, GROUP is the group under point | |
| 2325 and NEW-NAME will be prompted for." | |
| 2326 (interactive | |
| 2327 (list | |
| 2328 (gnus-group-group-name) | |
| 2329 (progn | |
| 2330 (unless (gnus-check-backend-function | |
| 2331 'request-rename-group (gnus-group-group-name)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2332 (error "This back end does not support renaming groups")) |
| 17493 | 2333 (gnus-read-group "Rename group to: " |
| 2334 (gnus-group-real-name (gnus-group-group-name)))))) | |
| 2335 | |
| 2336 (unless (gnus-check-backend-function 'request-rename-group group) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2337 (error "This back end does not support renaming groups")) |
| 17493 | 2338 (unless group |
| 2339 (error "No group to rename")) | |
| 2340 (when (equal (gnus-group-real-name group) new-name) | |
| 2341 (error "Can't rename to the same name")) | |
| 2342 | |
| 2343 ;; We find the proper prefixed name. | |
| 2344 (setq new-name | |
| 2345 (if (gnus-group-native-p group) | |
| 2346 ;; Native group. | |
| 2347 new-name | |
| 2348 ;; Foreign group. | |
| 2349 (gnus-group-prefixed-name | |
| 2350 (gnus-group-real-name new-name) | |
| 2351 (gnus-info-method (gnus-get-info group))))) | |
| 2352 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2353 (when (gnus-active new-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2354 (error "The group %s already exists" new-name)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2355 |
| 17493 | 2356 (gnus-message 6 "Renaming group %s to %s..." group new-name) |
| 2357 (prog1 | |
| 31785 | 2358 (if (progn |
| 2359 (gnus-group-goto-group group) | |
| 2360 (not (when (< (gnus-group-group-level) gnus-level-zombie) | |
| 2361 (gnus-request-rename-group group new-name)))) | |
| 17493 | 2362 (gnus-error 3 "Couldn't rename group %s to %s" group new-name) |
| 2363 ;; We rename the group internally by killing it... | |
| 2364 (gnus-group-kill-group) | |
| 2365 ;; ... changing its name ... | |
| 2366 (setcar (cdar gnus-list-of-killed-groups) new-name) | |
| 2367 ;; ... and then yanking it. Magic! | |
| 2368 (gnus-group-yank-group) | |
| 2369 (gnus-set-active new-name (gnus-active group)) | |
| 2370 (gnus-message 6 "Renaming group %s to %s...done" group new-name) | |
| 2371 new-name) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2372 (setq gnus-killed-list (delete group gnus-killed-list)) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2373 (gnus-set-active group nil) |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2374 (gnus-dribble-touch) |
| 17493 | 2375 (gnus-group-position-point))) |
| 2376 | |
| 2377 (defun gnus-group-edit-group (group &optional part) | |
| 2378 "Edit the group on the current line." | |
| 2379 (interactive (list (gnus-group-group-name))) | |
| 2380 (let ((part (or part 'info)) | |
| 2381 info) | |
| 2382 (unless group | |
| 2383 (error "No group on current line")) | |
| 2384 (unless (setq info (gnus-get-info group)) | |
| 2385 (error "Killed group; can't be edited")) | |
| 2386 (ignore-errors | |
| 2387 (gnus-close-group group)) | |
| 2388 (gnus-edit-form | |
| 2389 ;; Find the proper form to edit. | |
| 2390 (cond ((eq part 'method) | |
| 2391 (or (gnus-info-method info) "native")) | |
| 2392 ((eq part 'params) | |
| 2393 (gnus-info-params info)) | |
| 2394 (t info)) | |
| 2395 ;; The proper documentation. | |
| 2396 (format | |
| 2397 "Editing the %s for `%s'." | |
| 2398 (cond | |
| 2399 ((eq part 'method) "select method") | |
| 2400 ((eq part 'params) "group parameters") | |
| 2401 (t "group info")) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2402 (gnus-group-decoded-name group)) |
| 17493 | 2403 `(lambda (form) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2404 (gnus-group-edit-group-done ',part ,group form))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2405 (local-set-key |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2406 "\C-c\C-i" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2407 (gnus-create-info-command |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2408 (cond |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2409 ((eq part 'method) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2410 "(gnus)Select Methods") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2411 ((eq part 'params) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2412 "(gnus)Group Parameters") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2413 (t |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2414 "(gnus)Group Info")))))) |
| 17493 | 2415 |
| 2416 (defun gnus-group-edit-group-method (group) | |
| 2417 "Edit the select method of GROUP." | |
| 2418 (interactive (list (gnus-group-group-name))) | |
| 2419 (gnus-group-edit-group group 'method)) | |
| 2420 | |
| 2421 (defun gnus-group-edit-group-parameters (group) | |
| 2422 "Edit the group parameters of GROUP." | |
| 2423 (interactive (list (gnus-group-group-name))) | |
| 2424 (gnus-group-edit-group group 'params)) | |
| 2425 | |
| 2426 (defun gnus-group-edit-group-done (part group form) | |
| 2427 "Update variables." | |
| 2428 (let* ((method (cond ((eq part 'info) (nth 4 form)) | |
| 2429 ((eq part 'method) form) | |
| 2430 (t nil))) | |
| 2431 (info (cond ((eq part 'info) form) | |
| 2432 ((eq part 'method) (gnus-get-info group)) | |
| 2433 (t nil))) | |
| 2434 (new-group (if info | |
| 2435 (if (or (not method) | |
| 2436 (gnus-server-equal | |
| 2437 gnus-select-method method)) | |
| 2438 (gnus-group-real-name (car info)) | |
| 2439 (gnus-group-prefixed-name | |
| 2440 (gnus-group-real-name (car info)) method)) | |
| 2441 nil))) | |
| 2442 (when (and new-group | |
| 2443 (not (equal new-group group))) | |
| 2444 (when (gnus-group-goto-group group) | |
| 2445 (gnus-group-kill-group 1)) | |
| 2446 (gnus-activate-group new-group)) | |
| 2447 ;; Set the info. | |
| 2448 (if (not (and info new-group)) | |
| 2449 (gnus-group-set-info form (or new-group group) part) | |
| 2450 (setq info (gnus-copy-sequence info)) | |
| 2451 (setcar info new-group) | |
| 2452 (unless (gnus-server-equal method "native") | |
| 2453 (unless (nthcdr 3 info) | |
| 2454 (nconc info (list nil nil))) | |
| 2455 (unless (nthcdr 4 info) | |
| 2456 (nconc info (list nil))) | |
| 2457 (gnus-info-set-method info method)) | |
| 2458 (gnus-group-set-info info)) | |
| 2459 (gnus-group-update-group (or new-group group)) | |
| 2460 (gnus-group-position-point))) | |
| 2461 | |
| 2462 (defun gnus-group-make-useful-group (group method) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2463 "Create one of the groups described in `gnus-useful-groups'." |
| 17493 | 2464 (interactive |
| 2465 (let ((entry (assoc (completing-read "Create group: " gnus-useful-groups | |
| 2466 nil t) | |
| 2467 gnus-useful-groups))) | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2468 (list (cadr entry) (caddr entry)))) |
| 17493 | 2469 (setq method (gnus-copy-sequence method)) |
| 2470 (let (entry) | |
| 2471 (while (setq entry (memq (assq 'eval method) method)) | |
| 2472 (setcar entry (eval (cadar entry))))) | |
| 2473 (gnus-group-make-group group method)) | |
| 2474 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2475 (defun gnus-group-make-help-group (&optional noerror) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2476 "Create the Gnus documentation group. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2477 Optional argument NOERROR modifies the behavior of this function when the |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2478 group already exists: |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2479 - if not given, and error is signaled, |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2480 - if t, stay silent, |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2481 - if anything else, just print a message." |
| 17493 | 2482 (interactive) |
| 2483 (let ((name (gnus-group-prefixed-name "gnus-help" '(nndoc "gnus-help"))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
2484 (file (nnheader-find-etc-directory "gnus-tut.txt" t))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2485 (if (gnus-gethash name gnus-newsrc-hashtb) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2486 (cond ((eq noerror nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2487 (error "Documentation group already exists")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2488 ((eq noerror t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2489 ;; stay silent |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2490 ) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2491 (t |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2492 (gnus-message 1 "Documentation group already exists"))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2493 ;; else: |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2494 (if (not file) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2495 (gnus-message 1 "Couldn't find doc group") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2496 (gnus-group-make-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2497 (gnus-group-real-name name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2498 (list 'nndoc "gnus-help" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2499 (list 'nndoc-address file) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2500 (list 'nndoc-article-type 'mbox)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2501 )) |
| 17493 | 2502 (gnus-group-position-point)) |
| 2503 | |
| 2504 (defun gnus-group-make-doc-group (file type) | |
| 2505 "Create a group that uses a single file as the source." | |
| 2506 (interactive | |
| 2507 (list (read-file-name "File name: ") | |
| 2508 (and current-prefix-arg 'ask))) | |
| 2509 (when (eq type 'ask) | |
| 2510 (let ((err "") | |
| 2511 char found) | |
| 2512 (while (not found) | |
| 2513 (message | |
| 2514 "%sFile type (mbox, babyl, digest, forward, mmdf, guess) [mbdfag]: " | |
| 2515 err) | |
| 2516 (setq found (cond ((= (setq char (read-char)) ?m) 'mbox) | |
| 2517 ((= char ?b) 'babyl) | |
| 2518 ((= char ?d) 'digest) | |
| 2519 ((= char ?f) 'forward) | |
| 2520 ((= char ?a) 'mmfd) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2521 ((= char ?g) 'guess) |
| 17493 | 2522 (t (setq err (format "%c unknown. " char)) |
| 2523 nil)))) | |
| 2524 (setq type found))) | |
| 2525 (let* ((file (expand-file-name file)) | |
| 2526 (name (gnus-generate-new-group-name | |
| 2527 (gnus-group-prefixed-name | |
| 2528 (file-name-nondirectory file) '(nndoc ""))))) | |
| 2529 (gnus-group-make-group | |
| 2530 (gnus-group-real-name name) | |
| 2531 (list 'nndoc file | |
| 2532 (list 'nndoc-address file) | |
| 2533 (list 'nndoc-article-type (or type 'guess)))))) | |
| 2534 | |
| 2535 (defvar nnweb-type-definition) | |
| 2536 (defvar gnus-group-web-type-history nil) | |
| 2537 (defvar gnus-group-web-search-history nil) | |
| 2538 (defun gnus-group-make-web-group (&optional solid) | |
| 2539 "Create an ephemeral nnweb group. | |
| 2540 If SOLID (the prefix), create a solid group." | |
| 2541 (interactive "P") | |
| 2542 (require 'nnweb) | |
| 2543 (let* ((group | |
| 2544 (if solid (gnus-read-group "Group name: ") | |
| 2545 (message-unique-id))) | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2546 (default-type (or (car gnus-group-web-type-history) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2547 (symbol-name (caar nnweb-type-definition)))) |
| 17493 | 2548 (type |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2549 (gnus-string-or |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2550 (completing-read |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2551 (format "Search engine type (default %s): " default-type) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2552 (mapcar (lambda (elem) (list (symbol-name (car elem)))) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2553 nnweb-type-definition) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2554 nil t nil 'gnus-group-web-type-history) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2555 default-type)) |
| 17493 | 2556 (search |
| 2557 (read-string | |
| 2558 "Search string: " | |
| 2559 (cons (or (car gnus-group-web-search-history) "") 0) | |
| 2560 'gnus-group-web-search-history)) | |
| 2561 (method | |
| 2562 `(nnweb ,group (nnweb-search ,search) | |
| 2563 (nnweb-type ,(intern type)) | |
| 2564 (nnweb-ephemeral-p t)))) | |
| 2565 (if solid | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2566 (progn |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2567 (gnus-pull 'nnweb-ephemeral-p method) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2568 (gnus-group-make-group group method)) |
| 17493 | 2569 (gnus-group-read-ephemeral-group |
| 2570 group method t | |
| 2571 (cons (current-buffer) | |
| 2572 (if (eq major-mode 'gnus-summary-mode) 'summary 'group)))))) | |
| 2573 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2574 (eval-when-compile |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2575 (defvar nnrss-group-alist) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2576 (defun nnrss-discover-feed (arg)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2577 (defun nnrss-save-server-data (arg))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2578 (defun gnus-group-make-rss-group (&optional url) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2579 "Given a URL, discover if there is an RSS feed. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2580 If there is, use Gnus to create an nnrss group" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2581 (interactive) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2582 (require 'nnrss) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2583 (if (not url) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2584 (setq url (read-from-minibuffer "URL to Search for RSS: "))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2585 (let ((feedinfo (nnrss-discover-feed url))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2586 (if feedinfo |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2587 (let ((title (read-from-minibuffer "Title: " |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2588 (cdr (assoc 'title |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2589 feedinfo)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2590 (desc (read-from-minibuffer "Description: " |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2591 (cdr (assoc 'description |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2592 feedinfo)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2593 (href (cdr (assoc 'href feedinfo)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2594 (push (list title href desc) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2595 nnrss-group-alist) |
|
58959
ec047d4f2cfc
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-734
Miles Bader <miles@gnu.org>
parents:
57784
diff
changeset
|
2596 (gnus-group-make-group title '(nnrss "")) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2597 (nnrss-save-server-data nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2598 (error "No feeds found for %s" url)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2599 |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2600 (defvar nnwarchive-type-definition) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2601 (defvar gnus-group-warchive-type-history nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2602 (defvar gnus-group-warchive-login-history nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2603 (defvar gnus-group-warchive-address-history nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2604 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2605 (defun gnus-group-make-warchive-group () |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2606 "Create a nnwarchive group." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2607 (interactive) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2608 (require 'nnwarchive) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2609 (let* ((group (gnus-read-group "Group name: ")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2610 (default-type (or (car gnus-group-warchive-type-history) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2611 (symbol-name (caar nnwarchive-type-definition)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2612 (type |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2613 (gnus-string-or |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2614 (completing-read |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2615 (format "Warchive type (default %s): " default-type) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2616 (mapcar (lambda (elem) (list (symbol-name (car elem)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2617 nnwarchive-type-definition) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2618 nil t nil 'gnus-group-warchive-type-history) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2619 default-type)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2620 (address (read-string "Warchive address: " |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2621 nil 'gnus-group-warchive-address-history)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2622 (default-login (or (car gnus-group-warchive-login-history) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2623 user-mail-address)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2624 (login |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2625 (gnus-string-or |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2626 (read-string |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2627 (format "Warchive login (default %s): " user-mail-address) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2628 default-login 'gnus-group-warchive-login-history) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2629 user-mail-address)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2630 (method |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
2631 `(nnwarchive ,address |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2632 (nnwarchive-type ,(intern type)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2633 (nnwarchive-login ,login)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2634 (gnus-group-make-group group method))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2635 |
| 17493 | 2636 (defun gnus-group-make-archive-group (&optional all) |
| 2637 "Create the (ding) Gnus archive group of the most recent articles. | |
| 2638 Given a prefix, create a full group." | |
| 2639 (interactive "P") | |
| 2640 (let ((group (gnus-group-prefixed-name | |
| 2641 (if all "ding.archives" "ding.recent") '(nndir "")))) | |
| 2642 (when (gnus-gethash group gnus-newsrc-hashtb) | |
| 2643 (error "Archive group already exists")) | |
| 2644 (gnus-group-make-group | |
| 2645 (gnus-group-real-name group) | |
| 2646 (list 'nndir (if all "hpc" "edu") | |
| 2647 (list 'nndir-directory | |
| 2648 (if all gnus-group-archive-directory | |
| 2649 gnus-group-recent-archive-directory)))) | |
| 2650 (gnus-group-add-parameter group (cons 'to-address "ding@gnus.org")))) | |
| 2651 | |
| 2652 (defun gnus-group-make-directory-group (dir) | |
| 2653 "Create an nndir group. | |
| 2654 The user will be prompted for a directory. The contents of this | |
| 2655 directory will be used as a newsgroup. The directory should contain | |
| 2656 mail messages or news articles in files that have numeric names." | |
| 2657 (interactive | |
| 2658 (list (read-file-name "Create group from directory: "))) | |
| 2659 (unless (file-exists-p dir) | |
| 2660 (error "No such directory")) | |
| 2661 (unless (file-directory-p dir) | |
| 2662 (error "Not a directory")) | |
| 2663 (let ((ext "") | |
| 2664 (i 0) | |
| 2665 group) | |
| 2666 (while (or (not group) (gnus-gethash group gnus-newsrc-hashtb)) | |
| 2667 (setq group | |
| 2668 (gnus-group-prefixed-name | |
| 33344 | 2669 (expand-file-name ext dir) |
| 17493 | 2670 '(nndir ""))) |
| 2671 (setq ext (format "<%d>" (setq i (1+ i))))) | |
| 2672 (gnus-group-make-group | |
| 2673 (gnus-group-real-name group) | |
| 2674 (list 'nndir (gnus-group-real-name group) (list 'nndir-directory dir))))) | |
| 2675 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2676 (defvar nnkiboze-score-file) |
| 17493 | 2677 (defun gnus-group-make-kiboze-group (group address scores) |
| 2678 "Create an nnkiboze group. | |
| 2679 The user will be prompted for a name, a regexp to match groups, and | |
| 2680 score file entries for articles to include in the group." | |
| 2681 (interactive | |
| 2682 (list | |
| 2683 (read-string "nnkiboze group name: ") | |
| 2684 (read-string "Source groups (regexp): ") | |
| 2685 (let ((headers (mapcar (lambda (group) (list group)) | |
| 2686 '("subject" "from" "number" "date" "message-id" | |
| 2687 "references" "chars" "lines" "xref" | |
| 2688 "followup" "all" "body" "head"))) | |
| 2689 scores header regexp regexps) | |
| 2690 (while (not (equal "" (setq header (completing-read | |
| 2691 "Match on header: " headers nil t)))) | |
| 2692 (setq regexps nil) | |
| 2693 (while (not (equal "" (setq regexp (read-string | |
|
32969
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2694 (format "Match on %s (regexp): " |
| 17493 | 2695 header))))) |
| 2696 (push (list regexp nil nil 'r) regexps)) | |
| 2697 (push (cons header regexps) scores)) | |
| 2698 scores))) | |
| 2699 (gnus-group-make-group group "nnkiboze" address) | |
|
32969
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2700 (let* ((nnkiboze-current-group group) |
|
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2701 (score-file (car (nnkiboze-score-file ""))) |
| 31785 | 2702 (score-dir (file-name-directory score-file))) |
| 2703 (unless (file-exists-p score-dir) | |
| 2704 (make-directory score-dir)) | |
| 2705 (with-temp-file score-file | |
| 2706 (let (emacs-lisp-mode-hook) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2707 (gnus-pp scores))))) |
| 17493 | 2708 |
| 2709 (defun gnus-group-add-to-virtual (n vgroup) | |
| 2710 "Add the current group to a virtual group." | |
| 2711 (interactive | |
| 2712 (list current-prefix-arg | |
| 2713 (completing-read "Add to virtual group: " gnus-newsrc-hashtb nil t | |
| 2714 "nnvirtual:"))) | |
| 2715 (unless (eq (car (gnus-find-method-for-group vgroup)) 'nnvirtual) | |
| 2716 (error "%s is not an nnvirtual group" vgroup)) | |
| 2717 (gnus-close-group vgroup) | |
| 2718 (let* ((groups (gnus-group-process-prefix n)) | |
| 2719 (method (gnus-info-method (gnus-get-info vgroup)))) | |
| 2720 (setcar (cdr method) | |
| 2721 (concat | |
| 2722 (nth 1 method) "\\|" | |
| 2723 (mapconcat | |
| 2724 (lambda (s) | |
| 2725 (gnus-group-remove-mark s) | |
| 2726 (concat "\\(^" (regexp-quote s) "$\\)")) | |
| 2727 groups "\\|")))) | |
| 2728 (gnus-group-position-point)) | |
| 2729 | |
| 2730 (defun gnus-group-make-empty-virtual (group) | |
| 2731 "Create a new, fresh, empty virtual group." | |
| 2732 (interactive "sCreate new, empty virtual group: ") | |
| 2733 (let* ((method (list 'nnvirtual "^$")) | |
| 2734 (pgroup (gnus-group-prefixed-name group method))) | |
| 2735 ;; Check whether it exists already. | |
| 2736 (when (gnus-gethash pgroup gnus-newsrc-hashtb) | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
2737 (error "Group %s already exists" pgroup)) |
| 17493 | 2738 ;; Subscribe the new group after the group on the current line. |
| 2739 (gnus-subscribe-group pgroup (gnus-group-group-name) method) | |
| 2740 (gnus-group-update-group pgroup) | |
| 2741 (forward-line -1) | |
| 2742 (gnus-group-position-point))) | |
| 2743 | |
| 2744 (defun gnus-group-enter-directory (dir) | |
| 2745 "Enter an ephemeral nneething group." | |
| 2746 (interactive "DDirectory to read: ") | |
| 2747 (let* ((method (list 'nneething dir '(nneething-read-only t))) | |
| 2748 (leaf (gnus-group-prefixed-name | |
| 2749 (file-name-nondirectory (directory-file-name dir)) | |
| 2750 method)) | |
| 2751 (name (gnus-generate-new-group-name leaf))) | |
| 2752 (unless (gnus-group-read-ephemeral-group | |
| 2753 name method t | |
| 2754 (cons (current-buffer) | |
| 2755 (if (eq major-mode 'gnus-summary-mode) | |
| 2756 'summary 'group))) | |
| 2757 (error "Couldn't enter %s" dir)))) | |
| 2758 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2759 (eval-and-compile |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2760 (autoload 'nnimap-expunge "nnimap") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2761 (autoload 'nnimap-acl-get "nnimap") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2762 (autoload 'nnimap-acl-edit "nnimap")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2763 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2764 (defun gnus-group-nnimap-expunge (group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2765 "Expunge deleted articles in current nnimap GROUP." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2766 (interactive (list (gnus-group-group-name))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2767 (let ((mailbox (gnus-group-real-name group)) method) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2768 (unless group |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2769 (error "No group on current line")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2770 (unless (gnus-get-info group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2771 (error "Killed group; can't be edited")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2772 (unless (eq 'nnimap (car (setq method (gnus-find-method-for-group group)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2773 (error "%s is not an nnimap group" group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2774 (nnimap-expunge mailbox (cadr method)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2775 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2776 (defun gnus-group-nnimap-edit-acl (group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2777 "Edit the Access Control List of current nnimap GROUP." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2778 (interactive (list (gnus-group-group-name))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2779 (let ((mailbox (gnus-group-real-name group)) method acl) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2780 (unless group |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2781 (error "No group on current line")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2782 (unless (gnus-get-info group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2783 (error "Killed group; can't be edited")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2784 (unless (eq (car (setq method (gnus-find-method-for-group group))) 'nnimap) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2785 (error "%s is not an nnimap group" group)) |
|
32969
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2786 (unless (setq acl (nnimap-acl-get mailbox (cadr method))) |
|
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2787 (error "Server does not support ACL's")) |
|
899478c14a26
2000-09-24 Simon Josefsson <simon@josefsson.org>
Dave Love <fx@gnu.org>
parents:
32965
diff
changeset
|
2788 (gnus-edit-form acl (format "Editing the access control list for `%s'. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2789 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2790 An access control list is a list of (identifier . rights) elements. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2791 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2792 The identifier string specifies the corresponding user. The |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2793 identifier \"anyone\" is reserved to refer to the universal identity. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2794 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2795 Rights is a string listing a (possibly empty) set of alphanumeric |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2796 characters, each character listing a set of operations which is being |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2797 controlled. Letters are reserved for ``standard'' rights, listed |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2798 below. Digits are reserved for implementation or site defined rights. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2799 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2800 l - lookup (mailbox is visible to LIST/LSUB commands) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2801 r - read (SELECT the mailbox, perform CHECK, FETCH, PARTIAL, |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2802 SEARCH, COPY from mailbox) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2803 s - keep seen/unseen information across sessions (STORE \\SEEN flag) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2804 w - write (STORE flags other than \\SEEN and \\DELETED) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2805 i - insert (perform APPEND, COPY into mailbox) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2806 p - post (send mail to submission address for mailbox, |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2807 not enforced by IMAP4 itself) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2808 c - create and delete mailbox (CREATE new sub-mailboxes in any |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2809 implementation-defined hierarchy, RENAME or DELETE mailbox) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2810 d - delete messages (STORE \\DELETED flag, perform EXPUNGE) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2811 a - administer (perform SETACL)" group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2812 `(lambda (form) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2813 (nnimap-acl-edit |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2814 ,mailbox ',method ',acl form))))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2815 |
| 17493 | 2816 ;; Group sorting commands |
| 2817 ;; Suggested by Joe Hildebrand <hildjj@idaho.fuentez.com>. | |
| 2818 | |
| 2819 (defun gnus-group-sort-groups (func &optional reverse) | |
| 2820 "Sort the group buffer according to FUNC. | |
| 2821 When used interactively, the sorting function used will be | |
| 2822 determined by the `gnus-group-sort-function' variable. | |
| 2823 If REVERSE (the prefix), reverse the sorting order." | |
| 2824 (interactive (list gnus-group-sort-function current-prefix-arg)) | |
| 2825 (funcall gnus-group-sort-alist-function | |
| 2826 (gnus-make-sort-function func) reverse) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2827 (gnus-group-unmark-all-groups) |
| 17493 | 2828 (gnus-group-list-groups) |
| 2829 (gnus-dribble-touch)) | |
| 2830 | |
| 2831 (defun gnus-group-sort-flat (func reverse) | |
| 2832 ;; We peel off the dummy group from the alist. | |
| 2833 (when func | |
| 2834 (when (equal (gnus-info-group (car gnus-newsrc-alist)) "dummy.group") | |
| 2835 (pop gnus-newsrc-alist)) | |
| 2836 ;; Do the sorting. | |
| 2837 (setq gnus-newsrc-alist | |
| 2838 (sort gnus-newsrc-alist func)) | |
| 2839 (when reverse | |
| 2840 (setq gnus-newsrc-alist (nreverse gnus-newsrc-alist))) | |
| 2841 ;; Regenerate the hash table. | |
| 2842 (gnus-make-hashtable-from-newsrc-alist))) | |
| 2843 | |
| 2844 (defun gnus-group-sort-groups-by-alphabet (&optional reverse) | |
| 2845 "Sort the group buffer alphabetically by group name. | |
| 2846 If REVERSE, sort in reverse order." | |
| 2847 (interactive "P") | |
| 2848 (gnus-group-sort-groups 'gnus-group-sort-by-alphabet reverse)) | |
| 2849 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2850 (defun gnus-group-sort-groups-by-real-name (&optional reverse) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2851 "Sort the group buffer alphabetically by real (unprefixed) group name. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2852 If REVERSE, sort in reverse order." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2853 (interactive "P") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2854 (gnus-group-sort-groups 'gnus-group-sort-by-real-name reverse)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2855 |
| 17493 | 2856 (defun gnus-group-sort-groups-by-unread (&optional reverse) |
| 2857 "Sort the group buffer by number of unread articles. | |
| 2858 If REVERSE, sort in reverse order." | |
| 2859 (interactive "P") | |
| 2860 (gnus-group-sort-groups 'gnus-group-sort-by-unread reverse)) | |
| 2861 | |
| 2862 (defun gnus-group-sort-groups-by-level (&optional reverse) | |
| 2863 "Sort the group buffer by group level. | |
| 2864 If REVERSE, sort in reverse order." | |
| 2865 (interactive "P") | |
| 2866 (gnus-group-sort-groups 'gnus-group-sort-by-level reverse)) | |
| 2867 | |
| 2868 (defun gnus-group-sort-groups-by-score (&optional reverse) | |
| 2869 "Sort the group buffer by group score. | |
| 2870 If REVERSE, sort in reverse order." | |
| 2871 (interactive "P") | |
| 2872 (gnus-group-sort-groups 'gnus-group-sort-by-score reverse)) | |
| 2873 | |
| 2874 (defun gnus-group-sort-groups-by-rank (&optional reverse) | |
| 2875 "Sort the group buffer by group rank. | |
| 2876 If REVERSE, sort in reverse order." | |
| 2877 (interactive "P") | |
| 2878 (gnus-group-sort-groups 'gnus-group-sort-by-rank reverse)) | |
| 2879 | |
| 2880 (defun gnus-group-sort-groups-by-method (&optional reverse) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2881 "Sort the group buffer alphabetically by back end name. |
| 17493 | 2882 If REVERSE, sort in reverse order." |
| 2883 (interactive "P") | |
| 2884 (gnus-group-sort-groups 'gnus-group-sort-by-method reverse)) | |
| 2885 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2886 (defun gnus-group-sort-groups-by-server (&optional reverse) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2887 "Sort the group buffer alphabetically by server name. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2888 If REVERSE, sort in reverse order." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2889 (interactive "P") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2890 (gnus-group-sort-groups 'gnus-group-sort-by-server reverse)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2891 |
| 17493 | 2892 ;;; Selected group sorting. |
| 2893 | |
| 2894 (defun gnus-group-sort-selected-groups (n func &optional reverse) | |
| 2895 "Sort the process/prefixed groups." | |
| 2896 (interactive (list current-prefix-arg gnus-group-sort-function)) | |
| 2897 (let ((groups (gnus-group-process-prefix n))) | |
| 2898 (funcall gnus-group-sort-selected-function | |
| 2899 groups (gnus-make-sort-function func) reverse) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2900 (gnus-group-unmark-all-groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2901 (gnus-group-list-groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2902 (gnus-dribble-touch))) |
| 17493 | 2903 |
| 2904 (defun gnus-group-sort-selected-flat (groups func reverse) | |
| 2905 (let (entries infos) | |
| 2906 ;; First find all the group entries for these groups. | |
| 2907 (while groups | |
| 2908 (push (nthcdr 2 (gnus-gethash (pop groups) gnus-newsrc-hashtb)) | |
| 2909 entries)) | |
| 2910 ;; Then sort the infos. | |
| 2911 (setq infos | |
| 2912 (sort | |
| 2913 (mapcar | |
| 2914 (lambda (entry) (car entry)) | |
| 2915 (setq entries (nreverse entries))) | |
| 2916 func)) | |
| 2917 (when reverse | |
| 2918 (setq infos (nreverse infos))) | |
| 2919 ;; Go through all the infos and replace the old entries | |
| 2920 ;; with the new infos. | |
| 2921 (while infos | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2922 (setcar (car entries) (pop infos)) |
| 17493 | 2923 (pop entries)) |
| 2924 ;; Update the hashtable. | |
| 2925 (gnus-make-hashtable-from-newsrc-alist))) | |
| 2926 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2927 (defun gnus-group-sort-selected-groups-by-alphabet (&optional n reverse) |
| 17493 | 2928 "Sort the group buffer alphabetically by group name. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2929 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2930 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2931 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2932 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-alphabet reverse)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2933 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2934 (defun gnus-group-sort-selected-groups-by-real-name (&optional n reverse) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2935 "Sort the group buffer alphabetically by real group name. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2936 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2937 sort in reverse order." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2938 (interactive (gnus-interactive "P\ny")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2939 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-real-name reverse)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2940 |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2941 (defun gnus-group-sort-selected-groups-by-unread (&optional n reverse) |
| 17493 | 2942 "Sort the group buffer by number of unread articles. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2943 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2944 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2945 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2946 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-unread reverse)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2947 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2948 (defun gnus-group-sort-selected-groups-by-level (&optional n reverse) |
| 17493 | 2949 "Sort the group buffer by group level. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2950 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2951 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2952 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2953 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-level reverse)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2954 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2955 (defun gnus-group-sort-selected-groups-by-score (&optional n reverse) |
| 17493 | 2956 "Sort the group buffer by group score. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2957 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2958 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2959 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2960 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-score reverse)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2961 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2962 (defun gnus-group-sort-selected-groups-by-rank (&optional n reverse) |
| 17493 | 2963 "Sort the group buffer by group rank. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2964 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2965 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2966 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2967 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-rank reverse)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2968 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2969 (defun gnus-group-sort-selected-groups-by-method (&optional n reverse) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2970 "Sort the group buffer alphabetically by back end name. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2971 Obeys the process/prefix convention. If REVERSE (the symbolic prefix), |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2972 sort in reverse order." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2973 (interactive (gnus-interactive "P\ny")) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
2974 (gnus-group-sort-selected-groups n 'gnus-group-sort-by-method reverse)) |
| 17493 | 2975 |
| 2976 ;;; Sorting predicates. | |
| 2977 | |
| 2978 (defun gnus-group-sort-by-alphabet (info1 info2) | |
| 2979 "Sort alphabetically." | |
| 2980 (string< (gnus-info-group info1) (gnus-info-group info2))) | |
| 2981 | |
| 2982 (defun gnus-group-sort-by-real-name (info1 info2) | |
| 2983 "Sort alphabetically on real (unprefixed) names." | |
| 2984 (string< (gnus-group-real-name (gnus-info-group info1)) | |
| 2985 (gnus-group-real-name (gnus-info-group info2)))) | |
| 2986 | |
| 2987 (defun gnus-group-sort-by-unread (info1 info2) | |
| 2988 "Sort by number of unread articles." | |
| 2989 (let ((n1 (car (gnus-gethash (gnus-info-group info1) gnus-newsrc-hashtb))) | |
| 2990 (n2 (car (gnus-gethash (gnus-info-group info2) gnus-newsrc-hashtb)))) | |
| 2991 (< (or (and (numberp n1) n1) 0) | |
| 2992 (or (and (numberp n2) n2) 0)))) | |
| 2993 | |
| 2994 (defun gnus-group-sort-by-level (info1 info2) | |
| 2995 "Sort by level." | |
| 2996 (< (gnus-info-level info1) (gnus-info-level info2))) | |
| 2997 | |
| 2998 (defun gnus-group-sort-by-method (info1 info2) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
2999 "Sort alphabetically by back end name." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3000 (string< (car (gnus-find-method-for-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3001 (gnus-info-group info1) info1)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3002 (car (gnus-find-method-for-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3003 (gnus-info-group info2) info2)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3004 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3005 (defun gnus-group-sort-by-server (info1 info2) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3006 "Sort alphabetically by server name." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3007 (string< (gnus-method-to-full-server-name |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3008 (gnus-find-method-for-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3009 (gnus-info-group info1) info1)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3010 (gnus-method-to-full-server-name |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3011 (gnus-find-method-for-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3012 (gnus-info-group info2) info2)))) |
| 17493 | 3013 |
| 3014 (defun gnus-group-sort-by-score (info1 info2) | |
| 3015 "Sort by group score." | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3016 (> (gnus-info-score info1) (gnus-info-score info2))) |
| 17493 | 3017 |
| 3018 (defun gnus-group-sort-by-rank (info1 info2) | |
| 3019 "Sort by level and score." | |
| 3020 (let ((level1 (gnus-info-level info1)) | |
| 3021 (level2 (gnus-info-level info2))) | |
| 3022 (or (< level1 level2) | |
| 3023 (and (= level1 level2) | |
| 3024 (> (gnus-info-score info1) (gnus-info-score info2)))))) | |
| 3025 | |
| 3026 ;;; Clearing data | |
| 3027 | |
| 3028 (defun gnus-group-clear-data (&optional arg) | |
| 3029 "Clear all marks and read ranges from the current group." | |
| 3030 (interactive "P") | |
| 3031 (gnus-group-iterate arg | |
| 3032 (lambda (group) | |
| 3033 (let (info) | |
| 3034 (gnus-info-clear-data (setq info (gnus-get-info group))) | |
| 3035 (gnus-get-unread-articles-in-group info (gnus-active group) t) | |
| 3036 (when (gnus-group-goto-group group) | |
| 3037 (gnus-group-update-group-line)))))) | |
| 3038 | |
| 3039 (defun gnus-group-clear-data-on-native-groups () | |
| 3040 "Clear all marks and read ranges from all native groups." | |
| 3041 (interactive) | |
| 3042 (when (gnus-yes-or-no-p "Really clear all data from almost all groups? ") | |
| 3043 (let ((alist (cdr gnus-newsrc-alist)) | |
| 3044 info) | |
| 3045 (while (setq info (pop alist)) | |
| 3046 (when (gnus-group-native-p (gnus-info-group info)) | |
| 3047 (gnus-info-clear-data info))) | |
| 3048 (gnus-get-unread-articles) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3049 (gnus-dribble-touch) |
| 17493 | 3050 (when (gnus-y-or-n-p |
| 3051 "Move the cache away to avoid problems in the future? ") | |
| 3052 (call-interactively 'gnus-cache-move-cache))))) | |
| 3053 | |
| 3054 (defun gnus-info-clear-data (info) | |
| 3055 "Clear all marks and read ranges from INFO." | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3056 (let ((group (gnus-info-group info)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3057 action) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3058 (dolist (el (gnus-info-marks info)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3059 (push `(,(cdr el) add (,(car el))) action)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3060 (push `(,(gnus-info-read info) add (read)) action) |
| 17493 | 3061 (gnus-undo-register |
| 3062 `(progn | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3063 (gnus-request-set-mark ,group ',action) |
| 17493 | 3064 (gnus-info-set-marks ',info ',(gnus-info-marks info) t) |
| 3065 (gnus-info-set-read ',info ',(gnus-info-read info)) | |
| 3066 (when (gnus-group-goto-group ,group) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3067 (gnus-get-unread-articles-in-group ',info ',(gnus-active group) t) |
| 17493 | 3068 (gnus-group-update-group-line)))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3069 (setq action (mapcar (lambda (el) (list (nth 0 el) 'del (nth 2 el))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3070 action)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3071 (gnus-request-set-mark group action) |
| 17493 | 3072 (gnus-info-set-read info nil) |
| 3073 (when (gnus-info-marks info) | |
| 3074 (gnus-info-set-marks info nil)))) | |
| 3075 | |
| 3076 ;; Group catching up. | |
| 3077 | |
| 3078 (defun gnus-group-catchup-current (&optional n all) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3079 "Mark all unread articles in the current newsgroup as read. |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3080 If prefix argument N is numeric, the next N newsgroups will be |
| 17493 | 3081 caught up. If ALL is non-nil, marked articles will also be marked as |
| 3082 read. Cross references (Xref: header) of articles are ignored. | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3083 The number of newsgroups that this function was unable to catch |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3084 up is returned." |
| 17493 | 3085 (interactive "P") |
| 3086 (let ((groups (gnus-group-process-prefix n)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3087 (ret 0) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3088 group) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3089 (unless groups (error "No groups selected")) |
| 17493 | 3090 (if (not |
| 3091 (or (not gnus-interactive-catchup) ;Without confirmation? | |
| 3092 gnus-expert-user | |
| 3093 (gnus-y-or-n-p | |
| 3094 (format | |
| 3095 (if all | |
| 3096 "Do you really want to mark all articles in %s as read? " | |
| 3097 "Mark all unread articles in %s as read? ") | |
| 3098 (if (= (length groups) 1) | |
| 3099 (car groups) | |
| 3100 (format "these %d groups" (length groups))))))) | |
| 3101 n | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3102 (while (setq group (pop groups)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3103 (gnus-group-remove-mark group) |
| 17493 | 3104 ;; Virtual groups have to be given special treatment. |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3105 (let ((method (gnus-find-method-for-group group))) |
| 17493 | 3106 (when (eq 'nnvirtual (car method)) |
| 3107 (nnvirtual-catchup-group | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3108 (gnus-group-real-name group) (nth 1 method) all))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3109 (if (>= (gnus-group-level group) gnus-level-zombie) |
| 17493 | 3110 (gnus-message 2 "Dead groups can't be caught up") |
| 3111 (if (prog1 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3112 (gnus-group-goto-group group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3113 (gnus-group-catchup group all)) |
| 17493 | 3114 (gnus-group-update-group-line) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3115 (setq ret (1+ ret))))) |
| 17493 | 3116 (gnus-group-next-unread-group 1) |
| 3117 ret))) | |
| 3118 | |
| 3119 (defun gnus-group-catchup-current-all (&optional n) | |
| 3120 "Mark all articles in current newsgroup as read. | |
| 3121 Cross references (Xref: header) of articles are ignored." | |
| 3122 (interactive "P") | |
| 3123 (gnus-group-catchup-current n 'all)) | |
| 3124 | |
| 3125 (defun gnus-group-catchup (group &optional all) | |
| 3126 "Mark all articles in GROUP as read. | |
| 3127 If ALL is non-nil, all articles are marked as read. | |
| 3128 The return value is the number of articles that were marked as read, | |
| 3129 or nil if no action could be taken." | |
| 3130 (let* ((entry (gnus-gethash group gnus-newsrc-hashtb)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3131 (num (car entry)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3132 (marks (nth 3 (nth 2 entry))) |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3133 (unread (gnus-sequence-of-unread-articles group))) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3134 ;; Remove entries for this group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3135 (nnmail-purge-split-history (gnus-group-real-name group)) |
| 17493 | 3136 ;; Do the updating only if the newsgroup isn't killed. |
| 3137 (if (not (numberp (car entry))) | |
| 3138 (gnus-message 1 "Can't catch up %s; non-active group" group) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3139 (gnus-update-read-articles group nil) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3140 (when all |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3141 ;; Nix out the lists of marks and dormants. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3142 (gnus-request-set-mark group (list (list (cdr (assq 'tick marks)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3143 'del '(tick)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3144 (list (cdr (assq 'dormant marks)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3145 'del '(dormant)))) |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3146 (setq unread (gnus-range-add (gnus-range-add |
|
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3147 unread (cdr (assq 'dormant marks))) |
|
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3148 (cdr (assq 'tick marks)))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3149 (gnus-add-marked-articles group 'tick nil nil 'force) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3150 (gnus-add-marked-articles group 'dormant nil nil 'force)) |
| 17493 | 3151 ;; Do auto-expirable marks if that's required. |
| 3152 (when (gnus-group-auto-expirable-p group) | |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3153 (gnus-range-map (lambda (article) |
|
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3154 (gnus-add-marked-articles group 'expire (list article)) |
|
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3155 (gnus-request-set-mark group (list (list (list article) 'add '(expire))))) |
|
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3156 unread)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3157 (let ((gnus-newsgroup-name group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3158 (gnus-run-hooks 'gnus-group-catchup-group-hook)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3159 num))) |
| 17493 | 3160 |
| 3161 (defun gnus-group-expire-articles (&optional n) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3162 "Expire all expirable articles in the current newsgroup. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3163 Uses the process/prefix convention." |
| 17493 | 3164 (interactive "P") |
| 3165 (let ((groups (gnus-group-process-prefix n)) | |
| 3166 group) | |
| 3167 (unless groups | |
| 3168 (error "No groups to expire")) | |
| 3169 (while (setq group (pop groups)) | |
| 3170 (gnus-group-remove-mark group) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3171 (gnus-group-expire-articles-1 group) |
| 17493 | 3172 (gnus-dribble-touch) |
| 3173 (gnus-group-position-point)))) | |
| 3174 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3175 (defun gnus-group-expire-articles-1 (group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3176 (when (gnus-check-backend-function 'request-expire-articles group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3177 (gnus-message 6 "Expiring articles in %s..." group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3178 (let* ((info (gnus-get-info group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3179 (expirable (if (gnus-group-total-expirable-p group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3180 (cons nil (gnus-list-of-read-articles group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3181 (assq 'expire (gnus-info-marks info)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3182 (expiry-wait (gnus-group-find-parameter group 'expiry-wait)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3183 (nnmail-expiry-target |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3184 (or (gnus-group-find-parameter group 'expiry-target) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3185 nnmail-expiry-target))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3186 (when expirable |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3187 (gnus-check-group group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3188 (setcdr |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3189 expirable |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3190 (gnus-compress-sequence |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3191 (if expiry-wait |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3192 ;; We set the expiry variables to the group |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3193 ;; parameter. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3194 (let ((nnmail-expiry-wait-function nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3195 (nnmail-expiry-wait expiry-wait)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3196 (gnus-request-expire-articles |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3197 (gnus-uncompress-sequence (cdr expirable)) group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3198 ;; Just expire using the normal expiry values. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3199 (gnus-request-expire-articles |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3200 (gnus-uncompress-sequence (cdr expirable)) group)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3201 (gnus-close-group group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3202 (gnus-message 6 "Expiring articles in %s...done" group) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3203 ;; Return the list of un-expired articles. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3204 (cdr expirable)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3205 |
| 17493 | 3206 (defun gnus-group-expire-all-groups () |
| 3207 "Expire all expirable articles in all newsgroups." | |
| 3208 (interactive) | |
| 3209 (save-excursion | |
| 3210 (gnus-message 5 "Expiring...") | |
| 3211 (let ((gnus-group-marked (mapcar (lambda (info) (gnus-info-group info)) | |
| 3212 (cdr gnus-newsrc-alist)))) | |
| 3213 (gnus-group-expire-articles nil))) | |
| 3214 (gnus-group-position-point) | |
| 3215 (gnus-message 5 "Expiring...done")) | |
| 3216 | |
| 3217 (defun gnus-group-set-current-level (n level) | |
| 3218 "Set the level of the next N groups to LEVEL." | |
| 3219 (interactive | |
| 3220 (list | |
| 3221 current-prefix-arg | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3222 (progn |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3223 (unless (gnus-group-process-prefix current-prefix-arg) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3224 (error "No group on the current line")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3225 (string-to-int |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3226 (let ((s (read-string |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3227 (format "Level (default %s): " |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3228 (or (gnus-group-group-level) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3229 gnus-level-default-subscribed))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3230 (if (string-match "^\\s-*$" s) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3231 (int-to-string (or (gnus-group-group-level) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3232 gnus-level-default-subscribed)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3233 s)))))) |
| 17493 | 3234 (unless (and (>= level 1) (<= level gnus-level-killed)) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3235 (error "Invalid level: %d" level)) |
| 17493 | 3236 (let ((groups (gnus-group-process-prefix n)) |
| 3237 group) | |
| 3238 (while (setq group (pop groups)) | |
| 3239 (gnus-group-remove-mark group) | |
| 3240 (gnus-message 6 "Changed level of %s from %d to %d" | |
| 3241 group (or (gnus-group-group-level) gnus-level-killed) | |
| 3242 level) | |
| 3243 (gnus-group-change-level | |
| 3244 group level (or (gnus-group-group-level) gnus-level-killed)) | |
| 3245 (gnus-group-update-group-line))) | |
| 3246 (gnus-group-position-point)) | |
| 3247 | |
| 3248 (defun gnus-group-unsubscribe (&optional n) | |
| 3249 "Unsubscribe the current group." | |
| 3250 (interactive "P") | |
| 3251 (gnus-group-unsubscribe-current-group n 'unsubscribe)) | |
| 3252 | |
| 3253 (defun gnus-group-subscribe (&optional n) | |
| 3254 "Subscribe the current group." | |
| 3255 (interactive "P") | |
| 3256 (gnus-group-unsubscribe-current-group n 'subscribe)) | |
| 3257 | |
| 3258 (defun gnus-group-unsubscribe-current-group (&optional n do-sub) | |
| 3259 "Toggle subscription of the current group. | |
| 3260 If given numerical prefix, toggle the N next groups." | |
| 3261 (interactive "P") | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3262 (dolist (group (gnus-group-process-prefix n)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3263 (gnus-group-remove-mark group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3264 (gnus-group-unsubscribe-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3265 group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3266 (cond |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3267 ((eq do-sub 'unsubscribe) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3268 gnus-level-default-unsubscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3269 ((eq do-sub 'subscribe) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3270 gnus-level-default-subscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3271 ((<= (gnus-group-group-level) gnus-level-subscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3272 gnus-level-default-unsubscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3273 (t |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3274 gnus-level-default-subscribed)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3275 t) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3276 (gnus-group-update-group-line)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3277 (gnus-group-next-group 1)) |
| 17493 | 3278 |
| 3279 (defun gnus-group-unsubscribe-group (group &optional level silent) | |
| 3280 "Toggle subscription to GROUP. | |
| 3281 Killed newsgroups are subscribed. If SILENT, don't try to update the | |
| 3282 group line." | |
| 3283 (interactive | |
| 3284 (list (completing-read | |
| 3285 "Group: " gnus-active-hashtb nil | |
| 3286 (gnus-read-active-file-p) | |
| 3287 nil | |
| 3288 'gnus-group-history))) | |
| 3289 (let ((newsrc (gnus-gethash group gnus-newsrc-hashtb))) | |
| 3290 (cond | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3291 ((string-match "^[ \t]*$" group) |
| 17493 | 3292 (error "Empty group name")) |
| 3293 (newsrc | |
| 3294 ;; Toggle subscription flag. | |
| 3295 (gnus-group-change-level | |
| 3296 newsrc (if level level (if (<= (gnus-info-level (nth 2 newsrc)) | |
| 3297 gnus-level-subscribed) | |
| 3298 (1+ gnus-level-subscribed) | |
| 3299 gnus-level-default-subscribed))) | |
| 3300 (unless silent | |
| 3301 (gnus-group-update-group group))) | |
| 3302 ((and (stringp group) | |
| 3303 (or (not (gnus-read-active-file-p)) | |
| 3304 (gnus-active group))) | |
| 3305 ;; Add new newsgroup. | |
| 3306 (gnus-group-change-level | |
| 3307 group | |
| 3308 (if level level gnus-level-default-subscribed) | |
| 3309 (or (and (member group gnus-zombie-list) | |
| 3310 gnus-level-zombie) | |
| 3311 gnus-level-killed) | |
| 3312 (when (gnus-group-group-name) | |
| 3313 (gnus-gethash (gnus-group-group-name) gnus-newsrc-hashtb))) | |
| 3314 (unless silent | |
| 3315 (gnus-group-update-group group))) | |
| 3316 (t (error "No such newsgroup: %s" group))) | |
| 3317 (gnus-group-position-point))) | |
| 3318 | |
| 3319 (defun gnus-group-transpose-groups (n) | |
| 3320 "Move the current newsgroup up N places. | |
| 3321 If given a negative prefix, move down instead. The difference between | |
| 3322 N and the number of steps taken is returned." | |
| 3323 (interactive "p") | |
| 3324 (unless (gnus-group-group-name) | |
| 3325 (error "No group on current line")) | |
| 3326 (gnus-group-kill-group 1) | |
| 3327 (prog1 | |
| 3328 (forward-line (- n)) | |
| 3329 (gnus-group-yank-group) | |
| 3330 (gnus-group-position-point))) | |
| 3331 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3332 (defun gnus-group-kill-all-zombies (&optional dummy) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3333 "Kill all zombie newsgroups. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3334 The optional DUMMY should always be nil." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3335 (interactive (list (not (gnus-yes-or-no-p "Really kill all zombies? ")))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3336 (unless dummy |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3337 (setq gnus-killed-list (nconc gnus-zombie-list gnus-killed-list)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3338 (setq gnus-zombie-list nil) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3339 (gnus-dribble-touch) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3340 (gnus-group-list-groups))) |
| 17493 | 3341 |
| 3342 (defun gnus-group-kill-region (begin end) | |
| 3343 "Kill newsgroups in current region (excluding current point). | |
| 3344 The killed newsgroups can be yanked by using \\[gnus-group-yank-group]." | |
| 3345 (interactive "r") | |
| 3346 (let ((lines | |
| 3347 ;; Count lines. | |
| 3348 (save-excursion | |
| 3349 (count-lines | |
| 3350 (progn | |
| 3351 (goto-char begin) | |
| 3352 (beginning-of-line) | |
| 3353 (point)) | |
| 3354 (progn | |
| 3355 (goto-char end) | |
| 3356 (beginning-of-line) | |
| 3357 (point)))))) | |
| 3358 (goto-char begin) | |
| 3359 (beginning-of-line) ;Important when LINES < 1 | |
| 3360 (gnus-group-kill-group lines))) | |
| 3361 | |
| 3362 (defun gnus-group-kill-group (&optional n discard) | |
| 3363 "Kill the next N groups. | |
| 3364 The killed newsgroups can be yanked by using \\[gnus-group-yank-group]. | |
| 3365 However, only groups that were alive can be yanked; already killed | |
| 3366 groups or zombie groups can't be yanked. | |
| 3367 The return value is the name of the group that was killed, or a list | |
| 3368 of groups killed." | |
| 3369 (interactive "P") | |
| 3370 (let ((buffer-read-only nil) | |
| 3371 (groups (gnus-group-process-prefix n)) | |
| 3372 group entry level out) | |
| 3373 (if (< (length groups) 10) | |
| 3374 ;; This is faster when there are few groups. | |
| 3375 (while groups | |
| 3376 (push (setq group (pop groups)) out) | |
| 3377 (gnus-group-remove-mark group) | |
| 3378 (setq level (gnus-group-group-level)) | |
| 3379 (gnus-delete-line) | |
| 3380 (when (and (not discard) | |
| 3381 (setq entry (gnus-gethash group gnus-newsrc-hashtb))) | |
| 3382 (gnus-undo-register | |
| 3383 `(progn | |
| 3384 (gnus-group-goto-group ,(gnus-group-group-name)) | |
| 3385 (gnus-group-yank-group))) | |
| 3386 (push (cons (car entry) (nth 2 entry)) | |
| 3387 gnus-list-of-killed-groups)) | |
| 3388 (gnus-group-change-level | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3389 (if entry entry group) gnus-level-killed (if entry nil level)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3390 (message "Killed group %s" group)) |
| 17493 | 3391 ;; If there are lots and lots of groups to be killed, we use |
| 3392 ;; this thing instead. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3393 (dolist (group (nreverse groups)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3394 (gnus-group-remove-mark group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3395 (gnus-delete-line) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3396 (push group gnus-killed-list) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3397 (setq gnus-newsrc-alist |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3398 (delq (assoc group gnus-newsrc-alist) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3399 gnus-newsrc-alist)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3400 (when gnus-group-change-level-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3401 (funcall gnus-group-change-level-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3402 group gnus-level-killed 3)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3403 (cond |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3404 ((setq entry (gnus-gethash group gnus-newsrc-hashtb)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3405 (push (cons (car entry) (nth 2 entry)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3406 gnus-list-of-killed-groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3407 (setcdr (cdr entry) (cdddr entry))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3408 ((member group gnus-zombie-list) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3409 (setq gnus-zombie-list (delete group gnus-zombie-list)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3410 ;; There may be more than one instance displayed. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3411 (while (gnus-group-goto-group group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3412 (gnus-delete-line))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3413 (gnus-make-hashtable-from-newsrc-alist)) |
| 17493 | 3414 |
| 3415 (gnus-group-position-point) | |
| 3416 (if (< (length out) 2) (car out) (nreverse out)))) | |
| 3417 | |
| 3418 (defun gnus-group-yank-group (&optional arg) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3419 "Yank the last newsgroups killed with \\[gnus-group-kill-group], inserting it before the current newsgroup. |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3420 The numeric ARG specifies how many newsgroups are to be yanked. The |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3421 name of the newsgroup yanked is returned, or (if several groups are |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3422 yanked) a list of yanked groups is returned." |
| 17493 | 3423 (interactive "p") |
| 3424 (setq arg (or arg 1)) | |
| 3425 (let (info group prev out) | |
| 3426 (while (>= (decf arg) 0) | |
| 3427 (when (not (setq info (pop gnus-list-of-killed-groups))) | |
| 3428 (error "No more newsgroups to yank")) | |
| 3429 (push (setq group (nth 1 info)) out) | |
| 3430 ;; Find which newsgroup to insert this one before - search | |
| 3431 ;; backward until something suitable is found. If there are no | |
| 3432 ;; other newsgroups in this buffer, just make this newsgroup the | |
| 3433 ;; first newsgroup. | |
| 3434 (setq prev (gnus-group-group-name)) | |
| 3435 (gnus-group-change-level | |
| 3436 info (gnus-info-level (cdr info)) gnus-level-killed | |
| 3437 (and prev (gnus-gethash prev gnus-newsrc-hashtb)) | |
| 3438 t) | |
| 3439 (gnus-group-insert-group-line-info group) | |
| 3440 (gnus-undo-register | |
| 3441 `(when (gnus-group-goto-group ,group) | |
| 3442 (gnus-group-kill-group 1)))) | |
| 3443 (forward-line -1) | |
| 3444 (gnus-group-position-point) | |
| 3445 (if (< (length out) 2) (car out) (nreverse out)))) | |
| 3446 | |
| 3447 (defun gnus-group-kill-level (level) | |
| 3448 "Kill all groups that is on a certain LEVEL." | |
| 3449 (interactive "nKill all groups on level: ") | |
| 3450 (cond | |
| 3451 ((= level gnus-level-zombie) | |
| 3452 (setq gnus-killed-list | |
| 3453 (nconc gnus-zombie-list gnus-killed-list)) | |
| 3454 (setq gnus-zombie-list nil)) | |
| 3455 ((and (< level gnus-level-zombie) | |
| 3456 (> level 0) | |
| 3457 (or gnus-expert-user | |
| 3458 (gnus-yes-or-no-p | |
| 3459 (format | |
| 3460 "Do you really want to kill all groups on level %d? " | |
| 3461 level)))) | |
| 3462 (let* ((prev gnus-newsrc-alist) | |
| 3463 (alist (cdr prev))) | |
| 3464 (while alist | |
| 3465 (if (= (gnus-info-level (car alist)) level) | |
| 3466 (progn | |
| 3467 (push (gnus-info-group (car alist)) gnus-killed-list) | |
| 3468 (setcdr prev (cdr alist))) | |
| 3469 (setq prev alist)) | |
| 3470 (setq alist (cdr alist))) | |
| 3471 (gnus-make-hashtable-from-newsrc-alist) | |
| 3472 (gnus-group-list-groups))) | |
| 3473 (t | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3474 (error "Can't kill; invalid level: %d" level)))) |
| 17493 | 3475 |
| 3476 (defun gnus-group-list-all-groups (&optional arg) | |
| 3477 "List all newsgroups with level ARG or lower. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3478 Default is `gnus-level-unsubscribed', which lists all subscribed and most |
| 17493 | 3479 unsubscribed groups." |
| 3480 (interactive "P") | |
| 3481 (gnus-group-list-groups (or arg gnus-level-unsubscribed) t)) | |
| 3482 | |
| 3483 ;; Redefine this to list ALL killed groups if prefix arg used. | |
| 3484 ;; Rewritten by engstrom@src.honeywell.com (Eric Engstrom). | |
| 3485 (defun gnus-group-list-killed (&optional arg) | |
| 3486 "List all killed newsgroups in the group buffer. | |
| 3487 If ARG is non-nil, list ALL killed groups known to Gnus. This may | |
| 3488 entail asking the server for the groups." | |
| 3489 (interactive "P") | |
| 3490 ;; Find all possible killed newsgroups if arg. | |
| 3491 (when arg | |
| 3492 (gnus-get-killed-groups)) | |
| 3493 (if (not gnus-killed-list) | |
| 3494 (gnus-message 6 "No killed groups") | |
| 3495 (let (gnus-group-list-mode) | |
| 3496 (funcall gnus-group-prepare-function | |
| 3497 gnus-level-killed t gnus-level-killed)) | |
| 3498 (goto-char (point-min))) | |
| 3499 (gnus-group-position-point)) | |
| 3500 | |
| 3501 (defun gnus-group-list-zombies () | |
| 3502 "List all zombie newsgroups in the group buffer." | |
| 3503 (interactive) | |
| 3504 (if (not gnus-zombie-list) | |
| 3505 (gnus-message 6 "No zombie groups") | |
| 3506 (let (gnus-group-list-mode) | |
| 3507 (funcall gnus-group-prepare-function | |
| 3508 gnus-level-zombie t gnus-level-zombie)) | |
| 3509 (goto-char (point-min))) | |
| 3510 (gnus-group-position-point)) | |
| 3511 | |
| 3512 (defun gnus-group-list-active () | |
| 3513 "List all groups that are available from the server(s)." | |
| 3514 (interactive) | |
| 3515 ;; First we make sure that we have really read the active file. | |
| 3516 (unless (gnus-read-active-file-p) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3517 (let ((gnus-read-active-file t) |
|
57617
7fdc1df35f39
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-628
Miles Bader <miles@gnu.org>
parents:
57581
diff
changeset
|
3518 (gnus-agent gnus-plugged)); If we're actually plugged, store the active file in the agent. |
| 17493 | 3519 (gnus-read-active-file))) |
| 3520 ;; Find all groups and sort them. | |
| 3521 (let ((groups | |
| 3522 (sort | |
| 3523 (let (list) | |
| 3524 (mapatoms | |
| 3525 (lambda (sym) | |
| 3526 (and (boundp sym) | |
| 3527 (symbol-value sym) | |
| 3528 (push (symbol-name sym) list))) | |
| 3529 gnus-active-hashtb) | |
| 3530 list) | |
| 3531 'string<)) | |
| 3532 (buffer-read-only nil) | |
| 3533 group) | |
| 3534 (erase-buffer) | |
| 3535 (while groups | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3536 (setq group (pop groups)) |
| 17493 | 3537 (gnus-add-text-properties |
| 3538 (point) (prog1 (1+ (point)) | |
| 3539 (insert " *: " | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3540 (gnus-group-decoded-name group) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3541 "\n")) |
| 17493 | 3542 (list 'gnus-group (gnus-intern-safe group gnus-active-hashtb) |
| 3543 'gnus-unread t | |
| 3544 'gnus-level (inline (gnus-group-level group))))) | |
| 3545 (goto-char (point-min)))) | |
| 3546 | |
| 3547 (defun gnus-activate-all-groups (level) | |
| 3548 "Activate absolutely all groups." | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3549 (interactive (list gnus-level-unsubscribed)) |
| 17493 | 3550 (let ((gnus-activate-level level) |
| 3551 (gnus-activate-foreign-newsgroups level)) | |
| 3552 (gnus-group-get-new-news))) | |
| 3553 | |
| 3554 (defun gnus-group-get-new-news (&optional arg) | |
| 3555 "Get newly arrived articles. | |
| 3556 If ARG is a number, it specifies which levels you are interested in | |
| 3557 re-scanning. If ARG is non-nil and not a number, this will force | |
| 3558 \"hard\" re-reading of the active files from all servers." | |
| 3559 (interactive "P") | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3560 (require 'nnmail) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3561 (let ((gnus-inhibit-demon t) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3562 ;; Binding this variable will inhibit multiple fetchings |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3563 ;; of the same mail source. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3564 (nnmail-fetched-sources (list t))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3565 (gnus-run-hooks 'gnus-get-top-new-news-hook) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3566 (gnus-run-hooks 'gnus-get-new-news-hook) |
| 17493 | 3567 |
| 3568 ;; Read any slave files. | |
| 3569 (unless gnus-slave | |
| 3570 (gnus-master-read-slave-newsrc)) | |
| 3571 | |
| 3572 ;; We might read in new NoCeM messages here. | |
| 3573 (when (and gnus-use-nocem | |
| 3574 (null arg)) | |
| 3575 (gnus-nocem-scan-groups)) | |
| 3576 ;; If ARG is not a number, then we read the active file. | |
| 3577 (when (and arg (not (numberp arg))) | |
| 3578 (let ((gnus-read-active-file t)) | |
| 3579 (gnus-read-active-file)) | |
| 3580 (setq arg nil) | |
| 3581 | |
| 3582 ;; If the user wants it, we scan for new groups. | |
| 3583 (when (eq gnus-check-new-newsgroups 'always) | |
| 3584 (gnus-find-new-newsgroups))) | |
| 3585 | |
| 3586 (setq arg (gnus-group-default-level arg t)) | |
| 3587 (if (and gnus-read-active-file (not arg)) | |
| 3588 (progn | |
| 3589 (gnus-read-active-file) | |
| 3590 (gnus-get-unread-articles arg)) | |
| 3591 (let ((gnus-read-active-file (if arg nil gnus-read-active-file))) | |
| 3592 (gnus-get-unread-articles arg))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3593 (gnus-run-hooks 'gnus-after-getting-new-news-hook) |
| 17493 | 3594 (gnus-group-list-groups (and (numberp arg) |
| 3595 (max (car gnus-group-list-mode) arg))))) | |
| 3596 | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3597 (defun gnus-group-get-new-news-this-group (&optional n dont-scan) |
| 17493 | 3598 "Check for newly arrived news in the current group (and the N-1 next groups). |
| 3599 The difference between N and the number of newsgroup checked is returned. | |
|
57581
645f020dcc8a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-626
Miles Bader <miles@gnu.org>
parents:
57363
diff
changeset
|
3600 If N is negative, this group and the N-1 previous groups will be checked. |
|
645f020dcc8a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-626
Miles Bader <miles@gnu.org>
parents:
57363
diff
changeset
|
3601 If DONT-SCAN is non-nil, scan non-activated groups as well." |
| 17493 | 3602 (interactive "P") |
| 3603 (let* ((groups (gnus-group-process-prefix n)) | |
| 3604 (ret (if (numberp n) (- n (length groups)) 0)) | |
| 3605 (beg (unless n | |
| 3606 (point))) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3607 group method |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3608 (gnus-inhibit-demon t) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3609 ;; Binding this variable will inhibit multiple fetchings |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3610 ;; of the same mail source. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3611 (nnmail-fetched-sources (list t))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3612 (gnus-run-hooks 'gnus-get-new-news-hook) |
| 17493 | 3613 (while (setq group (pop groups)) |
| 3614 (gnus-group-remove-mark group) | |
| 3615 ;; Bypass any previous denials from the server. | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3616 (gnus-remove-denial (setq method (gnus-find-method-for-group group))) |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3617 (if (gnus-activate-group group (if dont-scan nil 'scan)) |
| 17493 | 3618 (progn |
| 3619 (gnus-get-unread-articles-in-group | |
| 3620 (gnus-get-info group) (gnus-active group) t) | |
| 3621 (unless (gnus-virtual-group-p group) | |
| 3622 (gnus-close-group group)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3623 (when gnus-agent |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3624 (gnus-agent-save-group-info |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3625 method (gnus-group-real-name group) (gnus-active group))) |
| 17493 | 3626 (gnus-group-update-group group)) |
| 3627 (if (eq (gnus-server-status (gnus-find-method-for-group group)) | |
| 3628 'denied) | |
| 3629 (gnus-error 3 "Server denied access") | |
| 3630 (gnus-error 3 "%s error: %s" group (gnus-status-message group))))) | |
| 3631 (when beg | |
| 3632 (goto-char beg)) | |
| 3633 (when gnus-goto-next-group-when-activating | |
| 3634 (gnus-group-next-unread-group 1 t)) | |
| 3635 (gnus-summary-position-point) | |
| 3636 ret)) | |
| 3637 | |
| 3638 (defun gnus-group-fetch-faq (group &optional faq-dir) | |
| 3639 "Fetch the FAQ for the current group. | |
| 3640 If given a prefix argument, prompt for the FAQ dir | |
| 3641 to use." | |
| 3642 (interactive | |
| 3643 (list | |
| 3644 (gnus-group-group-name) | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3645 (when current-prefix-arg |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3646 (completing-read |
| 48588 | 3647 "FAQ dir: " (and (listp gnus-group-faq-directory) |
| 33344 | 3648 (mapcar #'list |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3649 gnus-group-faq-directory)))))) |
| 17493 | 3650 (unless group |
| 3651 (error "No group name given")) | |
| 3652 (let ((dirs (or faq-dir gnus-group-faq-directory)) | |
| 3653 dir found file) | |
| 3654 (unless (listp dirs) | |
| 3655 (setq dirs (list dirs))) | |
| 3656 (while (and (not found) | |
| 3657 (setq dir (pop dirs))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3658 (let ((name (gnus-group-real-name group))) |
| 33344 | 3659 (setq file (expand-file-name name dir))) |
| 17493 | 3660 (if (not (file-exists-p file)) |
| 3661 (gnus-message 1 "No such file: %s" file) | |
| 3662 (let ((enable-local-variables nil)) | |
| 3663 (find-file file) | |
| 3664 (setq found t)))))) | |
| 3665 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3666 (defun gnus-group-fetch-charter (group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3667 "Fetch the charter for the current group. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3668 If given a prefix argument, prompt for a group." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3669 (interactive |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3670 (list (or (when current-prefix-arg |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3671 (completing-read "Group: " gnus-active-hashtb)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3672 (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3673 gnus-newsgroup-name))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3674 (unless group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3675 (error "No group name given")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3676 (require 'mm-url) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3677 (condition-case nil (require 'url-http) (error nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3678 (let ((name (mm-url-form-encode-xwfu (gnus-group-real-name group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3679 url hierarchy) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3680 (when (string-match "\\(^[^\\.]+\\)\\..*" name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3681 (setq hierarchy (match-string 1 name)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3682 (if (and (setq url (cdr (assoc hierarchy gnus-group-charter-alist))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3683 (if (fboundp 'url-http-file-exists-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3684 (url-http-file-exists-p (eval url)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3685 t)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3686 (browse-url (eval url)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3687 (setq url (concat "http://" hierarchy |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3688 ".news-admin.org/charters/" name)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3689 (if (and (fboundp 'url-http-file-exists-p) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3690 (url-http-file-exists-p url)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3691 (browse-url url) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3692 (gnus-group-fetch-control group)))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3693 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3694 (defun gnus-group-fetch-control (group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3695 "Fetch the archived control messages for the current group. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3696 If given a prefix argument, prompt for a group." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3697 (interactive |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3698 (list (or (when current-prefix-arg |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3699 (completing-read "Group: " gnus-active-hashtb)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3700 (gnus-group-group-name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3701 gnus-newsgroup-name))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3702 (unless group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3703 (error "No group name given")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3704 (let ((name (gnus-group-real-name group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3705 hierarchy) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3706 (when (string-match "\\(^[^\\.]+\\)\\..*" name) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3707 (setq hierarchy (match-string 1 name)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3708 (if gnus-group-fetch-control-use-browse-url |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3709 (browse-url (concat "ftp://ftp.isc.org/usenet/control/" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3710 hierarchy "/" name ".gz")) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3711 (let ((enable-local-variables nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3712 (gnus-group-read-ephemeral-group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3713 group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3714 `(nndoc ,group (nndoc-address |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3715 ,(find-file-noselect |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3716 (concat "/ftp@ftp.isc.org:/usenet/control/" |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3717 hierarchy "/" name ".gz"))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3718 (nndoc-article-type mbox)) t nil nil)))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3719 |
| 17493 | 3720 (defun gnus-group-describe-group (force &optional group) |
| 3721 "Display a description of the current newsgroup." | |
| 3722 (interactive (list current-prefix-arg (gnus-group-group-name))) | |
| 3723 (let* ((method (gnus-find-method-for-group group)) | |
| 3724 (mname (gnus-group-prefixed-name "" method)) | |
| 3725 desc) | |
| 3726 (when (and force | |
| 3727 gnus-description-hashtb) | |
| 3728 (gnus-sethash mname nil gnus-description-hashtb)) | |
| 3729 (unless group | |
| 3730 (error "No group name given")) | |
| 3731 (when (or (and gnus-description-hashtb | |
| 3732 ;; We check whether this group's method has been | |
| 3733 ;; queried for a description file. | |
| 3734 (gnus-gethash mname gnus-description-hashtb)) | |
| 3735 (setq desc (gnus-group-get-description group)) | |
| 3736 (gnus-read-descriptions-file method)) | |
| 3737 (gnus-message 1 | |
| 3738 (or desc (gnus-gethash group gnus-description-hashtb) | |
| 3739 "No description available"))))) | |
| 3740 | |
| 3741 ;; Suggested by Per Abrahamsen <amanda@iesd.auc.dk>. | |
| 3742 (defun gnus-group-describe-all-groups (&optional force) | |
| 3743 "Pop up a buffer with descriptions of all newsgroups." | |
| 3744 (interactive "P") | |
| 3745 (when force | |
| 3746 (setq gnus-description-hashtb nil)) | |
| 3747 (when (not (or gnus-description-hashtb | |
| 3748 (gnus-read-all-descriptions-files))) | |
| 3749 (error "Couldn't request descriptions file")) | |
| 3750 (let ((buffer-read-only nil) | |
| 3751 b) | |
| 3752 (erase-buffer) | |
| 3753 (mapatoms | |
| 3754 (lambda (group) | |
| 3755 (setq b (point)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3756 (let ((charset (gnus-group-name-charset nil (symbol-name group)))) |
|
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49274
diff
changeset
|
3757 (insert (format " *: %-20s %s\n" |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3758 (gnus-group-name-decode |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3759 (symbol-name group) charset) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3760 (gnus-group-name-decode |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3761 (symbol-value group) charset)))) |
| 17493 | 3762 (gnus-add-text-properties |
| 3763 b (1+ b) (list 'gnus-group group | |
| 3764 'gnus-unread t 'gnus-marked nil | |
| 3765 'gnus-level (1+ gnus-level-subscribed)))) | |
| 3766 gnus-description-hashtb) | |
| 3767 (goto-char (point-min)) | |
| 3768 (gnus-group-position-point))) | |
| 3769 | |
| 3770 ;; Suggested by Daniel Quinlan <quinlan@best.com>. | |
| 3771 (defun gnus-group-apropos (regexp &optional search-description) | |
| 3772 "List all newsgroups that have names that match a regexp." | |
| 3773 (interactive "sGnus apropos (regexp): ") | |
| 3774 (let ((prev "") | |
| 3775 (obuf (current-buffer)) | |
| 3776 groups des) | |
| 3777 ;; Go through all newsgroups that are known to Gnus. | |
| 3778 (mapatoms | |
| 3779 (lambda (group) | |
| 3780 (and (symbol-name group) | |
| 3781 (string-match regexp (symbol-name group)) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3782 (symbol-value group) |
| 17493 | 3783 (push (symbol-name group) groups))) |
| 3784 gnus-active-hashtb) | |
| 3785 ;; Also go through all descriptions that are known to Gnus. | |
| 3786 (when search-description | |
| 3787 (mapatoms | |
| 3788 (lambda (group) | |
| 3789 (and (string-match regexp (symbol-value group)) | |
| 3790 (push (symbol-name group) groups))) | |
| 3791 gnus-description-hashtb)) | |
| 3792 (if (not groups) | |
| 3793 (gnus-message 3 "No groups matched \"%s\"." regexp) | |
| 3794 ;; Print out all the groups. | |
| 3795 (save-excursion | |
| 3796 (pop-to-buffer "*Gnus Help*") | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3797 (buffer-disable-undo) |
| 17493 | 3798 (erase-buffer) |
| 3799 (setq groups (sort groups 'string<)) | |
| 3800 (while groups | |
| 3801 ;; Groups may be entered twice into the list of groups. | |
| 3802 (when (not (string= (car groups) prev)) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3803 (setq prev (car groups)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3804 (let ((charset (gnus-group-name-charset nil prev))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3805 (insert (gnus-group-name-decode prev charset) "\n") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3806 (when (and gnus-description-hashtb |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3807 (setq des (gnus-gethash (car groups) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3808 gnus-description-hashtb))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
3809 (insert " " (gnus-group-name-decode des charset) "\n")))) |
| 17493 | 3810 (setq groups (cdr groups))) |
| 3811 (goto-char (point-min)))) | |
| 3812 (pop-to-buffer obuf))) | |
| 3813 | |
| 3814 (defun gnus-group-description-apropos (regexp) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3815 "List all newsgroups that have names or descriptions that match REGEXP." |
| 17493 | 3816 (interactive "sGnus description apropos (regexp): ") |
| 3817 (when (not (or gnus-description-hashtb | |
| 3818 (gnus-read-all-descriptions-files))) | |
| 3819 (error "Couldn't request descriptions file")) | |
| 3820 (gnus-group-apropos regexp t)) | |
| 3821 | |
| 3822 ;; Suggested by Per Abrahamsen <amanda@iesd.auc.dk>. | |
| 3823 (defun gnus-group-list-matching (level regexp &optional all lowest) | |
| 3824 "List all groups with unread articles that match REGEXP. | |
| 3825 If the prefix LEVEL is non-nil, it should be a number that says which | |
| 3826 level to cut off listing groups. | |
| 3827 If ALL, also list groups with no unread articles. | |
| 3828 If LOWEST, don't list groups with level lower than LOWEST. | |
| 3829 | |
| 3830 This command may read the active file." | |
| 3831 (interactive "P\nsList newsgroups matching: ") | |
| 3832 ;; First make sure active file has been read. | |
| 3833 (when (and level | |
| 3834 (> (prefix-numeric-value level) gnus-level-killed)) | |
| 3835 (gnus-get-killed-groups)) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3836 (funcall gnus-group-prepare-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3837 (or level gnus-level-subscribed) (and all t) (or lowest 1) regexp) |
| 17493 | 3838 (goto-char (point-min)) |
| 3839 (gnus-group-position-point)) | |
| 3840 | |
| 3841 (defun gnus-group-list-all-matching (level regexp &optional lowest) | |
| 3842 "List all groups that match REGEXP. | |
| 3843 If the prefix LEVEL is non-nil, it should be a number that says which | |
| 3844 level to cut off listing groups. | |
| 3845 If LOWEST, don't list groups with level lower than LOWEST." | |
| 3846 (interactive "P\nsList newsgroups matching: ") | |
| 3847 (when level | |
| 3848 (setq level (prefix-numeric-value level))) | |
| 3849 (gnus-group-list-matching (or level gnus-level-killed) regexp t lowest)) | |
| 3850 | |
| 3851 ;; Suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>. | |
| 3852 (defun gnus-group-save-newsrc (&optional force) | |
| 3853 "Save the Gnus startup files. | |
| 3854 If FORCE, force saving whether it is necessary or not." | |
| 3855 (interactive "P") | |
| 3856 (gnus-save-newsrc-file force)) | |
| 3857 | |
| 3858 (defun gnus-group-restart (&optional arg) | |
| 3859 "Force Gnus to read the .newsrc file." | |
| 3860 (interactive "P") | |
| 3861 (when (gnus-yes-or-no-p | |
| 3862 (format "Are you sure you want to restart Gnus? ")) | |
| 3863 (gnus-save-newsrc-file) | |
| 3864 (gnus-clear-system) | |
| 3865 (gnus))) | |
| 3866 | |
| 3867 (defun gnus-group-read-init-file () | |
| 3868 "Read the Gnus elisp init file." | |
| 3869 (interactive) | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3870 (gnus-read-init-file) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3871 (gnus-message 5 "Read %s" gnus-init-file)) |
| 17493 | 3872 |
| 3873 (defun gnus-group-check-bogus-groups (&optional silent) | |
| 3874 "Check bogus newsgroups. | |
| 3875 If given a prefix, don't ask for confirmation before removing a bogus | |
| 3876 group." | |
| 3877 (interactive "P") | |
| 3878 (gnus-check-bogus-newsgroups (and (not silent) (not gnus-expert-user))) | |
| 3879 (gnus-group-list-groups)) | |
| 3880 | |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3881 (defun gnus-group-find-new-groups (&optional arg) |
|
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3882 "Search for new groups and add them. |
| 41819 | 3883 Each new group will be treated with `gnus-subscribe-newsgroup-method'. |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3884 With 1 C-u, use the `ask-server' method to query the server for new |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3885 groups. |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3886 With 2 C-u's, use most complete method possible to query the server |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3887 for new groups, and subscribe the new groups as zombies." |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3888 (interactive "p") |
|
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3889 (gnus-find-new-newsgroups (or arg 1)) |
|
19969
5f1ab3dd344d
*** empty log message ***
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19911
diff
changeset
|
3890 (gnus-group-list-groups)) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3891 |
| 17493 | 3892 (defun gnus-group-edit-global-kill (&optional article group) |
| 3893 "Edit the global kill file. | |
| 3894 If GROUP, edit that local kill file instead." | |
| 3895 (interactive "P") | |
| 3896 (setq gnus-current-kill-article article) | |
| 3897 (gnus-kill-file-edit-file group) | |
| 3898 (gnus-message | |
| 3899 6 | |
| 3900 (substitute-command-keys | |
| 3901 (format "Editing a %s kill file (Type \\[gnus-kill-file-exit] to exit)" | |
| 3902 (if group "local" "global"))))) | |
| 3903 | |
| 3904 (defun gnus-group-edit-local-kill (article group) | |
| 3905 "Edit a local kill file." | |
| 3906 (interactive (list nil (gnus-group-group-name))) | |
| 3907 (gnus-group-edit-global-kill article group)) | |
| 3908 | |
| 3909 (defun gnus-group-force-update () | |
| 3910 "Update `.newsrc' file." | |
| 3911 (interactive) | |
| 3912 (gnus-save-newsrc-file)) | |
| 3913 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3914 (defvar gnus-backlog-articles) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3915 |
| 17493 | 3916 (defun gnus-group-suspend () |
| 3917 "Suspend the current Gnus session. | |
| 3918 In fact, cleanup buffers except for group mode buffer. | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3919 The hook `gnus-suspend-gnus-hook' is called before actually suspending." |
| 17493 | 3920 (interactive) |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3921 (gnus-run-hooks 'gnus-suspend-gnus-hook) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3922 (gnus-offer-save-summaries) |
| 17493 | 3923 ;; Kill Gnus buffers except for group mode buffer. |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3924 (let ((group-buf (get-buffer gnus-group-buffer))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3925 (mapcar (lambda (buf) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3926 (unless (or (member buf (list group-buf gnus-dribble-buffer)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3927 (progn |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3928 (save-excursion |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3929 (set-buffer buf) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3930 (eq major-mode 'message-mode)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3931 (gnus-kill-buffer buf))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3932 (gnus-buffers)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3933 (setq gnus-backlog-articles nil) |
| 17493 | 3934 (gnus-kill-gnus-frames) |
| 3935 (when group-buf | |
| 3936 (bury-buffer group-buf) | |
| 3937 (delete-windows-on group-buf t)))) | |
| 3938 | |
| 3939 (defun gnus-group-clear-dribble () | |
| 3940 "Clear all information from the dribble buffer." | |
| 3941 (interactive) | |
| 3942 (gnus-dribble-clear) | |
| 3943 (gnus-message 7 "Cleared dribble buffer")) | |
| 3944 | |
| 3945 (defun gnus-group-exit () | |
| 3946 "Quit reading news after updating .newsrc.eld and .newsrc. | |
| 3947 The hook `gnus-exit-gnus-hook' is called before actually exiting." | |
| 3948 (interactive) | |
| 3949 (when | |
| 3950 (or noninteractive ;For gnus-batch-kill | |
| 3951 (not gnus-interactive-exit) ;Without confirmation | |
| 3952 gnus-expert-user | |
| 3953 (gnus-y-or-n-p "Are you sure you want to quit reading news? ")) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3954 (gnus-run-hooks 'gnus-exit-gnus-hook) |
| 17493 | 3955 ;; Offer to save data from non-quitted summary buffers. |
| 3956 (gnus-offer-save-summaries) | |
| 3957 ;; Save the newsrc file(s). | |
| 3958 (gnus-save-newsrc-file) | |
| 3959 ;; Kill-em-all. | |
| 3960 (gnus-close-backends) | |
| 3961 ;; Reset everything. | |
| 3962 (gnus-clear-system) | |
| 3963 ;; Allow the user to do things after cleaning up. | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3964 (gnus-run-hooks 'gnus-after-exiting-gnus-hook))) |
| 17493 | 3965 |
| 3966 (defun gnus-group-quit () | |
| 3967 "Quit reading news without updating .newsrc.eld or .newsrc. | |
| 3968 The hook `gnus-exit-gnus-hook' is called before actually exiting." | |
| 3969 (interactive) | |
| 3970 (when (or noninteractive ;For gnus-batch-kill | |
| 3971 (zerop (buffer-size)) | |
| 3972 (not (gnus-server-opened gnus-select-method)) | |
| 3973 gnus-expert-user | |
| 3974 (not gnus-current-startup-file) | |
| 3975 (gnus-yes-or-no-p | |
| 3976 (format "Quit reading news without saving %s? " | |
| 3977 (file-name-nondirectory gnus-current-startup-file)))) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3978 (gnus-run-hooks 'gnus-exit-gnus-hook) |
| 17493 | 3979 (gnus-configure-windows 'group t) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3980 (when (and (gnus-buffer-live-p gnus-dribble-buffer) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3981 (not (zerop (save-excursion |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3982 (set-buffer gnus-dribble-buffer) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3983 (buffer-size))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3984 (gnus-dribble-enter |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
3985 ";;; Gnus was exited on purpose without saving the .newsrc files.")) |
| 17493 | 3986 (gnus-dribble-save) |
| 3987 (gnus-close-backends) | |
| 3988 (gnus-clear-system) | |
| 3989 (gnus-kill-buffer gnus-group-buffer) | |
| 3990 ;; Allow the user to do things after cleaning up. | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
3991 (gnus-run-hooks 'gnus-after-exiting-gnus-hook))) |
| 17493 | 3992 |
| 3993 (defun gnus-group-describe-briefly () | |
| 3994 "Give a one line description of the group mode commands." | |
| 3995 (interactive) | |
| 3996 (gnus-message 7 (substitute-command-keys "\\<gnus-group-mode-map>\\[gnus-group-read-group]:Select \\[gnus-group-next-unread-group]:Forward \\[gnus-group-prev-unread-group]:Backward \\[gnus-group-exit]:Exit \\[gnus-info-find-node]:Run Info \\[gnus-group-describe-briefly]:This help"))) | |
| 3997 | |
| 3998 (defun gnus-group-browse-foreign-server (method) | |
| 3999 "Browse a foreign news server. | |
| 4000 If called interactively, this function will ask for a select method | |
| 4001 (nntp, nnspool, etc.) and a server address (eg. nntp.some.where). | |
| 4002 If not, METHOD should be a list where the first element is the method | |
| 4003 and the second element is the address." | |
| 4004 (interactive | |
| 4005 (list (let ((how (completing-read | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4006 "Which back end: " |
| 17493 | 4007 (append gnus-valid-select-methods gnus-server-alist) |
| 4008 nil t (cons "nntp" 0) 'gnus-method-history))) | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4009 ;; We either got a back end name or a virtual server name. |
| 17493 | 4010 ;; If the first, we also need an address. |
| 4011 (if (assoc how gnus-valid-select-methods) | |
| 4012 (list (intern how) | |
| 4013 ;; Suggested by mapjph@bath.ac.uk. | |
| 4014 (completing-read | |
| 4015 "Address: " | |
| 4016 (mapcar (lambda (server) (list server)) | |
| 4017 gnus-secondary-servers))) | |
| 4018 ;; We got a server name. | |
| 4019 how)))) | |
| 4020 (gnus-browse-foreign-server method)) | |
| 4021 | |
| 4022 (defun gnus-group-set-info (info &optional method-only-group part) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4023 (when (or info part) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4024 (let* ((entry (gnus-gethash |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4025 (or method-only-group (gnus-info-group info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4026 gnus-newsrc-hashtb)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4027 (part-info info) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4028 (info (if method-only-group (nth 2 entry) info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4029 method) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4030 (when method-only-group |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4031 (unless entry |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4032 (error "Trying to change non-existent group %s" method-only-group)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4033 ;; We have received parts of the actual group info - either the |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4034 ;; select method or the group parameters. We first check |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4035 ;; whether we have to extend the info, and if so, do that. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4036 (let ((len (length info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4037 (total (if (eq part 'method) 5 6))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4038 (when (< len total) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4039 (setcdr (nthcdr (1- len) info) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4040 (make-list (- total len) nil))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4041 ;; Then we enter the new info. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4042 (setcar (nthcdr (1- total) info) part-info))) |
| 17493 | 4043 (unless entry |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4044 ;; This is a new group, so we just create it. |
| 17493 | 4045 (save-excursion |
| 4046 (set-buffer gnus-group-buffer) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4047 (setq method (gnus-info-method info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4048 (when (gnus-server-equal method "native") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4049 (setq method nil)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4050 (save-excursion |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4051 (set-buffer gnus-group-buffer) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4052 (if method |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4053 ;; It's a foreign group... |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4054 (gnus-group-make-group |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4055 (gnus-group-real-name (gnus-info-group info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4056 (if (stringp method) method |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4057 (prin1-to-string (car method))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4058 (and (consp method) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4059 (nth 1 (gnus-info-method info)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4060 ;; It's a native group. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4061 (gnus-group-make-group (gnus-info-group info)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4062 (gnus-message 6 "Note: New group created") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4063 (setq entry |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4064 (gnus-gethash (gnus-group-prefixed-name |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4065 (gnus-group-real-name (gnus-info-group info)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4066 (or (gnus-info-method info) gnus-select-method)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4067 gnus-newsrc-hashtb)))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4068 ;; Whether it was a new group or not, we now have the entry, so we |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4069 ;; can do the update. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4070 (if entry |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4071 (progn |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4072 (setcar (nthcdr 2 entry) info) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4073 (when (and (not (eq (car entry) t)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4074 (gnus-active (gnus-info-group info))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4075 (setcar entry (length |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4076 (gnus-list-of-unread-articles (car info)))))) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4077 (error "No such group: %s" (gnus-info-group info)))))) |
| 17493 | 4078 |
| 4079 (defun gnus-group-set-method-info (group select-method) | |
| 4080 (gnus-group-set-info select-method group 'method)) | |
| 4081 | |
| 4082 (defun gnus-group-set-params-info (group params) | |
| 4083 (gnus-group-set-info params group 'params)) | |
| 4084 | |
| 4085 (defun gnus-add-marked-articles (group type articles &optional info force) | |
| 4086 ;; Add ARTICLES of TYPE to the info of GROUP. | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4087 ;; If INFO is non-nil, use that info. If FORCE is non-nil, don't |
| 17493 | 4088 ;; add, but replace marked articles of TYPE with ARTICLES. |
| 4089 (let ((info (or info (gnus-get-info group))) | |
| 4090 marked m) | |
| 4091 (or (not info) | |
| 4092 (and (not (setq marked (nthcdr 3 info))) | |
| 4093 (or (null articles) | |
| 4094 (setcdr (nthcdr 2 info) | |
| 4095 (list (list (cons type (gnus-compress-sequence | |
| 4096 articles t))))))) | |
| 4097 (and (not (setq m (assq type (car marked)))) | |
| 4098 (or (null articles) | |
| 4099 (setcar marked | |
| 4100 (cons (cons type (gnus-compress-sequence articles t) ) | |
| 4101 (car marked))))) | |
| 4102 (if force | |
| 4103 (if (null articles) | |
| 4104 (setcar (nthcdr 3 info) | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
4105 (gnus-delete-alist type (car marked))) |
| 17493 | 4106 (setcdr m (gnus-compress-sequence articles t))) |
| 4107 (setcdr m (gnus-compress-sequence | |
| 4108 (sort (nconc (gnus-uncompress-range (cdr m)) | |
| 4109 (copy-sequence articles)) '<) t)))))) | |
| 4110 | |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4111 (defun gnus-add-mark (group mark article) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4112 "Mark ARTICLE in GROUP with MARK, whether the group is displayed or not." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4113 (let ((buffer (gnus-summary-buffer-name group))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4114 (if (gnus-buffer-live-p buffer) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4115 (save-excursion |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4116 (set-buffer (get-buffer buffer)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4117 (gnus-summary-add-mark article mark)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4118 (gnus-add-marked-articles group (cdr (assq mark gnus-article-mark-lists)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4119 (list article))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4120 |
| 17493 | 4121 ;;; |
| 4122 ;;; Group timestamps | |
| 4123 ;;; | |
| 4124 | |
| 4125 (defun gnus-group-set-timestamp () | |
| 4126 "Change the timestamp of the current group to the current time. | |
| 4127 This function can be used in hooks like `gnus-select-group-hook' | |
| 4128 or `gnus-group-catchup-group-hook'." | |
| 4129 (when gnus-newsgroup-name | |
| 4130 (let ((time (current-time))) | |
| 4131 (setcdr (cdr time) nil) | |
| 4132 (gnus-group-set-parameter gnus-newsgroup-name 'timestamp time)))) | |
| 4133 | |
| 4134 (defsubst gnus-group-timestamp (group) | |
| 4135 "Return the timestamp for GROUP." | |
|
24357
15fc6acbae7a
Upgrading to Gnus 5.7; see ChangeLog
Lars Magne Ingebrigtsen <larsi@gnus.org>
parents:
19969
diff
changeset
|
4136 (gnus-group-get-parameter group 'timestamp t)) |
| 17493 | 4137 |
| 4138 (defun gnus-group-timestamp-delta (group) | |
| 4139 "Return the offset in seconds from the timestamp for GROUP to the current time, as a floating point number." | |
| 4140 (let* ((time (or (gnus-group-timestamp group) | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4141 (list 0 0))) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4142 (delta (subtract-time (current-time) time))) |
| 17493 | 4143 (+ (* (nth 0 delta) 65536.0) |
| 4144 (nth 1 delta)))) | |
| 4145 | |
| 4146 (defun gnus-group-timestamp-string (group) | |
| 4147 "Return a string of the timestamp for GROUP." | |
| 4148 (let ((time (gnus-group-timestamp group))) | |
| 4149 (if (not time) | |
| 4150 "" | |
| 4151 (gnus-time-iso8601 time)))) | |
| 4152 | |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4153 (defun gnus-group-list-cached (level &optional lowest) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4154 "List all groups with cached articles. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4155 If the prefix LEVEL is non-nil, it should be a number that says which |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4156 level to cut off listing groups. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4157 If LOWEST, don't list groups with level lower than LOWEST. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4158 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4159 This command may read the active file." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4160 (interactive "P") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4161 (when level |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4162 (setq level (prefix-numeric-value level))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4163 (when (or (not level) (>= level gnus-level-zombie)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4164 (gnus-cache-open)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4165 (funcall gnus-group-prepare-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4166 (or level gnus-level-subscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4167 #'(lambda (info) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4168 (let ((marks (gnus-info-marks info))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4169 (assq 'cache marks))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4170 lowest |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4171 #'(lambda (group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4172 (or (gnus-gethash group |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4173 gnus-cache-active-hashtb) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4174 ;; Cache active file might use "." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4175 ;; instead of ":". |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4176 (gnus-gethash |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4177 (mapconcat 'identity |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4178 (split-string group ":") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4179 ".") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4180 gnus-cache-active-hashtb)))) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4181 (goto-char (point-min)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4182 (gnus-group-position-point)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4183 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4184 (defun gnus-group-list-dormant (level &optional lowest) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4185 "List all groups with dormant articles. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4186 If the prefix LEVEL is non-nil, it should be a number that says which |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4187 level to cut off listing groups. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4188 If LOWEST, don't list groups with level lower than LOWEST. |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4189 |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4190 This command may read the active file." |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4191 (interactive "P") |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4192 (when level |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4193 (setq level (prefix-numeric-value level))) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4194 (when (or (not level) (>= level gnus-level-zombie)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4195 (gnus-cache-open)) |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4196 (funcall gnus-group-prepare-function |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4197 (or level gnus-level-subscribed) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4198 #'(lambda (info) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4199 (let ((marks (gnus-info-marks info))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4200 (assq 'dormant marks))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4201 lowest |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4202 'ignore) |
|
31716
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4203 (goto-char (point-min)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4204 (gnus-group-position-point)) |
|
9968f55ad26e
Update to emacs-21-branch of the Gnus CVS repository.
Gerd Moellmann <gerd@gnu.org>
parents:
24834
diff
changeset
|
4205 |
|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4206 (defun gnus-group-listed-groups () |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4207 "Return a list of listed groups." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4208 (let (point groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4209 (goto-char (point-min)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4210 (while (setq point (text-property-not-all (point) (point-max) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4211 'gnus-group nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4212 (goto-char point) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4213 (push (symbol-name (get-text-property point 'gnus-group)) groups) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4214 (forward-char 1)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4215 groups)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4216 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4217 (defun gnus-group-list-plus (&optional args) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4218 "List groups plus the current selection." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4219 (interactive "P") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4220 (let ((gnus-group-listed-groups (gnus-group-listed-groups)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4221 (gnus-group-list-mode gnus-group-list-mode) ;; Save it. |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4222 func) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4223 (push last-command-event unread-command-events) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4224 (if (featurep 'xemacs) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4225 (push (make-event 'key-press '(key ?A)) unread-command-events) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4226 (push ?A unread-command-events)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4227 (let (gnus-pick-mode keys) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4228 (setq keys (if (featurep 'xemacs) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4229 (events-to-keys (read-key-sequence nil)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4230 (read-key-sequence nil))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4231 (setq func (lookup-key (current-local-map) keys))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4232 (if (or (not func) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4233 (numberp func)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4234 (ding) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4235 (call-interactively func)))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4236 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4237 (defun gnus-group-list-flush (&optional args) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4238 "Flush groups from the current selection." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4239 (interactive "P") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4240 (let ((gnus-group-list-option 'flush)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4241 (gnus-group-list-plus args))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4242 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4243 (defun gnus-group-list-limit (&optional args) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4244 "List groups limited within the current selection." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4245 (interactive "P") |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4246 (let ((gnus-group-list-option 'limit)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4247 (gnus-group-list-plus args))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4248 |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4249 (defun gnus-group-mark-article-read (group article) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4250 "Mark ARTICLE read." |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4251 (let ((buffer (gnus-summary-buffer-name group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4252 (mark gnus-read-mark) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4253 active n) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4254 (if (get-buffer buffer) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4255 (with-current-buffer buffer |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4256 (setq active gnus-newsgroup-active) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4257 (gnus-activate-group group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4258 (when gnus-newsgroup-prepared |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4259 (when (and gnus-newsgroup-auto-expire |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4260 (memq mark gnus-auto-expirable-marks)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4261 (setq mark gnus-expirable-mark)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4262 (setq mark (gnus-request-update-mark |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4263 group article mark)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4264 (gnus-mark-article-as-read article mark) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4265 (setq gnus-newsgroup-active (gnus-active group)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4266 (when active |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4267 (setq n (1+ (cdr active))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4268 (while (<= n (cdr gnus-newsgroup-active)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4269 (unless (eq n article) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4270 (push n gnus-newsgroup-unselected)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4271 (setq n (1+ n))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4272 (setq gnus-newsgroup-unselected |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4273 (nreverse gnus-newsgroup-unselected))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4274 (gnus-activate-group group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4275 (gnus-group-make-articles-read group (list article)) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4276 (when (gnus-group-auto-expirable-p group) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4277 (gnus-add-marked-articles |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4278 group 'expire (list article)))))) |
|
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
4279 |
| 17493 | 4280 (provide 'gnus-group) |
| 4281 | |
| 52401 | 4282 ;;; arch-tag: 2eb5440f-0bca-4091-814c-e37817536af6 |
| 17493 | 4283 ;;; gnus-group.el ends here |
