• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/gnus/

Lines Matching +defs:gnus +defs:score

0 ;;; gnus.el --- a newsreader for GNU Emacs
7 ;; Lars Magne Ingebrigtsen <larsi@gnus.org>
31 (eval '(run-hooks 'gnus-load-hook))
38 ;; These are defined afterwards with gnus-define-group-parameter
39 (defvar gnus-ham-process-destinations)
40 (defvar gnus-parameter-ham-marks-alist)
41 (defvar gnus-parameter-spam-marks-alist)
42 (defvar gnus-spam-autodetect)
43 (defvar gnus-spam-autodetect-methods)
44 (defvar gnus-spam-newsgroup-contents)
45 (defvar gnus-spam-process-destinations)
46 (defvar gnus-spam-process-newsgroups)
49 (defgroup gnus nil
54 (defgroup gnus-start nil
56 :group 'gnus)
58 (defgroup gnus-format nil
60 :group 'gnus)
62 (defgroup gnus-charset nil
64 :link '(custom-manual "(gnus)Charsets")
66 :group 'gnus)
68 (defgroup gnus-cache nil
70 :link '(custom-manual "(gnus)Article Caching")
71 :group 'gnus)
73 (defgroup gnus-registry nil
75 :group 'gnus)
77 (defgroup gnus-start-server nil
79 :group 'gnus-start)
81 ;; These belong to gnus-group.el.
82 (defgroup gnus-group nil
84 :link '(custom-manual "(gnus)Group Buffer")
85 :group 'gnus)
87 (defgroup gnus-group-foreign nil
89 :link '(custom-manual "(gnus)Foreign Groups")
90 :group 'gnus-group)
92 (defgroup gnus-group-new nil
94 :group 'gnus-group)
96 (defgroup gnus-group-levels nil
98 :link '(custom-manual "(gnus)Group Levels")
99 :group 'gnus-group)
101 (defgroup gnus-group-select nil
103 :link '(custom-manual "(gnus)Selecting a Group")
104 :group 'gnus-group)
106 (defgroup gnus-group-listing nil
108 :link '(custom-manual "(gnus)Listing Groups")
109 :group 'gnus-group)
111 (defgroup gnus-group-visual nil
113 :link '(custom-manual "(gnus)Group Buffer Format")
114 :group 'gnus-group
115 :group 'gnus-visual)
117 (defgroup gnus-group-various nil
119 :link '(custom-manual "(gnus)Scanning New Messages")
120 :group 'gnus-group)
122 ;; These belong to gnus-sum.el.
123 (defgroup gnus-summary nil
125 :link '(custom-manual "(gnus)Summary Buffer")
126 :group 'gnus)
128 (defgroup gnus-summary-exit nil
130 :link '(custom-manual "(gnus)Exiting the Summary Buffer")
131 :group 'gnus-summary)
133 (defgroup gnus-summary-marks nil
135 :link '(custom-manual "(gnus)Marking Articles")
136 :group 'gnus-summary)
138 (defgroup gnus-thread nil
140 :link '(custom-manual "(gnus)Threading")
141 :group 'gnus-summary)
143 (defgroup gnus-summary-format nil
145 :link '(custom-manual "(gnus)Summary Buffer Format")
146 :group 'gnus-summary)
148 (defgroup gnus-summary-choose nil
150 :link '(custom-manual "(gnus)Choosing Articles")
151 :group 'gnus-summary)
153 (defgroup gnus-summary-maneuvering nil
155 :link '(custom-manual "(gnus)Summary Maneuvering")
156 :group 'gnus-summary)
158 (defgroup gnus-picon nil
160 :group 'gnus-visual)
162 (defgroup gnus-summary-mail nil
164 :link '(custom-manual "(gnus)Mail Group Commands")
165 :group 'gnus-summary)
167 (defgroup gnus-summary-sort nil
169 :link '(custom-manual "(gnus)Sorting the Summary Buffer")
170 :group 'gnus-summary)
172 (defgroup gnus-summary-visual nil
174 :link '(custom-manual "(gnus)Summary Highlighting")
175 :group 'gnus-visual
176 :group 'gnus-summary)
178 (defgroup gnus-summary-various nil
180 :link '(custom-manual "(gnus)Various Summary Stuff")
181 :group 'gnus-summary)
183 (defgroup gnus-summary-pick nil
185 :link '(custom-manual "(gnus)Pick and Read")
186 :prefix "gnus-pick-"
187 :group 'gnus-summary)
189 (defgroup gnus-summary-tree nil
191 :link '(custom-manual "(gnus)Tree Display")
192 :prefix "gnus-tree-"
193 :group 'gnus-summary)
195 ;; Belongs to gnus-uu.el
196 (defgroup gnus-extract-view nil
198 :link '(custom-manual "(gnus)Viewing Files")
199 :group 'gnus-extract)
201 ;; Belongs to gnus-score.el
202 (defgroup gnus-score nil
204 :group 'gnus)
206 (defgroup gnus-score-kill nil
208 :group 'gnus-score)
210 (defgroup gnus-score-adapt nil
211 "Adaptive score files."
212 :group 'gnus-score)
214 (defgroup gnus-score-default nil
215 "Default values for score files."
216 :group 'gnus-score)
218 (defgroup gnus-score-expire nil
219 "Expiring score rules."
220 :group 'gnus-score)
222 (defgroup gnus-score-decay nil
223 "Decaying score rules."
224 :group 'gnus-score)
226 (defgroup gnus-score-files nil
228 :group 'gnus-score
229 :group 'gnus-files)
231 (defgroup gnus-score-various nil
233 :group 'gnus-score)
236 (defgroup gnus-visual nil
238 :group 'gnus
241 (defgroup gnus-agent nil
243 :group 'gnus)
245 (defgroup gnus-files nil
247 :group 'gnus)
249 (defgroup gnus-dribble-file nil
251 :link '(custom-manual "(gnus)Auto Save")
252 :group 'gnus-files)
254 (defgroup gnus-newsrc nil
256 :group 'gnus-files)
258 (defgroup gnus-server nil
260 :group 'gnus)
262 (defgroup gnus-server-visual nil
264 :group 'gnus-visual
265 :group 'gnus-server)
267 (defgroup gnus-message '((message custom-group))
269 :group 'gnus)
271 (defgroup gnus-meta nil
275 :group 'gnus)
277 (defgroup gnus-various nil
279 :link '(custom-manual "(gnus)Various Various")
280 :group 'gnus)
282 (defgroup gnus-exit nil
284 :link '(custom-manual "(gnus)Exiting Gnus")
285 :group 'gnus)
287 (defgroup gnus-fun nil
289 :link '(custom-manual "(gnus)Exiting Gnus")
290 :group 'gnus)
292 (defconst gnus-version-number "5.11"
295 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
298 (defcustom gnus-inhibit-startup-message nil
300 This variable is used before `.gnus.el' is loaded, so it should
302 :group 'gnus-start
305 (defcustom gnus-play-startup-jingle nil
307 :group 'gnus-start
310 (unless (fboundp 'gnus-group-remove-excess-properties)
311 (defalias 'gnus-group-remove-excess-properties 'ignore))
313 (unless (fboundp 'gnus-set-text-properties)
314 (defalias 'gnus-set-text-properties 'set-text-properties))
316 (unless (featurep 'gnus-xmas)
317 (defalias 'gnus-make-overlay 'make-overlay)
318 (defalias 'gnus-delete-overlay 'delete-overlay)
319 (defalias 'gnus-overlay-put 'overlay-put)
320 (defalias 'gnus-move-overlay 'move-overlay)
321 (defalias 'gnus-overlay-buffer 'overlay-buffer)
322 (defalias 'gnus-overlay-start 'overlay-start)
323 (defalias 'gnus-overlay-end 'overlay-end)
324 (defalias 'gnus-extent-detached-p 'ignore)
325 (defalias 'gnus-extent-start-open 'ignore)
326 (defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window)
327 (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
328 (defalias 'gnus-character-to-event 'identity)
329 (defalias 'gnus-assq-delete-all 'assq-delete-all)
330 (defalias 'gnus-add-text-properties 'add-text-properties)
331 (defalias 'gnus-put-text-property 'put-text-property)
332 (defvar gnus-mode-line-image-cache t)
334 (defun gnus-mode-line-buffer-identification (line)
342 (if (eq t gnus-mode-line-image-cache)
343 (setq gnus-mode-line-image-cache
345 '((:type xpm :file "gnus-pointer.xpm"
347 (:type xbm :file "gnus-pointer.xbm"
349 gnus-mode-line-image-cache)
352 gnus-version (gnus-emacs-version)))
356 (defalias 'gnus-mode-line-buffer-identification 'identity))
357 (defalias 'gnus-characterp 'numberp)
358 (defalias 'gnus-deactivate-mark 'deactivate-mark)
359 (defalias 'gnus-window-edges 'window-edges)
360 (defalias 'gnus-key-press-event-p 'numberp)
361 ;;(defalias 'gnus-decode-rfc1522 'ignore)
367 (defface gnus-group-news-1
377 :group 'gnus-group)
379 (put 'gnus-group-news-1-face 'face-alias 'gnus-group-news-1)
381 (defface gnus-group-news-1-empty
391 :group 'gnus-group)
393 (put 'gnus-group-news-1-empty-face 'face-alias 'gnus-group-news-1-empty)
395 (defface gnus-group-news-2
405 :group 'gnus-group)
407 (put 'gnus-group-news-2-face 'face-alias 'gnus-group-news-2)
409 (defface gnus-group-news-2-empty
419 :group 'gnus-group)
421 (put 'gnus-group-news-2-empty-face 'face-alias 'gnus-group-news-2-empty)
423 (defface gnus-group-news-3
433 :group 'gnus-group)
435 (put 'gnus-group-news-3-face 'face-alias 'gnus-group-news-3)
437 (defface gnus-group-news-3-empty
447 :group 'gnus-group)
449 (put 'gnus-group-news-3-empty-face 'face-alias 'gnus-group-news-3-empty)
451 (defface gnus-group-news-4
461 :group 'gnus-group)
463 (put 'gnus-group-news-4-face 'face-alias 'gnus-group-news-4)
465 (defface gnus-group-news-4-empty
475 :group 'gnus-group)
477 (put 'gnus-group-news-4-empty-face 'face-alias 'gnus-group-news-4-empty)
479 (defface gnus-group-news-5
489 :group 'gnus-group)
491 (put 'gnus-group-news-5-face 'face-alias 'gnus-group-news-5)
493 (defface gnus-group-news-5-empty
503 :group 'gnus-group)
505 (put 'gnus-group-news-5-empty-face 'face-alias 'gnus-group-news-5-empty)
507 (defface gnus-group-news-6
517 :group 'gnus-group)
519 (put 'gnus-group-news-6-face 'face-alias 'gnus-group-news-6)
521 (defface gnus-group-news-6-empty
531 :group 'gnus-group)
533 (put 'gnus-group-news-6-empty-face 'face-alias 'gnus-group-news-6-empty)
535 (defface gnus-group-news-low
545 :group 'gnus-group)
547 (put 'gnus-group-news-low-face 'face-alias 'gnus-group-news-low)
549 (defface gnus-group-news-low-empty
559 :group 'gnus-group)
561 (put 'gnus-group-news-low-empty-face 'face-alias 'gnus-group-news-low-empty)
563 (defface gnus-group-mail-1
573 :group 'gnus-group)
575 (put 'gnus-group-mail-1-face 'face-alias 'gnus-group-mail-1)
577 (defface gnus-group-mail-1-empty
587 :group 'gnus-group)
589 (put 'gnus-group-mail-1-empty-face 'face-alias 'gnus-group-mail-1-empty)
591 (defface gnus-group-mail-2
601 :group 'gnus-group)
603 (put 'gnus-group-mail-2-face 'face-alias 'gnus-group-mail-2)
605 (defface gnus-group-mail-2-empty
615 :group 'gnus-group)
617 (put 'gnus-group-mail-2-empty-face 'face-alias 'gnus-group-mail-2-empty)
619 (defface gnus-group-mail-3
629 :group 'gnus-group)
631 (put 'gnus-group-mail-3-face 'face-alias 'gnus-group-mail-3)
633 (defface gnus-group-mail-3-empty
643 :group 'gnus-group)
645 (put 'gnus-group-mail-3-empty-face 'face-alias 'gnus-group-mail-3-empty)
647 (defface gnus-group-mail-low
657 :group 'gnus-group)
659 (put 'gnus-group-mail-low-face 'face-alias 'gnus-group-mail-low)
661 (defface gnus-group-mail-low-empty
671 :group 'gnus-group)
673 (put 'gnus-group-mail-low-empty-face 'face-alias 'gnus-group-mail-low-empty)
677 (defface gnus-summary-selected '((t (:underline t)))
679 :group 'gnus-summary)
681 (put 'gnus-summary-selected-face 'face-alias 'gnus-summary-selected)
683 (defface gnus-summary-cancelled
687 :group 'gnus-summary)
689 (put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled)
691 (defface gnus-summary-high-ticked
701 :group 'gnus-summary)
703 (put 'gnus-summary-high-ticked-face 'face-alias 'gnus-summary-high-ticked)
705 (defface gnus-summary-low-ticked
715 :group 'gnus-summary)
717 (put 'gnus-summary-low-ticked-face 'face-alias 'gnus-summary-low-ticked)
719 (defface gnus-summary-normal-ticked
729 :group 'gnus-summary)
731 (put 'gnus-summary-normal-ticked-face 'face-alias 'gnus-summary-normal-ticked)
733 (defface gnus-summary-high-ancient
743 :group 'gnus-summary)
745 (put 'gnus-summary-high-ancient-face 'face-alias 'gnus-summary-high-ancient)
747 (defface gnus-summary-low-ancient
757 :group 'gnus-summary)
759 (put 'gnus-summary-low-ancient-face 'face-alias 'gnus-summary-low-ancient)
761 (defface gnus-summary-normal-ancient
771 :group 'gnus-summary)
773 (put 'gnus-summary-normal-ancient-face 'face-alias 'gnus-summary-normal-ancient)
775 (defface gnus-summary-high-undownloaded
783 :group 'gnus-summary)
785 (put 'gnus-summary-high-undownloaded-face 'face-alias 'gnus-summary-high-undownloaded)
787 (defface gnus-summary-low-undownloaded
795 :group 'gnus-summary)
797 (put 'gnus-summary-low-undownloaded-face 'face-alias 'gnus-summary-low-undownloaded)
799 (defface gnus-summary-normal-undownloaded
807 :group 'gnus-summary)
809 (put 'gnus-summary-normal-undownloaded-face 'face-alias 'gnus-summary-normal-undownloaded)
811 (defface gnus-summary-high-unread
815 :group 'gnus-summary)
817 (put 'gnus-summary-high-unread-face 'face-alias 'gnus-summary-high-unread)
819 (defface gnus-summary-low-unread
823 :group 'gnus-summary)
825 (put 'gnus-summary-low-unread-face 'face-alias 'gnus-summary-low-unread)
827 (defface gnus-summary-normal-unread
831 :group 'gnus-summary)
833 (put 'gnus-summary-normal-unread-face 'face-alias 'gnus-summary-normal-unread)
835 (defface gnus-summary-high-read
847 :group 'gnus-summary)
849 (put 'gnus-summary-high-read-face 'face-alias 'gnus-summary-high-read)
851 (defface gnus-summary-low-read
863 :group 'gnus-summary)
865 (put 'gnus-summary-low-read-face 'face-alias 'gnus-summary-low-read)
867 (defface gnus-summary-normal-read
877 :group 'gnus-summary)
879 (put 'gnus-summary-normal-read-face 'face-alias 'gnus-summary-normal-read)
886 (defvar gnus-buffers nil)
888 (defun gnus-get-buffer-create (name)
891 (car (push (get-buffer-create name) gnus-buffers))))
893 (defun gnus-add-buffer ()
895 (push (current-buffer) gnus-buffers))
897 (defmacro gnus-kill-buffer (buffer)
900 (when (gnus-buffer-exists-p buf)
901 (setq gnus-buffers (delete (get-buffer buf) gnus-buffers))
904 (defun gnus-buffers ()
906 (while (and gnus-buffers
907 (not (buffer-name (car gnus-buffers))))
908 (pop gnus-buffers))
909 (let ((buffers gnus-buffers))
914 gnus-buffers)
918 (defvar gnus-group-buffer "*Group*")
921 (autoload 'gnus-play-jingle "gnus-audio"))
923 (defface gnus-splash
933 :group 'gnus-start)
935 (put 'gnus-splash-face 'face-alias 'gnus-splash)
937 (defun gnus-splash ()
939 (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer))
942 (unless gnus-inhibit-startup-message
943 (gnus-group-startup-message)
945 (when gnus-play-startup-jingle
946 (gnus-play-jingle))))))
948 (defun gnus-indent-rigidly (start end arg)
961 (defvar gnus-simple-splash nil)
965 (defvar gnus-logo-color-alist
986 (defcustom gnus-logo-color-style 'oort
989 gnus-logo-color-alist))
990 :group 'gnus-xmas)
992 (defvar gnus-logo-colors
993 (cdr (assq gnus-logo-color-style gnus-logo-color-alist))
996 (defun gnus-group-startup-message (&optional x y)
1004 (let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
1011 `((:type xpm :file "gnus.xpm"
1013 (("thing" . ,(car gnus-logo-colors))
1014 ("shadow" . ,(cadr gnus-logo-colors))
1017 (:type pbm :file "gnus.pbm"
1019 :background ,(face-foreground 'gnus-splash)
1021 (:type xbm :file "gnus.xbm"
1023 :background ,(face-foreground 'gnus-splash)
1032 (setq gnus-simple-splash nil)
1058 (gnus-indent-rigidly (point-min) (point-max)
1067 (put-text-property (point-min) (point-max) 'face 'gnus-splash)
1068 (setq gnus-simple-splash t)))
1070 (setq mode-line-buffer-identification (concat " " gnus-version))
1075 (when (string-match "gnus" command)
1076 (if (string-match "gnus-other-frame" command)
1077 (gnus-get-buffer-create gnus-group-buffer)
1078 (gnus-splash)))))
1082 (require 'gnus-util)
1085 (defcustom gnus-parameters nil
1089 ((\"mail\\\\..*\" (gnus-show-threads nil)
1090 (gnus-use-scoring nil)
1091 (gnus-summary-line-format
1095 (\"mail\\\\.me\" (gnus-use-scoring t))
1099 :group 'gnus-group-various
1103 (defcustom gnus-parameters-case-fold-search 'default
1104 "If it is t, ignore case of group names specified in `gnus-parameters'.
1108 :group 'gnus-group-various
1114 (defvar gnus-group-parameters-more nil)
1116 (defmacro gnus-define-group-parameter (param &rest rest)
1133 (intern (format "gnus-parameter-%s" param))))
1136 (intern (format "gnus-parameter-%s-alist" param))))
1148 :group 'gnus-group-parameter
1151 `(setq gnus-group-parameters-more
1152 (delq (assq ',param gnus-group-parameters-more)
1153 gnus-group-parameters-more))
1154 `(add-to-list 'gnus-group-parameters-more
1161 (let ((params (gnus-group-find-parameter name))
1182 (or (gnus-group-find-parameter name ',param ,(and type t))
1194 (defcustom gnus-home-directory "~/"
1197 :group 'gnus-files
1200 (defcustom gnus-directory (or (getenv "SAVEDIR")
1201 (nnheader-concat gnus-home-directory "News/"))
1204 Note that Gnus is mostly loaded when the `.gnus.el' file is read.
1206 this variable won't be set properly if you set this variable in `.gnus.el'.
1208 :group 'gnus-files
1211 (defcustom gnus-default-directory nil
1213 :group 'gnus-files
1220 (defvar gnus-default-nntp-server nil
1224 If you want to change servers, you should use `gnus-select-method'.
1228 (defvar gnus-nntp-service "nntp"
1234 (setq gnus-select-method '(nntp \"my.nntp.server\" (nntp-port-number 899)))")
1236 (defcustom gnus-nntpserver-file "/etc/nntpserver"
1238 :group 'gnus-files
1239 :group 'gnus-server
1242 (defun gnus-getenv-nntpserver ()
1245 `gnus-nntpserver-file' file."
1247 (and (file-readable-p gnus-nntpserver-file)
1249 (insert-file-contents gnus-nntpserver-file)
1253 ;; `M-x customize-variable RET gnus-select-method RET' should work without
1256 ;;;###autoload (custom-autoload 'gnus-select-method "gnus"))
1258 (defcustom gnus-select-method
1262 (gnus-getenv-nntpserver)
1264 (when (and gnus-default-nntp-server
1265 (not (string= gnus-default-nntp-server "")))
1266 gnus-default-nntp-server)
1268 (if (or (null gnus-nntp-service)
1269 (equal gnus-nntp-service "nntp"))
1271 (list gnus-nntp-service)))
1280 \(setq gnus-select-method '(nntp \"flab.flab.edu\"))
1284 \(setq gnus-select-method (list 'nnspool (system-name)))
1286 If you use this variable, you must set `gnus-nntp-server' to nil.
1290 :group 'gnus-server
1291 :group 'gnus-start
1293 :type 'gnus-select-method)
1295 (defcustom gnus-message-archive-method "archive"
1298 :group 'gnus-server
1299 :group 'gnus-message
1301 gnus-select-method))
1303 (defcustom gnus-message-archive-group nil
1313 \(setq gnus-message-archive-group
1323 :group 'gnus-message
1329 (defcustom gnus-secondary-servers nil
1331 To make Gnus query you for a server, you have to give `gnus' a
1332 non-numeric prefix - `C-u M-x gnus', in short."
1333 :group 'gnus-server
1336 (defcustom gnus-nntp-server nil
1338 This variable is semi-obsolete. Use the `gnus-select-method'
1340 :group 'gnus-server
1344 (defcustom gnus-secondary-select-methods nil
1347 `gnus-select-method').
1352 \(setq gnus-secondary-select-methods '((nnml \"\")))"
1353 :group 'gnus-server
1354 :type '(repeat gnus-select-method))
1356 (defvar gnus-backup-default-subscribed-newsgroups
1357 '("news.announce.newusers" "news.groups.questions" "gnu.emacs.gnus")
1361 (defcustom gnus-local-domain nil
1366 :group 'gnus-message
1370 (defvar gnus-local-organization nil
1376 (defcustom gnus-refer-article-method nil
1383 in the documentation of `gnus-select-method'.
1388 :group 'gnus-server
1392 gnus-select-method
1400 gnus-select-method))))
1402 (defcustom gnus-group-faq-directory
1438 :group 'gnus-group-various
1442 (defcustom gnus-group-charter-alist
1449 (gnus-replace-in-string name "europa\\." "") ".html"))
1458 (gnus-replace-in-string name "\\." "_") ".html"))
1460 (gnus-replace-in-string name "milw\\." "") "-charter"))
1463 (gnus-replace-in-string name "\\." "-") "-charter.html")))
1467 :group 'gnus-group-various
1470 (defcustom gnus-group-fetch-control-use-browse-url nil
1475 :group 'gnus-group-various
1478 (defcustom gnus-use-cross-reference t
1483 :group 'gnus-server
1489 (defcustom gnus-process-mark ?#
1491 :group 'gnus-group-visual
1492 :group 'gnus-summary-marks
1495 (defcustom gnus-large-newsgroup 200
1500 :group 'gnus-group-select
1504 (defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v xenix)))
1509 `not-score', long file names will not be used for score files; if it
1517 :group 'gnus-start
1523 (checklist (const :format "%v " not-score)
1527 (defcustom gnus-kill-files-directory gnus-directory
1529 :group 'gnus-score-files
1530 :group 'gnus-score-kill
1533 (defcustom gnus-save-score nil
1535 :group 'gnus-score-various
1536 :group 'gnus-start
1539 (defcustom gnus-use-undo t
1541 :group 'gnus-meta
1544 (defcustom gnus-use-adaptive-scoring nil
1549 :group 'gnus-meta
1550 :group 'gnus-score-adapt
1553 (defcustom gnus-use-cache 'passive
1558 :group 'gnus-meta
1559 :group 'gnus-cache
1564 (defcustom gnus-use-trees nil
1566 :group 'gnus-meta
1569 (defcustom gnus-use-grouplens nil
1571 :group 'gnus-meta
1574 (defcustom gnus-keep-backlog 20
1579 :group 'gnus-meta
1585 (defcustom gnus-use-nocem nil
1590 argument to some commands, e.g. `gnus', `gnus-group-get-new-news', etc.
1593 :group 'gnus-meta
1600 :value (if (boundp 'gnus-level-default-subscribed)
1601 gnus-level-default-subscribed
1604 (defcustom gnus-suppress-duplicates nil
1606 :group 'gnus-meta
1609 (defcustom gnus-use-scoring t
1611 :group 'gnus-meta
1614 (defcustom gnus-summary-prepare-exit-hook
1615 '(gnus-summary-expire-articles)
1617 It calls `gnus-summary-expire-articles' by default."
1618 :group 'gnus-summary-exit
1621 (defcustom gnus-novice-user t
1625 :group 'gnus-meta
1628 (defcustom gnus-expert-user nil
1632 :group 'gnus-meta
1635 (defcustom gnus-interactive-catchup t
1637 :group 'gnus-group-select
1640 (defcustom gnus-interactive-exit t
1642 :group 'gnus-exit
1645 (defcustom gnus-extract-address-components 'gnus-extract-address-components
1647 Two pre-defined function exist: `gnus-extract-address-components',
1651 :group 'gnus-summary-format
1652 :type '(radio (function-item gnus-extract-address-components)
1656 (defcustom gnus-carpal nil
1658 :group 'gnus-meta
1661 (defcustom gnus-shell-command-separator ";"
1663 :group 'gnus-files
1666 (defcustom gnus-valid-select-methods
1701 :group 'gnus-server
1714 (defun gnus-redefine-select-method-widget ()
1716 `gnus-valid-select-methods'."
1717 (define-widget 'gnus-select-method 'list
1725 gnus-valid-select-methods)
1734 (gnus-redefine-select-method-widget)
1736 (defcustom gnus-updated-mode-lines '(group article summary tree)
1742 :group 'gnus-various
1749 (defcustom gnus-mode-non-string-length nil
1754 :group 'gnus-various
1759 (define-widget 'gnus-email-address 'string
1762 (gnus-define-group-parameter
1768 :variable-group gnus-group-parameter
1769 :parameter-type '(gnus-email-address :tag "To Address")
1786 The gnus-group-split mail splitting mechanism will behave as if this
1787 address was listed in gnus-group-split Addresses (see below).")
1789 (gnus-define-group-parameter
1795 :variable-group gnus-group-parameter
1796 :parameter-type '(gnus-email-address :tag "To List")
1804 The gnus-group-split mail splitting mechanism will behave as if this
1805 address was listed in gnus-group-split Addresses (see below).")
1807 (gnus-define-group-parameter
1814 :variable-group gnus-group-parameter
1820 `gnus-find-subscribed-addresses', Gnus includes the To address given
1823 (gnus-define-group-parameter
1826 :function gnus-group-auto-expirable-p
1829 :variable gnus-auto-expirable-newsgroups
1842 (gnus-define-group-parameter
1845 :function gnus-group-total-expirable-p
1848 :variable gnus-total-expirable-newsgroups
1866 (gnus-define-group-parameter
1870 :variable gnus-group-charset-alist
1886 :variable-group gnus-charset
1893 (gnus-define-group-parameter
1898 :variable gnus-post-method-alist
1902 :variable-group gnus-group-foreign
1910 :value gnus-select-method))))
1914 (gnus-define-group-parameter
1921 :variable-group gnus-group-parameter
1929 `gnus-large-newsgroup'). If it is nil, the default value is the
1933 (gnus-define-group-parameter
1938 :variable gnus-registry-ignored-groups
1942 :variable-group gnus-registry
1953 (defcustom gnus-install-group-spam-parameters t
1958 :group 'gnus-start)
1960 (when gnus-install-group-spam-parameters
1961 (defvar gnus-group-spam-classification-spam t
1969 (defvar gnus-group-spam-classification-ham 'ask
1976 (gnus-define-group-parameter
1981 :variable gnus-spam-newsgroup-contents
1995 (variable-item gnus-group-spam-classification-spam)
1996 (variable-item gnus-group-spam-classification-ham)
2001 (variable-item gnus-group-spam-classification-spam)
2002 (variable-item gnus-group-spam-classification-ham)
2010 (defvar gnus-group-spam-exit-processor-ifile "ifile"
2013 (defvar gnus-group-spam-exit-processor-stat "stat"
2016 (defvar gnus-group-spam-exit-processor-bogofilter "bogofilter"
2019 (defvar gnus-group-spam-exit-processor-blacklist "blacklist"
2022 (defvar gnus-group-spam-exit-processor-report-gmane "report-gmane"
2026 (defvar gnus-group-spam-exit-processor-spamoracle "spamoracle-spam"
2029 (defvar gnus-group-ham-exit-processor-ifile "ifile-ham"
2033 (defvar gnus-group-ham-exit-processor-bogofilter "bogofilter-ham"
2037 (defvar gnus-group-ham-exit-processor-stat "stat-ham"
2041 (defvar gnus-group-ham-exit-processor-whitelist "whitelist"
2045 (defvar gnus-group-ham-exit-processor-BBDB "bbdb"
2049 (defvar gnus-group-ham-exit-processor-copy "copy"
2053 (defvar gnus-group-ham-exit-processor-spamoracle "spamoracle-ham"
2057 (gnus-define-group-parameter
2066 (variable-item gnus-group-spam-exit-processor-ifile)
2067 (variable-item gnus-group-spam-exit-processor-stat)
2068 (variable-item gnus-group-spam-exit-processor-bogofilter)
2069 (variable-item gnus-group-spam-exit-processor-blacklist)
2070 (variable-item gnus-group-spam-exit-processor-spamoracle)
2071 (variable-item gnus-group-spam-exit-processor-report-gmane)
2072 (variable-item gnus-group-ham-exit-processor-bogofilter)
2073 (variable-item gnus-group-ham-exit-processor-ifile)
2074 (variable-item gnus-group-ham-exit-processor-stat)
2075 (variable-item gnus-group-ham-exit-processor-whitelist)
2076 (variable-item gnus-group-ham-exit-processor-BBDB)
2077 (variable-item gnus-group-ham-exit-processor-spamoracle)
2078 (variable-item gnus-group-ham-exit-processor-copy)
2094 :variable gnus-spam-process-newsgroups
2108 (variable-item gnus-group-spam-exit-processor-ifile)
2109 (variable-item gnus-group-spam-exit-processor-stat)
2110 (variable-item gnus-group-spam-exit-processor-bogofilter)
2111 (variable-item gnus-group-spam-exit-processor-blacklist)
2112 (variable-item gnus-group-spam-exit-processor-spamoracle)
2113 (variable-item gnus-group-spam-exit-processor-report-gmane)
2114 (variable-item gnus-group-ham-exit-processor-bogofilter)
2115 (variable-item gnus-group-ham-exit-processor-ifile)
2116 (variable-item gnus-group-ham-exit-processor-stat)
2117 (variable-item gnus-group-ham-exit-processor-whitelist)
2118 (variable-item gnus-group-ham-exit-processor-BBDB)
2119 (variable-item gnus-group-ham-exit-processor-spamoracle)
2120 (variable-item gnus-group-ham-exit-processor-copy)
2138 (gnus-define-group-parameter
2145 :variable gnus-spam-autodetect
2163 (gnus-define-group-parameter
2185 :variable gnus-spam-autodetect-methods
2220 (gnus-define-group-parameter
2231 :variable gnus-spam-process-destinations
2255 (gnus-define-group-parameter
2268 :variable gnus-ham-process-destinations
2293 (gnus-define-group-parameter
2298 (variable-item gnus-del-mark)
2299 (variable-item gnus-read-mark)
2300 (variable-item gnus-ticked-mark)
2301 (variable-item gnus-killed-mark)
2302 (variable-item gnus-kill-file-mark)
2303 (variable-item gnus-low-score-mark)))
2309 :variable-default '((".*" ((gnus-del-mark
2310 gnus-read-mark
2311 gnus-killed-mark
2312 gnus-kill-file-mark
2313 gnus-low-score-mark))))
2318 (gnus-define-group-parameter
2323 (variable-item gnus-spam-mark)
2324 (variable-item gnus-killed-mark)
2325 (variable-item gnus-kill-file-mark)
2326 (variable-item gnus-low-score-mark)))
2332 :variable-default '((".*" ((gnus-spam-mark))))
2337 (defcustom gnus-group-uncollapsed-levels 1
2339 :group 'gnus-group-visual
2342 (defcustom gnus-group-use-permanent-levels nil
2344 :group 'gnus-group-levels
2349 (defcustom gnus-load-hook nil
2351 :group 'gnus-start
2354 (defcustom gnus-apply-kill-hook '(gnus-apply-kill-file)
2357 The function `gnus-apply-kill-file' is called by default.
2365 (setq gnus-apply-kill-hook
2368 (cond ((string-match \"control\" gnus-newsgroup-name)
2369 (gnus-kill \"Subject\" \"rmgroup\")
2370 (gnus-expunge \"X\"))))))"
2371 :group 'gnus-score-kill
2372 :options '(gnus-apply-kill-file)
2375 (defcustom gnus-group-change-level-function nil
2378 :group 'gnus-group-levels
2384 (defcustom gnus-visual
2400 (setq gnus-visual '(menu))
2407 :group 'gnus-meta
2408 :group 'gnus-visual
2428 (defvar gnus-visual)
2429 ;; Find out whether the gnus-visual TYPE is wanted.
2430 (defun gnus-visual-p (&optional type class)
2431 (and gnus-visual ; Has to be non-nil, at least.
2433 gnus-visual
2434 (if (listp gnus-visual) ; It's a list, so we check it.
2435 (or (memq type gnus-visual)
2436 (memq class gnus-visual))
2439 (defcustom gnus-mouse-face
2441 (if (gnus-visual-p 'mouse-face 'highlight)
2442 (if (boundp 'gnus-mouse-face)
2443 (or gnus-mouse-face 'highlight)
2450 :group 'gnus-visual
2453 (defcustom gnus-article-save-directory gnus-directory
2455 :group 'gnus-article-saving
2458 (defvar gnus-plugged t
2461 (defcustom gnus-agent-cache t
2465 `gnus-agent' for this to have any affect."
2467 :group 'gnus-agent
2470 (defcustom gnus-default-charset 'undecided
2473 `gnus-group-charset-alist' variable and is only used on groups not
2476 :group 'gnus-charset)
2479 (defcustom gnus-agent t
2482 You may customize gnus-agent to disable its use. However, some
2486 :group 'gnus-agent
2489 (defcustom gnus-other-frame-function 'gnus
2490 "Function called by the command `gnus-other-frame'."
2491 :group 'gnus-start
2492 :type '(choice (function-item gnus)
2493 (function-item gnus-no-server)
2494 (function-item gnus-slave)
2495 (function-item gnus-slave-no-server)))
2497 (defcustom gnus-other-frame-parameters nil
2498 "Frame parameters used by `gnus-other-frame' to create a Gnus frame.
2500 :group 'gnus-start
2509 (defcustom gnus-user-agent '(emacs gnus type)
2512 Can be a list of symbols or a string. Valid symbols are `gnus'
2520 :group 'gnus-message
2522 (const gnus :tag "Gnus version")
2531 (when (symbolp gnus-user-agent)
2532 (setq gnus-user-agent
2533 (cond ((eq gnus-user-agent 'emacs-gnus-config)
2534 '(emacs gnus config))
2535 ((eq gnus-user-agent 'emacs-gnus-type)
2536 '(emacs gnus type))
2537 ((eq gnus-user-agent 'emacs-gnus)
2538 '(emacs gnus))
2539 ((eq gnus-user-agent 'gnus)
2540 '(gnus))
2541 (t gnus-user-agent)))
2542 (gnus-message 1 "Converted `gnus-user-agent' to `%s'." gnus-user-agent)
2544 (if (get 'gnus-user-agent 'saved-value)
2545 (customize-save-variable 'gnus-user-agent gnus-user-agent)
2546 (gnus-message 1 "Edit your init file to make this change permanent.")
2553 (defvar gnus-agent-gcc-header "X-Gnus-Agent-Gcc")
2554 (defvar gnus-agent-meta-information-header "X-Gnus-Agent-Meta-Information")
2555 (defvar gnus-agent-method-p-cache nil
2556 ; Reset each time gnus-agent-covered-methods is changed else
2557 ; gnus-agent-method-p may mis-report a methods status.
2559 (defvar gnus-agent-target-move-group-header "X-Gnus-Agent-Move-To")
2560 (defvar gnus-draft-meta-information-header "X-Draft-From")
2561 (defvar gnus-group-get-parameter-function 'gnus-group-get-parameter)
2562 (defvar gnus-original-article-buffer " *Original Article*")
2563 (defvar gnus-newsgroup-name nil)
2564 (defvar gnus-ephemeral-servers nil)
2565 (defvar gnus-server-method-cache nil)
2567 (defvar gnus-agent-fetching nil
2570 (defvar gnus-agent-covered-methods nil
2573 (defvar gnus-command-method nil
2576 (defvar gnus-current-select-method nil
2579 (defvar gnus-tree-buffer "*Tree*"
2583 (defvar gnus-use-generic-from nil)
2586 (defvar gnus-method-history nil)
2589 (defvar gnus-mail-method-history nil)
2592 (defvar gnus-group-history nil)
2594 (defvar gnus-server-alist nil
2597 (defcustom gnus-cache-directory
2598 (nnheader-concat gnus-directory "cache/")
2600 :group 'gnus-cache
2603 (defvar gnus-predefined-server-alist
2606 (nnspool-spool-directory ,gnus-cache-directory)
2607 (nnspool-nov-directory ,gnus-cache-directory)
2609 ,(nnheader-concat gnus-cache-directory "active"))))
2612 (defvar gnus-topic-indentation "") ;; Obsolete variable.
2614 (defconst gnus-article-mark-lists
2618 (scored . score) (saved . save)
2623 (defconst gnus-article-special-mark-lists
2627 (score tuple)))
2630 ;; `seen' is private to each gnus installation
2631 ;; `cache' is a internal gnus flag for each gnus installation
2632 ;; `download' is a agent flag private to each gnus installation
2634 ;; `score' is not a proper mark
2636 (defconst gnus-article-unpropagated-mark-lists
2637 '(seen cache download unsend score bookmark)
2643 (defvar gnus-headers-retrieved-by nil)
2644 (defvar gnus-article-reply nil)
2645 (defvar gnus-override-method nil)
2646 (defvar gnus-article-check-size nil)
2647 (defvar gnus-opened-servers nil)
2649 (defvar gnus-current-kill-article nil)
2651 (defvar gnus-have-read-active-file nil)
2653 (defconst gnus-maintainer
2654 "bugs@gnus.org (The Gnus Bugfixing Girls + Boys)"
2657 (defvar gnus-info-nodes
2658 '((gnus-group-mode "(gnus)Group Buffer")
2659 (gnus-summary-mode "(gnus)Summary Buffer")
2660 (gnus-article-mode "(gnus)Article Buffer")
2661 (gnus-server-mode "(gnus)Server Buffer")
2662 (gnus-browse-mode "(gnus)Browse Foreign Server")
2663 (gnus-tree-mode "(gnus)Tree Display"))
2666 (defvar gnus-group-buffer "*Group*")
2667 (defvar gnus-summary-buffer "*Summary*")
2668 (defvar gnus-article-buffer "*Article*")
2669 (defvar gnus-server-buffer "*Server*")
2671 (defvar gnus-slave nil
2674 (defvar gnus-batch-mode nil
2677 (defvar gnus-variable-list
2678 '(gnus-newsrc-options gnus-newsrc-options-n
2679 gnus-newsrc-last-checked-date
2680 gnus-newsrc-alist gnus-server-alist
2681 gnus-killed-list gnus-zombie-list
2682 gnus-topic-topology gnus-topic-alist
2683 gnus-format-specs)
2686 (defvar gnus-newsrc-alist nil
2688 `gnus-newsrc-hashtb' should be kept so that both hold the same information.")
2690 (defvar gnus-registry-alist nil
2692 gnus-registry.el will populate this if it's loaded.")
2694 (defvar gnus-newsrc-hashtb nil
2695 "Hashtable of `gnus-newsrc-alist'.")
2697 (defvar gnus-killed-list nil
2700 (defvar gnus-killed-hashtb nil
2701 "Hash table equivalent of `gnus-killed-list'.")
2703 (defvar gnus-zombie-list nil
2706 (defvar gnus-description-hashtb nil
2709 (defvar gnus-list-of-killed-groups nil
2712 (defvar gnus-active-hashtb nil
2715 (defvar gnus-moderated-hashtb nil
2719 (defvar gnus-prev-winconf nil)
2721 (defvar gnus-reffed-article-number nil)
2726 (defvar gnus-dead-summary nil)
2728 (defvar gnus-invalid-group-regexp "[: `'\"/]\\|^$"
2731 (defvar gnus-other-frame-object nil
2732 "A frame object which will be created by `gnus-other-frame'.")
2768 ("gnus-audio" :interactive t gnus-audio-play)
2769 ("gnus-xmas" gnus-xmas-splash)
2770 ("gnus-soup" :interactive t
2771 gnus-group-brew-soup gnus-brew-soup gnus-soup-add-article
2772 gnus-soup-send-replies gnus-soup-save-areas gnus-soup-pack-packet)
2774 ("score-mode" :interactive t gnus-score-mode)
2775 ("gnus-mh" gnus-summary-save-article-folder
2776 gnus-Folder-save-name gnus-folder-save-name)
2777 ("gnus-mh" :interactive t gnus-summary-save-in-folder)
2778 ("gnus-demon" gnus-demon-add-nocem gnus-demon-add-scanmail
2779 gnus-demon-add-rescan gnus-demon-add-scan-timestamps
2780 gnus-demon-add-disconnection gnus-demon-add-handler
2781 gnus-demon-remove-handler)
2782 ("gnus-demon" :interactive t
2783 gnus-demon-init gnus-demon-cancel)
2784 ("gnus-fun" gnus-convert-gray-x-face-to-xpm gnus-display-x-face-in-from
2785 gnus-convert-image-to-gray-x-face gnus-convert-face-to-png
2786 gnus-face-from-file)
2787 ("gnus-salt" gnus-highlight-selected-tree gnus-possibly-generate-tree
2788 gnus-tree-open gnus-tree-close gnus-carpal-setup-buffer)
2789 ("gnus-nocem" gnus-nocem-scan-groups gnus-nocem-close
2790 gnus-nocem-unwanted-article-p)
2791 ("gnus-srvr" gnus-enter-server-buffer gnus-server-set-info
2792 gnus-server-server-name)
2793 ("gnus-srvr" gnus-browse-foreign-server)
2794 ("gnus-cite" :interactive t
2795 gnus-article-highlight-citation gnus-article-hide-citation-maybe
2796 gnus-article-hide-citation gnus-article-fill-cited-article
2797 gnus-article-hide-citation-in-followups)
2798 ("gnus-kill" gnus-kill gnus-apply-kill-file-internal
2799 gnus-kill-file-edit-file gnus-kill-file-raise-followups-to-author
2800 gnus-execute gnus-expunge gnus-batch-kill gnus-batch-score)
2801 ("gnus-cache" gnus-cache-possibly-enter-article gnus-cache-save-buffers
2802 gnus-cache-possibly-remove-articles gnus-cache-request-article
2803 gnus-cache-retrieve-headers gnus-cache-possibly-alter-active
2804 gnus-cache-enter-remove-article gnus-cached-article-p
2805 gnus-cache-open gnus-cache-close gnus-cache-update-article
2806 gnus-cache-articles-in-group)
2807 ("gnus-cache" :interactive t gnus-jog-cache gnus-cache-enter-article
2808 gnus-cache-remove-article gnus-summary-insert-cached-articles)
2809 ("gnus-score" :interactive t
2810 gnus-summary-increase-score gnus-summary-set-score
2811 gnus-summary-raise-thread gnus-summary-raise-same-subject
2812 gnus-summary-raise-score gnus-summary-raise-same-subject-and-select
2813 gnus-summary-lower-thread gnus-summary-lower-same-subject
2814 gnus-summary-lower-score gnus-summary-lower-same-subject-and-select
2815 gnus-summary-current-score gnus-score-delta-default
2816 gnus-score-flush-cache gnus-score-close
2817 gnus-possibly-score-headers gnus-score-followup-article
2818 gnus-score-followup-thread)
2819 ("gnus-score"
2820 (gnus-summary-score-map keymap) gnus-score-save gnus-score-headers
2821 gnus-current-score-file-nondirectory gnus-score-adaptive
2822 gnus-score-find-trace gnus-score-file-name)
2823 ("gnus-cus" :interactive t gnus-group-customize gnus-score-customize)
2824 ("gnus-topic" :interactive t gnus-topic-mode)
2825 ("gnus-topic" gnus-topic-remove-group gnus-topic-set-parameters
2826 gnus-subscribe-topics)
2827 ("gnus-salt" :interactive t gnus-pick-mode gnus-binary-mode)
2828 ("gnus-uu" (gnus-uu-extract-map keymap) (gnus-uu-mark-map keymap))
2829 ("gnus-uu" :interactive t
2830 gnus-uu-digest-mail-forward gnus-uu-digest-post-forward
2831 gnus-uu-mark-series gnus-uu-mark-region gnus-uu-mark-buffer
2832 gnus-uu-mark-by-regexp gnus-uu-mark-all
2833 gnus-uu-mark-sparse gnus-uu-mark-thread gnus-uu-decode-uu
2834 gnus-uu-decode-uu-and-save gnus-uu-decode-unshar
2835 gnus-uu-decode-unshar-and-save gnus-uu-decode-save
2836 gnus-uu-decode-binhex gnus-uu-decode-uu-view
2837 gnus-uu-decode-uu-and-save-view gnus-uu-decode-unshar-view
2838 gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view
2839 gnus-uu-decode-binhex-view gnus-uu-unmark-thread
2840 gnus-uu-mark-over gnus-uu-post-news)
2841 ("gnus-uu" gnus-uu-delete-work-dir gnus-uu-unmark-thread)
2842 ("gnus-msg" (gnus-summary-send-map keymap)
2843 gnus-article-mail gnus-copy-article-buffer gnus-extended-version)
2844 ("gnus-msg" :interactive t
2845 gnus-group-post-news gnus-group-mail gnus-group-news
2846 gnus-summary-post-news gnus-summary-news-other-window
2847 gnus-summary-followup gnus-summary-followup-with-original
2848 gnus-summary-cancel-article gnus-summary-supersede-article
2849 gnus-post-news gnus-summary-reply gnus-summary-reply-with-original
2850 gnus-summary-mail-forward gnus-summary-mail-other-window
2851 gnus-summary-resend-message gnus-summary-resend-bounced-mail
2852 gnus-summary-wide-reply gnus-summary-followup-to-mail
2853 gnus-summary-followup-to-mail-with-original gnus-bug
2854 gnus-summary-wide-reply-with-original
2855 gnus-summary-post-forward gnus-summary-wide-reply-with-original
2856 gnus-summary-post-forward)
2857 ("gnus-picon" :interactive t gnus-treat-from-picon)
2858 ("gnus-gl" bbb-login bbb-logout bbb-grouplens-group-p
2859 gnus-grouplens-mode)
2861 ("gnus-win" gnus-configure-windows gnus-add-configuration)
2862 ("gnus-sum" gnus-summary-insert-line gnus-summary-read-group
2863 gnus-list-of-unread-articles gnus-list-of-read-articles
2864 gnus-offer-save-summaries gnus-make-thread-indent-array
2865 gnus-summary-exit gnus-update-read-articles gnus-summary-last-subject
2866 gnus-summary-skip-intangible gnus-summary-article-number
2867 gnus-data-header gnus-data-find)
2868 ("gnus-group" gnus-group-insert-group-line gnus-group-quit
2869 gnus-group-list-groups gnus-group-first-unread-group
2870 gnus-group-set-mode-line gnus-group-set-info gnus-group-save-newsrc
2871 gnus-group-setup-buffer gnus-group-get-new-news
2872 gnus-group-make-help-group gnus-group-update-group
2873 gnus-group-iterate gnus-group-group-name)
2874 ("gnus-bcklg" gnus-backlog-request-article gnus-backlog-enter-article
2875 gnus-backlog-remove-article)
2876 ("gnus-art" gnus-article-read-summary-keys gnus-article-save
2877 gnus-article-prepare gnus-article-set-window-start
2878 gnus-article-next-page gnus-article-prev-page
2879 gnus-request-article-this-buffer gnus-article-mode
2880 gnus-article-setup-buffer gnus-narrow-to-page
2881 gnus-article-delete-invisible-text gnus-treat-article)
2882 ("gnus-art" :interactive t
2883 gnus-article-hide-headers gnus-article-hide-boring-headers
2884 gnus-article-treat-overstrike
2885 gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
2886 gnus-article-display-x-face gnus-article-de-quoted-unreadable
2887 gnus-article-de-base64-unreadable
2888 gnus-article-decode-HZ
2889 gnus-article-wash-html
2890 gnus-article-unsplit-urls
2891 gnus-article-hide-pem gnus-article-hide-signature
2892 gnus-article-strip-leading-blank-lines gnus-article-date-local
2893 gnus-article-date-original gnus-article-date-lapsed
2894 ;; gnus-article-show-all-headers
2895 gnus-article-edit-mode gnus-article-edit-article
2896 gnus-article-edit-done gnus-article-decode-encoded-words
2897 gnus-start-date-timer gnus-stop-date-timer
2898 gnus-mime-view-all-parts)
2899 ("gnus-int" gnus-request-type)
2900 ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
2901 gnus-dribble-enter gnus-read-init-file gnus-dribble-touch)
2902 ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article
2903 gnus-dup-enter-articles)
2904 ("gnus-range" gnus-copy-sequence)
2905 ("gnus-eform" gnus-edit-form)
2906 ("gnus-move" :interactive t
2907 gnus-group-move-group-to-server gnus-change-server)
2908 ("gnus-logic" gnus-score-advanced)
2909 ("gnus-undo" gnus-undo-mode gnus-undo-register)
2910 ("gnus-async" gnus-async-request-fetched-article gnus-async-prefetch-next
2911 gnus-async-prefetch-article gnus-async-prefetch-remove-group
2912 gnus-async-halt-prefetch)
2913 ("gnus-agent" gnus-open-agent gnus-agent-get-function
2914 gnus-agent-save-active gnus-agent-method-p
2915 gnus-agent-get-undownloaded-list gnus-agent-fetch-session
2916 gnus-summary-set-agent-mark gnus-agent-save-group-info
2917 gnus-agent-request-article gnus-agent-retrieve-headers)
2918 ("gnus-agent" :interactive t
2919 gnus-unplugged gnus-agentize gnus-agent-batch)
2920 ("gnus-vm" :interactive t gnus-summary-save-in-vm
2921 gnus-summary-save-article-vm)
2923 ("gnus-draft" :interactive t gnus-draft-mode gnus-group-send-queue)
2924 ("gnus-mlspl" gnus-group-split gnus-group-split-fancy)
2925 ("gnus-mlspl" :interactive t gnus-group-split-setup
2926 gnus-group-split-update)
2927 ("gnus-delay" gnus-delay-initialize))))
2929 ;;; gnus-sum.el thingies
2932 (defcustom gnus-summary-line-format "%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n"
2958 The variables `gnus-sum-thread-*' can be used for customization.
2967 %i Article score (number)
2971 %l GroupLens score (string).
2972 %V Total thread score (number).
2978 be a letter. Gnus will call the function gnus-user-format-function-X,
2997 See Info node `(gnus)Formatting Variables'."
2998 :link '(custom-manual "(gnus)Formatting Variables")
3000 :group 'gnus-summary-format)
3006 (defun gnus-suppress-keymap (keymap)
3008 (let ((keys `([backspace] [delete] "\177" "\M-u"))) ;gnus-mouse-2
3012 (defvar gnus-article-mode-map
3014 (gnus-suppress-keymap keymap)
3016 (defvar gnus-summary-mode-map
3018 (gnus-suppress-keymap keymap)
3020 (defvar gnus-group-mode-map
3022 (gnus-suppress-keymap keymap)
3031 (defalias 'gnus-summary-position-point 'gnus-goto-colon)
3032 (defalias 'gnus-group-position-point 'gnus-goto-colon)
3036 (defun gnus-header-from (header)
3039 (defmacro gnus-gethash (string hashtable)
3043 (defmacro gnus-gethash-safe (string hashtable)
3049 (defmacro gnus-sethash (string value hashtable)
3052 (put 'gnus-sethash 'edebug-form-spec '(form form form))
3054 (defmacro gnus-group-unread (group)
3056 `(car (gnus-gethash ,group gnus-newsrc-hashtb)))
3058 (defmacro gnus-group-entry (group)
3060 `(gnus-gethash ,group gnus-newsrc-hashtb))
3062 (defmacro gnus-active (group)
3064 `(gnus-gethash ,group gnus-active-hashtb))
3066 (defmacro gnus-set-active (group active)
3068 `(gnus-sethash ,group ,active gnus-active-hashtb))
3072 (defmacro gnus-info-group (info)
3074 (defmacro gnus-info-rank (info)
3076 (defmacro gnus-info-read (info)
3078 (defmacro gnus-info-marks (info)
3080 (defmacro gnus-info-method (info)
3082 (defmacro gnus-info-params (info)
3085 (defmacro gnus-info-level (info)
3086 `(let ((rank (gnus-info-rank ,info)))
3090 (defmacro gnus-info-score (info)
3091 `(let ((rank (gnus-info-rank ,info)))
3094 (defmacro gnus-info-set-group (info group)
3096 (defmacro gnus-info-set-rank (info rank)
3098 (defmacro gnus-info-set-read (info read)
3100 (defmacro gnus-info-set-marks (info marks &optional extend)
3102 `(gnus-info-set-entry ,info ,marks 3)
3104 (defmacro gnus-info-set-method (info method &optional extend)
3106 `(gnus-info-set-entry ,info ,method 4)
3108 (defmacro gnus-info-set-params (info params &optional extend)
3110 `(gnus-info-set-entry ,info ,params 5)
3113 (defun gnus-info-set-entry (info entry number)
3120 (defmacro gnus-info-set-level (info level)
3125 (defmacro gnus-info-set-score (info score)
3128 (setcdr (car rank) ,score)
3129 (setcar rank (cons (car rank) ,score)))))
3131 (defmacro gnus-get-info (group)
3132 `(nth 2 (gnus-gethash ,group gnus-newsrc-hashtb)))
3136 (require 'gnus-ems)
3144 (defvar gnus-shutdown-alist nil)
3146 (defun gnus-add-shutdown (function &rest symbols)
3148 (push (cons function symbols) gnus-shutdown-alist))
3150 (defun gnus-shutdown (symbol)
3152 (let ((alist gnus-shutdown-alist)
3164 (defun gnus-find-subscribed-addresses ()
3169 (dolist (entry (cdr gnus-newsrc-alist))
3171 (when (gnus-parameter-subscribed group)
3173 (or (gnus-group-fast-parameter group 'to-address)
3174 (gnus-group-fast-parameter group 'to-list))))
3180 (defmacro gnus-string-or (&rest strings)
3183 `(gnus-string-or-1 ',strings))
3185 (defun gnus-string-or-1 (strings)
3194 (defun gnus-version (&optional arg)
3199 (insert (message gnus-version))
3200 (message gnus-version)))
3202 (defun gnus-continuum-version (&optional version)
3206 (setq version gnus-version))
3208 (string-match "^\\(.?\\)gnus-\\([0-9.]+\\)$" version))
3233 (defun gnus-info-find-node (&optional nodename)
3237 (let (gnus-info-buffer)
3238 (Info-goto-node (or nodename (cadr (assq major-mode gnus-info-nodes))))
3239 (setq gnus-info-buffer (current-buffer))
3240 (gnus-configure-windows 'info)))
3243 ;;; gnus-interactive
3246 (defvar gnus-current-prefix-symbol nil
3249 (defvar gnus-current-prefix-symbols nil
3252 (defun gnus-interactive (string &optional params)
3310 'gnus-prefix-nil)
3323 gnus-current-prefix-symbol)
3325 gnus-current-prefix-symbols)
3327 (gnus-group-group-name))
3329 (gnus-summary-skip-intangible)
3330 (or (get-text-property (point) 'gnus-number)
3331 (gnus-summary-last-subject)))
3333 (gnus-data-header (gnus-data-find (gnus-summary-article-number))))
3341 (setq out (delq 'gnus-prefix-nil out))
3344 (defun gnus-symbolic-argument (&optional arg)
3349 gnus-current-prefix-symbols
3350 gnus-current-prefix-symbol
3356 (setq gnus-current-prefix-symbols (nreverse syms)
3357 gnus-current-prefix-symbol (car gnus-current-prefix-symbols))
3362 (defsubst gnus-check-backend-function (func group)
3367 (car (gnus-find-method-for-group group))
3373 (defun gnus-group-read-only-p (&optional group)
3375 If GROUP is nil, `gnus-newsgroup-name' will be checked instead. Note
3377 (let ((group (or group gnus-newsgroup-name)))
3378 (not (gnus-check-backend-function 'request-replace-article group))))
3380 (defun gnus-virtual-group-p (group)
3382 (memq 'virtual (assoc (symbol-name (car (gnus-find-method-for-group group)))
3383 gnus-valid-select-methods)))
3385 (defun gnus-news-group-p (group &optional article)
3387 (cond ((gnus-member-of-valid 'post group) ;Ordinary news group
3389 ((not (gnus-member-of-valid 'post-mail group)) ;Non-combined.
3392 (eq (gnus-request-type group (mail-header-id article)) 'news))
3394 (eq (gnus-request-type group) 'news)) ;(unknown ==> mail)
3398 (eq (gnus-request-type group article) 'news)))) ;use it.
3401 (defun gnus-writable-groups ()
3402 (let ((alist gnus-newsrc-alist)
3405 (unless (gnus-group-read-only-p group)
3410 (defun gnus-use-long-file-name (symbol)
3412 (and gnus-use-long-file-name
3414 (or (not (listp gnus-use-long-file-name))
3417 (not (memq symbol gnus-use-long-file-name)))))
3420 (defun gnus-generate-new-group-name (leaf)
3423 (while (gnus-gethash name gnus-newsrc-hashtb)
3427 (defun gnus-ephemeral-group-p (group)
3429 (gnus-group-get-parameter group 'quit-config t))
3431 (defun gnus-group-quit-config (group)
3433 (gnus-group-get-parameter group 'quit-config t))
3435 (defun gnus-kill-ephemeral-group (group)
3437 (gnus-sethash group nil gnus-newsrc-hashtb))
3439 (defun gnus-simplify-mode-line ()
3441 (setq mode-line-modified (cdr gnus-mode-line-modified))
3450 (defsubst gnus-server-add-address (method)
3452 (if (and (memq 'address (assoc method-name gnus-valid-select-methods))
3455 gnus-valid-select-methods)))
3460 (defsubst gnus-method-to-server (method)
3462 (setq method (or method gnus-select-method))
3468 gnus-server-method-cache)
3473 (when (gnus-methods-equal-p (cdr name-method) method)
3474 (unless (member name-method gnus-server-method-cache)
3475 (push name-method gnus-server-method-cache))
3478 (let ((alists (list gnus-server-alist
3479 gnus-predefined-server-alist)))
3480 (if gnus-select-method
3481 (push (list (cons "native" gnus-select-method)) alists))
3488 (unless (member name-method gnus-server-method-cache)
3489 (push name-method gnus-server-method-cache))
3492 (defsubst gnus-server-to-method (server)
3495 (cdr (assoc server gnus-server-method-cache))
3499 (and (equal server "native") gnus-select-method)
3501 (cdr (assoc server gnus-server-alist))
3503 (cdr (assoc server gnus-predefined-server-alist))
3506 (let ((opened gnus-opened-servers))
3513 (let ((servers gnus-secondary-select-methods))
3521 ;; of the entire gnus-newsrc-alist for the server name
3523 ;; gnus-server-method-cache so this only happens once,
3528 (let ((info-method (gnus-info-method info)))
3530 (let ((info-server (gnus-method-to-server info-method)))
3533 (cdr gnus-newsrc-alist))
3536 (push (cons server result) gnus-server-method-cache))
3539 (defsubst gnus-server-get-method (group method)
3543 (gnus-server-to-method method))
3544 ((equal method gnus-select-method)
3545 gnus-select-method)
3548 (gnus-server-extend-method group method))
3554 (gnus-server-add-address method))))
3556 (defmacro gnus-method-equal (ss1 ss2)
3567 (defun gnus-methods-equal-p (m1 m2)
3568 (let ((m1 (or m1 gnus-select-method))
3569 (m2 (or m2 gnus-select-method)))
3573 gnus-valid-select-methods)))
3576 (defun gnus-server-equal (m1 m2)
3578 (let ((m1 (cond ((null m1) gnus-select-method)
3579 ((stringp m1) (gnus-server-to-method m1))
3581 (m2 (cond ((null m2) gnus-select-method)
3582 ((stringp m2) (gnus-server-to-method m2))
3584 (gnus-method-equal m1 m2)))
3586 (defun gnus-servers-using-backend (backend)
3588 (let ((opened gnus-opened-servers)
3596 (defun gnus-archive-server-wanted-p ()
3599 ((or (not gnus-message-archive-method)
3600 (not gnus-message-archive-group))
3602 ((and gnus-message-archive-method gnus-message-archive-group)
3606 gnus-message-archive-method))))
3610 (defsubst gnus-method-to-server-name (method)
3615 (gnus-methods-using 'address))
3616 (gnus-server-equal method gnus-message-archive-method))
3621 (defsubst gnus-method-to-full-server-name (method)
3624 (defun gnus-group-prefixed-name (group method &optional full)
3629 (setq method (gnus-server-to-method method)))
3631 (and (not full) (gnus-server-equal method "native"))
3636 (concat (gnus-method-to-server-name method) ":" group)))
3638 (defun gnus-group-guess-prefixed-name (group)
3640 (gnus-group-prefixed-name group (gnus-find-method-for-group
3643 (defun gnus-group-full-name (group method)
3645 (gnus-group-prefixed-name group method t))
3647 (defun gnus-group-guess-full-name (group)
3649 (if (gnus-group-prefixed-p group)
3651 (gnus-group-full-name group (gnus-find-method-for-group group))))
3653 (defun gnus-group-guess-full-name-from-command-method (group)
3655 (if (gnus-group-prefixed-p group)
3657 (gnus-group-full-name group gnus-command-method)))
3659 (defun gnus-group-real-prefix (group)
3667 (defun gnus-group-short-name (group)
3669 (let ((prefix (gnus-group-real-prefix group)))
3674 (defun gnus-group-prefixed-p (group)
3676 (< 0 (length (gnus-group-real-prefix group))))
3678 (defun gnus-summary-buffer-name (group)
3680 (concat "*Summary " (gnus-group-decoded-name group) "*"))
3682 (defun gnus-group-method (group)
3684 You should probably use `gnus-find-method-for-group' instead."
3685 (let ((prefix (gnus-group-real-prefix group)))
3687 gnus-select-method
3688 (let ((servers gnus-opened-servers)
3701 (or (car (rassoc found gnus-server-alist))
3703 (car (rassoc possible gnus-server-alist))
3707 (defsubst gnus-native-method-p (method)
3709 (gnus-method-equal method gnus-select-method))
3711 (defsubst gnus-secondary-method-p (method)
3713 (let ((methods gnus-secondary-select-methods)
3714 (gmethod (inline (gnus-server-get-method nil method))))
3716 (not (gnus-method-equal
3717 (inline (gnus-server-get-method nil (car methods)))
3722 (defun gnus-method-simplify (method)
3726 ((gnus-native-method-p method)
3728 ((gnus-secondary-method-p method)
3733 (defun gnus-groups-from-server (server)
3735 (let ((alist (cdr gnus-newsrc-alist))
3738 (when (gnus-server-equal (gnus-info-method info) server)
3739 (push (gnus-info-group info) groups)))
3742 (defun gnus-group-foreign-p (group)
3744 (and (not (gnus-group-native-p group))
3745 (not (gnus-group-secondary-p group))))
3747 (defun gnus-group-native-p (group)
3751 (defun gnus-group-secondary-p (group)
3753 (gnus-secondary-method-p (gnus-find-method-for-group group)))
3755 (defun gnus-parameters-get-parameter (group)
3756 "Return the group parameters for GROUP from `gnus-parameters'."
3757 (let ((case-fold-search (if (eq gnus-parameters-case-fold-search 'default)
3759 gnus-parameters-case-fold-search))
3761 (dolist (elem gnus-parameters)
3764 (nconc (gnus-expand-group-parameters
3769 (defun gnus-expand-group-parameter (match value group)
3778 (defun gnus-expand-group-parameters (match parameters group)
3785 (gnus-expand-group-parameter match (cdr elem) group))
3790 (defun gnus-group-fast-parameter (group symbol &optional allow-list)
3793 You should call this in the `gnus-group-buffer' buffer.
3794 The function `gnus-group-find-parameter' will do that for you."
3796 (let* ((params (funcall gnus-group-get-parameter-function group))
3799 (gnus-group-parameter-value params symbol allow-list t)))
3803 ;; We didn't found it there, try `gnus-parameters'.
3806 (tail gnus-parameters))
3814 (setq result (gnus-group-parameter-value (cdr head)
3819 (setq result (gnus-expand-group-parameter (car head)
3826 (defun gnus-group-find-parameter (group &optional symbol allow-list)
3831 `gnus-group-fast-parameter' instead."
3833 (set-buffer gnus-group-buffer)
3835 (gnus-group-fast-parameter group symbol allow-list)
3838 (funcall gnus-group-get-parameter-function group))
3839 (gnus-parameters-get-parameter group)))))
3841 (defun gnus-group-get-parameter (group &optional symbol allow-list)
3845 Most functions should use `gnus-group-find-parameter', which
3847 (let ((params (gnus-info-params (gnus-get-info group))))
3849 (gnus-group-parameter-value params symbol allow-list)
3852 (defun gnus-group-parameter-value (params symbol &optional
3871 (defun gnus-group-add-parameter (group param)
3873 (let ((info (gnus-get-info group)))
3875 (gnus-group-remove-parameter group (if (consp param) (car param) param))
3877 (gnus-group-set-info (cons param (gnus-info-params info))
3880 (defun gnus-group-set-parameter (group name value)
3882 (let ((info (gnus-get-info group)))
3884 (gnus-group-remove-parameter group name)
3885 (let ((old-params (gnus-info-params info))
3892 (gnus-group-set-info new-params group 'params)))))
3894 (defun gnus-group-remove-parameter (group name)
3896 (let ((info (gnus-get-info group)))
3898 (let ((params (gnus-info-params info)))
3902 (gnus-pull name params))
3903 (gnus-info-set-params info params))))))
3905 (defun gnus-group-add-score (group &optional score)
3906 "Add SCORE to the GROUP score.
3907 If SCORE is nil, add 1 to the score of GROUP."
3908 (let ((info (gnus-get-info group)))
3910 (gnus-info-set-score info (+ (gnus-info-score info) (or score 1))))))
3912 (defun gnus-short-group-name (group &optional levels)
3921 gnus-group-uncollapsed-levels
3967 (defun gnus-narrow-to-body ()
3982 (defun gnus-apply-kill-file ()
3985 (if (or (file-exists-p (gnus-newsgroup-kill-file nil))
3986 (file-exists-p (gnus-newsgroup-kill-file gnus-newsgroup-name)))
3987 (gnus-apply-kill-file-internal)
3990 (defun gnus-kill-save-kill-buffer ()
3991 (let ((file (gnus-newsgroup-kill-file gnus-newsgroup-name)))
3999 (defcustom gnus-kill-file-name "KILL"
4001 :group 'gnus-score-kill
4002 :group 'gnus-score-files
4005 (defun gnus-newsgroup-kill-file (newsgroup)
4012 (expand-file-name gnus-kill-file-name
4013 gnus-kill-files-directory))
4015 ((gnus-use-long-file-name 'not-kill)
4016 (expand-file-name (concat (gnus-newsgroup-savable-name newsgroup)
4017 "." gnus-kill-file-name)
4018 gnus-kill-files-directory))
4021 (expand-file-name (concat (gnus-newsgroup-directory-form newsgroup)
4022 "/" gnus-kill-file-name)
4023 gnus-kill-files-directory))))
4027 (defun gnus-member-of-valid (symbol group)
4030 (symbol-name (car (gnus-find-method-for-group group)))
4031 gnus-valid-select-methods)))
4033 (defun gnus-method-option-p (method option)
4036 (setq method (gnus-server-to-method method)))
4038 gnus-valid-select-methods)))
4040 (defun gnus-similar-server-opened (method)
4041 (let ((opened gnus-opened-servers))
4050 (defun gnus-server-extend-method (group method)
4055 (if (or (not (inline (gnus-similar-server-opened method)))
4062 (defun gnus-server-status (method)
4064 (nth 1 (assoc method gnus-opened-servers)))
4066 (defun gnus-group-name-to-method (group)
4074 gnus-select-method))
4076 (defun gnus-server-string (server)
4078 (let* ((server (gnus-server-to-method server))
4085 (defun gnus-find-method-for-group (group &optional info)
4087 (or gnus-override-method
4089 gnus-select-method)
4090 (and (not (gnus-group-entry group))
4094 (gnus-server-to-method (gnus-group-server group))
4096 (gnus-group-name-to-method group)))
4097 (let ((info (or info (gnus-get-info group)))
4100 (not (setq method (gnus-info-method info)))
4102 gnus-select-method
4105 (inline (gnus-server-to-method method)))
4107 (inline (gnus-server-extend-method group method)))
4115 (gnus-server-add-address method)))))))
4117 (defun gnus-methods-using (feature)
4119 (let ((valids gnus-valid-select-methods)
4130 (defun gnus-read-group (prompt &optional default)
4137 gnus-invalid-group-regexp
4140 'gnus-group-history)))
4152 You may customize the variable `gnus-invalid-group-regexp', which currently is
4153 set to \"" gnus-invalid-group-regexp
4159 (defun gnus-read-method (prompt)
4164 gnus-opened-servers))
4167 (dolist (method gnus-valid-select-methods)
4175 gnus-predefined-server-alist
4176 gnus-server-alist))
4180 nil t nil 'gnus-method-history)))
4183 (setq method gnus-select-method))
4184 ((assoc method gnus-valid-select-methods)
4186 (assoc method gnus-valid-select-methods))
4198 (defun gnus-agent-method-p (method)
4200 (or (eq (car gnus-agent-method-p-cache) method)
4201 (setq gnus-agent-method-p-cache
4205 (gnus-method-to-server method)) gnus-agent-covered-methods))))
4206 (cdr gnus-agent-method-p-cache))
4208 (defun gnus-online (method)
4210 (if gnus-plugged
4211 (eq (cadr (assoc method gnus-opened-servers)) 'offline)
4212 (gnus-agent-method-p method))))
4217 (defun gnus-slave-no-server (&optional arg)
4220 (gnus-no-server arg t))
4223 (defun gnus-no-server (&optional arg slave)
4229 As opposed to `gnus', this command will not connect to the local
4232 (gnus-no-server-1 arg slave))
4235 (defun gnus-slave (&optional arg)
4238 (gnus arg nil 'slave))
4241 (defun gnus-other-frame (&optional arg display)
4244 option `gnus-other-frame-function' (default `gnus') with the argument
4253 (setq display (gnus-frame-or-window-display-name (selected-frame))))
4255 (let ((alive (gnus-alive-p)))
4262 (gnus-frame-or-window-display-name
4265 (string-match "\\`gnus-"
4267 (gnus-select-frame-set-input-focus
4268 (setq gnus-other-frame-object (window-frame window)))
4272 (gnus-select-frame-set-input-focus
4273 (setq gnus-other-frame-object
4275 (make-frame-on-display display gnus-other-frame-parameters)
4276 (make-frame gnus-other-frame-parameters))))
4278 (switch-to-buffer gnus-group-buffer)
4279 (funcall gnus-other-frame-function arg)
4280 (add-hook 'gnus-exit-gnus-hook
4282 (when (and (frame-live-p gnus-other-frame-object)
4284 (delete-frame gnus-other-frame-object))
4285 (setq gnus-other-frame-object nil)))))))
4288 (defun gnus (&optional arg dont-connect slave)
4294 (unless (byte-code-function-p (symbol-function 'gnus))
4297 (gnus-1 arg dont-connect slave))
4301 (gnus-ems-redefine)
4303 (provide 'gnus)
4306 ;;; gnus.el ends here