comparison lisp/gnus/gnus.el @ 91085:880960b70474

Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-283
author Miles Bader <miles@gnu.org>
date Sun, 11 Nov 2007 00:56:44 +0000
parents 4bc33ffdda1a ff86fe6b4194
children 53108e6cea98
comparison
equal deleted inserted replaced
91084:a4347a111894 91085:880960b70474
287 (defgroup gnus-fun nil 287 (defgroup gnus-fun nil
288 "Frivolous Gnus extensions." 288 "Frivolous Gnus extensions."
289 :link '(custom-manual "(gnus)Exiting Gnus") 289 :link '(custom-manual "(gnus)Exiting Gnus")
290 :group 'gnus) 290 :group 'gnus)
291 291
292 (defconst gnus-version-number "5.11" 292 (defconst gnus-version-number "5.13"
293 "Version number for this version of Gnus.") 293 "Version number for this version of Gnus.")
294 294
295 (defconst gnus-version (format "Gnus v%s" gnus-version-number) 295 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
296 "Version string for this version of Gnus.") 296 "Version string for this version of Gnus.")
297 297
307 :group 'gnus-start 307 :group 'gnus-start
308 :type 'boolean) 308 :type 'boolean)
309 309
310 (unless (fboundp 'gnus-group-remove-excess-properties) 310 (unless (fboundp 'gnus-group-remove-excess-properties)
311 (defalias 'gnus-group-remove-excess-properties 'ignore)) 311 (defalias 'gnus-group-remove-excess-properties 'ignore))
312
313 (unless (fboundp 'gnus-set-text-properties)
314 (defalias 'gnus-set-text-properties 'set-text-properties))
315 312
316 (unless (featurep 'gnus-xmas) 313 (unless (featurep 'gnus-xmas)
317 (defalias 'gnus-make-overlay 'make-overlay) 314 (defalias 'gnus-make-overlay 'make-overlay)
318 (defalias 'gnus-delete-overlay 'delete-overlay) 315 (defalias 'gnus-delete-overlay 'delete-overlay)
319 (defalias 'gnus-overlay-put 'overlay-put) 316 (defalias 'gnus-overlay-put 'overlay-put)
321 (defalias 'gnus-overlay-buffer 'overlay-buffer) 318 (defalias 'gnus-overlay-buffer 'overlay-buffer)
322 (defalias 'gnus-overlay-start 'overlay-start) 319 (defalias 'gnus-overlay-start 'overlay-start)
323 (defalias 'gnus-overlay-end 'overlay-end) 320 (defalias 'gnus-overlay-end 'overlay-end)
324 (defalias 'gnus-extent-detached-p 'ignore) 321 (defalias 'gnus-extent-detached-p 'ignore)
325 (defalias 'gnus-extent-start-open 'ignore) 322 (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) 323 (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
328 (defalias 'gnus-character-to-event 'identity) 324 (defalias 'gnus-character-to-event 'identity)
329 (defalias 'gnus-assq-delete-all 'assq-delete-all) 325 (defalias 'gnus-assq-delete-all 'assq-delete-all)
330 (defalias 'gnus-add-text-properties 'add-text-properties) 326 (defalias 'gnus-add-text-properties 'add-text-properties)
331 (defalias 'gnus-put-text-property 'put-text-property) 327 (defalias 'gnus-put-text-property 'put-text-property)
561 (put 'gnus-group-news-low-empty-face 'face-alias 'gnus-group-news-low-empty) 557 (put 'gnus-group-news-low-empty-face 'face-alias 'gnus-group-news-low-empty)
562 558
563 (defface gnus-group-mail-1 559 (defface gnus-group-mail-1
564 '((((class color) 560 '((((class color)
565 (background dark)) 561 (background dark))
566 (:foreground "aquamarine1" :bold t)) 562 (:foreground "#e1ffe1" :bold t))
567 (((class color) 563 (((class color)
568 (background light)) 564 (background light))
569 (:foreground "DeepPink3" :bold t)) 565 (:foreground "DeepPink3" :bold t))
570 (t 566 (t
571 (:bold t))) 567 (:bold t)))
575 (put 'gnus-group-mail-1-face 'face-alias 'gnus-group-mail-1) 571 (put 'gnus-group-mail-1-face 'face-alias 'gnus-group-mail-1)
576 572
577 (defface gnus-group-mail-1-empty 573 (defface gnus-group-mail-1-empty
578 '((((class color) 574 '((((class color)
579 (background dark)) 575 (background dark))
580 (:foreground "aquamarine1")) 576 (:foreground "#e1ffe1"))
581 (((class color) 577 (((class color)
582 (background light)) 578 (background light))
583 (:foreground "DeepPink3")) 579 (:foreground "DeepPink3"))
584 (t 580 (t
585 (:italic t :bold t))) 581 (:italic t :bold t)))
589 (put 'gnus-group-mail-1-empty-face 'face-alias 'gnus-group-mail-1-empty) 585 (put 'gnus-group-mail-1-empty-face 'face-alias 'gnus-group-mail-1-empty)
590 586
591 (defface gnus-group-mail-2 587 (defface gnus-group-mail-2
592 '((((class color) 588 '((((class color)
593 (background dark)) 589 (background dark))
594 (:foreground "aquamarine2" :bold t)) 590 (:foreground "DarkSeaGreen1" :bold t))
595 (((class color) 591 (((class color)
596 (background light)) 592 (background light))
597 (:foreground "HotPink3" :bold t)) 593 (:foreground "HotPink3" :bold t))
598 (t 594 (t
599 (:bold t))) 595 (:bold t)))
603 (put 'gnus-group-mail-2-face 'face-alias 'gnus-group-mail-2) 599 (put 'gnus-group-mail-2-face 'face-alias 'gnus-group-mail-2)
604 600
605 (defface gnus-group-mail-2-empty 601 (defface gnus-group-mail-2-empty
606 '((((class color) 602 '((((class color)
607 (background dark)) 603 (background dark))
608 (:foreground "aquamarine2")) 604 (:foreground "DarkSeaGreen1"))
609 (((class color) 605 (((class color)
610 (background light)) 606 (background light))
611 (:foreground "HotPink3")) 607 (:foreground "HotPink3"))
612 (t 608 (t
613 (:bold t))) 609 (:bold t)))
617 (put 'gnus-group-mail-2-empty-face 'face-alias 'gnus-group-mail-2-empty) 613 (put 'gnus-group-mail-2-empty-face 'face-alias 'gnus-group-mail-2-empty)
618 614
619 (defface gnus-group-mail-3 615 (defface gnus-group-mail-3
620 '((((class color) 616 '((((class color)
621 (background dark)) 617 (background dark))
622 (:foreground "aquamarine3" :bold t)) 618 (:foreground "aquamarine1" :bold t))
623 (((class color) 619 (((class color)
624 (background light)) 620 (background light))
625 (:foreground "magenta4" :bold t)) 621 (:foreground "magenta4" :bold t))
626 (t 622 (t
627 (:bold t))) 623 (:bold t)))
631 (put 'gnus-group-mail-3-face 'face-alias 'gnus-group-mail-3) 627 (put 'gnus-group-mail-3-face 'face-alias 'gnus-group-mail-3)
632 628
633 (defface gnus-group-mail-3-empty 629 (defface gnus-group-mail-3-empty
634 '((((class color) 630 '((((class color)
635 (background dark)) 631 (background dark))
636 (:foreground "aquamarine3")) 632 (:foreground "aquamarine1"))
637 (((class color) 633 (((class color)
638 (background light)) 634 (background light))
639 (:foreground "magenta4")) 635 (:foreground "magenta4"))
640 (t 636 (t
641 ())) 637 ()))
645 (put 'gnus-group-mail-3-empty-face 'face-alias 'gnus-group-mail-3-empty) 641 (put 'gnus-group-mail-3-empty-face 'face-alias 'gnus-group-mail-3-empty)
646 642
647 (defface gnus-group-mail-low 643 (defface gnus-group-mail-low
648 '((((class color) 644 '((((class color)
649 (background dark)) 645 (background dark))
650 (:foreground "aquamarine4" :bold t)) 646 (:foreground "aquamarine2" :bold t))
651 (((class color) 647 (((class color)
652 (background light)) 648 (background light))
653 (:foreground "DeepPink4" :bold t)) 649 (:foreground "DeepPink4" :bold t))
654 (t 650 (t
655 (:bold t))) 651 (:bold t)))
659 (put 'gnus-group-mail-low-face 'face-alias 'gnus-group-mail-low) 655 (put 'gnus-group-mail-low-face 'face-alias 'gnus-group-mail-low)
660 656
661 (defface gnus-group-mail-low-empty 657 (defface gnus-group-mail-low-empty
662 '((((class color) 658 '((((class color)
663 (background dark)) 659 (background dark))
664 (:foreground "aquamarine4")) 660 (:foreground "aquamarine2"))
665 (((class color) 661 (((class color)
666 (background light)) 662 (background light))
667 (:foreground "DeepPink4")) 663 (:foreground "DeepPink4"))
668 (t 664 (t
669 (:bold t))) 665 (:bold t)))
921 (autoload 'gnus-play-jingle "gnus-audio")) 917 (autoload 'gnus-play-jingle "gnus-audio"))
922 918
923 (defface gnus-splash 919 (defface gnus-splash
924 '((((class color) 920 '((((class color)
925 (background dark)) 921 (background dark))
926 (:foreground "#888888")) 922 (:foreground "#cccccc"))
927 (((class color) 923 (((class color)
928 (background light)) 924 (background light))
929 (:foreground "#888888")) 925 (:foreground "#888888"))
930 (t 926 (t
931 ())) 927 ()))
976 (dino "#724214" "#1e3f03") 972 (dino "#724214" "#1e3f03")
977 (oort "#cccccc" "#888888") 973 (oort "#cccccc" "#888888")
978 (storm "#666699" "#99ccff") 974 (storm "#666699" "#99ccff")
979 (pdino "#9999cc" "#99ccff") 975 (pdino "#9999cc" "#99ccff")
980 (purp "#9999cc" "#666699") 976 (purp "#9999cc" "#666699")
981 (no "#000000" "#ff0000") 977 (no "#ff0000" "#ffff00")
982 (neutral "#b4b4b4" "#878787") 978 (neutral "#b4b4b4" "#878787")
983 (september "#bf9900" "#ffcc00")) 979 (september "#bf9900" "#ffcc00"))
984 "Color alist used for the Gnus logo.") 980 "Color alist used for the Gnus logo.")
985 981
986 (defcustom gnus-logo-color-style 'oort 982 (defcustom gnus-logo-color-style 'no
987 "*Color styles used for the Gnus logo." 983 "*Color styles used for the Gnus logo."
988 :type `(choice ,@(mapcar (lambda (elem) (list 'const (car elem))) 984 :type `(choice ,@(mapcar (lambda (elem) (list 'const (car elem)))
989 gnus-logo-color-alist)) 985 gnus-logo-color-alist))
990 :group 'gnus-xmas) 986 :group 'gnus-xmas)
991 987
1032 (setq gnus-simple-splash nil) 1028 (setq gnus-simple-splash nil)
1033 t)))) 1029 t))))
1034 (t 1030 (t
1035 (insert 1031 (insert
1036 (format " %s 1032 (format " %s
1037 _ ___ _ _ 1033 _ ___ _ _
1038 _ ___ __ ___ __ _ ___ 1034 _ ___ __ ___ __ _ ___
1039 __ _ ___ __ ___ 1035 __ _ ___ __ ___
1040 _ ___ _ 1036 _ ___ _
1041 _ _ __ _ 1037 _ _ __ _
1042 ___ __ _ 1038 ___ __ _
1043 __ _ 1039 __ _
1044 _ _ _ 1040 _ _ _
1045 _ _ _ 1041 _ _ _
1046 _ _ _ 1042 _ _ _
1047 __ ___ 1043 __ ___
1048 _ _ _ _ 1044 _ _ _ _
1049 _ _ 1045 _ _
1050 _ _ 1046 _ _
1051 _ _ 1047 _ _
1052 _ 1048 _
1053 __ 1049 __
1054 1050
1055 " 1051 "
1056 "")) 1052 ""))
1057 ;; And then hack it. 1053 ;; And then hack it.
1058 (gnus-indent-rigidly (point-min) (point-max) 1054 (gnus-indent-rigidly (point-min) (point-max)
1292 :initialize 'custom-initialize-default 1288 :initialize 'custom-initialize-default
1293 :type 'gnus-select-method) 1289 :type 'gnus-select-method)
1294 1290
1295 (defcustom gnus-message-archive-method "archive" 1291 (defcustom gnus-message-archive-method "archive"
1296 "*Method used for archiving messages you've sent. 1292 "*Method used for archiving messages you've sent.
1297 This should be a mail method." 1293 This should be a mail method.
1294
1295 See also `gnus-update-message-archive-method'."
1298 :group 'gnus-server 1296 :group 'gnus-server
1299 :group 'gnus-message 1297 :group 'gnus-message
1300 :type '(choice (const :tag "Default archive method" "archive") 1298 :type '(choice (const :tag "Default archive method" "archive")
1301 gnus-select-method)) 1299 gnus-select-method))
1300
1301 (defcustom gnus-update-message-archive-method nil
1302 "Non-nil means always update the saved \"archive\" method.
1303
1304 The archive method is initially set according to the value of
1305 `gnus-message-archive-method' and is saved in the \"~/.newsrc.eld\" file
1306 so that it may be used as a real method of the server which is named
1307 \"archive\" ever since. If it once has been saved, it will never be
1308 updated if the value of this variable is nil, even if you change the
1309 value of `gnus-message-archive-method' afterward. If you want the
1310 saved \"archive\" method to be updated whenever you change the value of
1311 `gnus-message-archive-method', set this variable to a non-nil value."
1312 :version "23.0" ;; No Gnus
1313 :group 'gnus-server
1314 :group 'gnus-message
1315 :type 'boolean)
1302 1316
1303 (defcustom gnus-message-archive-group nil 1317 (defcustom gnus-message-archive-group nil
1304 "*Name of the group in which to save the messages you've written. 1318 "*Name of the group in which to save the messages you've written.
1305 This can either be a string; a list of strings; or an alist 1319 This can either be a string; a list of strings; or an alist
1306 of regexps/functions/forms to be evaluated to return a string (or a list 1320 of regexps/functions/forms to be evaluated to return a string (or a list
1464 "*An alist of (HIERARCHY . FORM) pairs used to construct the URL of a charter. 1478 "*An alist of (HIERARCHY . FORM) pairs used to construct the URL of a charter.
1465 When FORM is evaluated `name' is bound to the name of the group." 1479 When FORM is evaluated `name' is bound to the name of the group."
1466 :version "22.1" 1480 :version "22.1"
1467 :group 'gnus-group-various 1481 :group 'gnus-group-various
1468 :type '(repeat (cons (string :tag "Hierarchy") (sexp :tag "Form")))) 1482 :type '(repeat (cons (string :tag "Hierarchy") (sexp :tag "Form"))))
1483 (put 'gnus-group-charter-alist 'risky-local-variable t)
1469 1484
1470 (defcustom gnus-group-fetch-control-use-browse-url nil 1485 (defcustom gnus-group-fetch-control-use-browse-url nil
1471 "*Non-nil means that control messages are displayed using `browse-url'. 1486 "*Non-nil means that control messages are displayed using `browse-url'.
1472 Otherwise they are fetched with ange-ftp and displayed in an ephemeral 1487 Otherwise they are fetched with ange-ftp and displayed in an ephemeral
1473 group." 1488 group."
1561 (const :tag "passive" passive) 1576 (const :tag "passive" passive)
1562 (const :tag "active" t))) 1577 (const :tag "active" t)))
1563 1578
1564 (defcustom gnus-use-trees nil 1579 (defcustom gnus-use-trees nil
1565 "*If non-nil, display a thread tree buffer." 1580 "*If non-nil, display a thread tree buffer."
1566 :group 'gnus-meta
1567 :type 'boolean)
1568
1569 (defcustom gnus-use-grouplens nil
1570 "*If non-nil, use GroupLens ratings."
1571 :group 'gnus-meta 1581 :group 'gnus-meta
1572 :type 'boolean) 1582 :type 'boolean)
1573 1583
1574 (defcustom gnus-keep-backlog 20 1584 (defcustom gnus-keep-backlog 20
1575 "*If non-nil, Gnus will keep read articles for later re-retrieval. 1585 "*If non-nil, Gnus will keep read articles for later re-retrieval.
2005 "The spam classification (spam, ham, or neither) of this group. 2015 "The spam classification (spam, ham, or neither) of this group.
2006 When a spam group is entered, all unread articles are marked as 2016 When a spam group is entered, all unread articles are marked as
2007 spam. There is other behavior associated with ham and no 2017 spam. There is other behavior associated with ham and no
2008 classification when spam.el is loaded - see the manual.") 2018 classification when spam.el is loaded - see the manual.")
2009 2019
2020 (gnus-define-group-parameter
2021 spam-resend-to
2022 :type list
2023 :function-document
2024 "The address to get spam resent (through spam-report-resend)."
2025 :variable gnus-spam-resend-to
2026 :variable-default nil
2027 :variable-document
2028 "The address to get spam resent (through spam-report-resend)."
2029 :variable-group spam
2030 :variable-type '(repeat
2031 (list :tag "Group address for resending spam"
2032 (regexp :tag "Group")
2033 (string :tag "E-mail address for resending spam (requires the spam-use-resend exit processor)")))
2034 :parameter-type 'string :tag "E-mail address for resending spam (requires the spam-use-resend exit processor)"
2035 :parameter-document
2036 "The address to get spam resent (through spam-report-resend).")
2037
2038 (gnus-define-group-parameter
2039 ham-resend-to
2040 :type list
2041 :function-document
2042 "The address to get ham resent (through spam-report-resend)."
2043 :variable gnus-ham-resend-to
2044 :variable-default nil
2045 :variable-document
2046 "The address to get ham resent (through spam-report-resend)."
2047 :variable-group spam
2048 :variable-type '(repeat
2049 (list :tag "Group address for resending ham"
2050 (regexp :tag "Group")
2051 (string :tag "E-mail address for resending ham (requires the spam-use-resend exit processor)")))
2052 :parameter-type 'string :tag "E-mail address for resending ham (requires the spam-use-resend exit processor)"
2053 :parameter-document
2054 "The address to get ham resent (through spam-report-resend).")
2055
2010 (defvar gnus-group-spam-exit-processor-ifile "ifile" 2056 (defvar gnus-group-spam-exit-processor-ifile "ifile"
2011 "OBSOLETE: The ifile summary exit spam processor.") 2057 "OBSOLETE: The ifile summary exit spam processor.")
2012 2058
2013 (defvar gnus-group-spam-exit-processor-stat "stat" 2059 (defvar gnus-group-spam-exit-processor-stat "stat"
2014 "OBSOLETE: The spam-stat summary exit spam processor.") 2060 "OBSOLETE: The spam-stat summary exit spam processor.")
2061 '(choice 2107 '(choice
2062 :tag "Spam Summary Exit Processor" 2108 :tag "Spam Summary Exit Processor"
2063 :value nil 2109 :value nil
2064 (list :tag "Spam Summary Exit Processor Choices" 2110 (list :tag "Spam Summary Exit Processor Choices"
2065 (set 2111 (set
2112 (const :tag "Spam: Bogofilter" (spam spam-use-bogofilter))
2113 (const :tag "Spam: Blacklist" (spam spam-use-blacklist))
2114 (const :tag "Spam: Bsfilter" (spam spam-use-bsfilter))
2115 (const :tag "Spam: Gmane Report" (spam spam-use-gmane))
2116 (const :tag "Spam: Resend Message"(spam spam-use-resend))
2117 (const :tag "Spam: ifile" (spam spam-use-ifile))
2118 (const :tag "Spam: Spam Oracle" (spam spam-use-spamoracle))
2119 (const :tag "Spam: Spam-stat" (spam spam-use-stat))
2120 (const :tag "Spam: SpamAssassin" (spam spam-use-spamassassin))
2121 (const :tag "Spam: CRM114" (spam spam-use-crm114))
2122 (const :tag "Ham: BBDB" (ham spam-use-BBDB))
2123 (const :tag "Ham: Bogofilter" (ham spam-use-bogofilter))
2124 (const :tag "Ham: Bsfilter" (ham spam-use-bsfilter))
2125 (const :tag "Ham: Copy" (ham spam-use-ham-copy))
2126 (const :tag "Ham: Resend Message" (ham spam-use-resend))
2127 (const :tag "Ham: ifile" (ham spam-use-ifile))
2128 (const :tag "Ham: Spam Oracle" (ham spam-use-spamoracle))
2129 (const :tag "Ham: Spam-stat" (ham spam-use-stat))
2130 (const :tag "Ham: SpamAssassin" (ham spam-use-spamassassin))
2131 (const :tag "Ham: CRM114" (ham spam-use-crm114))
2132 (const :tag "Ham: Whitelist" (ham spam-use-whitelist))
2066 (variable-item gnus-group-spam-exit-processor-ifile) 2133 (variable-item gnus-group-spam-exit-processor-ifile)
2067 (variable-item gnus-group-spam-exit-processor-stat) 2134 (variable-item gnus-group-spam-exit-processor-stat)
2068 (variable-item gnus-group-spam-exit-processor-bogofilter) 2135 (variable-item gnus-group-spam-exit-processor-bogofilter)
2069 (variable-item gnus-group-spam-exit-processor-blacklist) 2136 (variable-item gnus-group-spam-exit-processor-blacklist)
2070 (variable-item gnus-group-spam-exit-processor-spamoracle) 2137 (variable-item gnus-group-spam-exit-processor-spamoracle)
2073 (variable-item gnus-group-ham-exit-processor-ifile) 2140 (variable-item gnus-group-ham-exit-processor-ifile)
2074 (variable-item gnus-group-ham-exit-processor-stat) 2141 (variable-item gnus-group-ham-exit-processor-stat)
2075 (variable-item gnus-group-ham-exit-processor-whitelist) 2142 (variable-item gnus-group-ham-exit-processor-whitelist)
2076 (variable-item gnus-group-ham-exit-processor-BBDB) 2143 (variable-item gnus-group-ham-exit-processor-BBDB)
2077 (variable-item gnus-group-ham-exit-processor-spamoracle) 2144 (variable-item gnus-group-ham-exit-processor-spamoracle)
2078 (variable-item gnus-group-ham-exit-processor-copy) 2145 (variable-item gnus-group-ham-exit-processor-copy))))
2079 (const :tag "Spam: Gmane Report" (spam spam-use-gmane))
2080 (const :tag "Spam: Bogofilter" (spam spam-use-bogofilter))
2081 (const :tag "Spam: Blacklist" (spam spam-use-blacklist))
2082 (const :tag "Spam: ifile" (spam spam-use-ifile))
2083 (const :tag "Spam: Spam-stat" (spam spam-use-stat))
2084 (const :tag "Spam: Spam Oracle" (spam spam-use-spamoracle))
2085 (const :tag "Ham: ifile" (ham spam-use-ifile))
2086 (const :tag "Ham: Bogofilter" (ham spam-use-bogofilter))
2087 (const :tag "Ham: Spam-stat" (ham spam-use-stat))
2088 (const :tag "Ham: Whitelist" (ham spam-use-whitelist))
2089 (const :tag "Ham: BBDB" (ham spam-use-BBDB))
2090 (const :tag "Ham: Copy" (ham spam-use-ham-copy))
2091 (const :tag "Ham: Spam Oracle" (ham spam-use-spamoracle)))))
2092 :function-document 2146 :function-document
2093 "Which spam or ham processors will be applied when the summary is exited." 2147 "Which spam or ham processors will be applied when the summary is exited."
2094 :variable gnus-spam-process-newsgroups 2148 :variable gnus-spam-process-newsgroups
2095 :variable-default nil 2149 :variable-default nil
2096 :variable-document 2150 :variable-document
2103 '(repeat :tag "Spam/Ham Processors" 2157 '(repeat :tag "Spam/Ham Processors"
2104 (list :tag "Spam Summary Exit Processor Choices" 2158 (list :tag "Spam Summary Exit Processor Choices"
2105 (regexp :tag "Group Regexp") 2159 (regexp :tag "Group Regexp")
2106 (set 2160 (set
2107 :tag "Spam/Ham Summary Exit Processor" 2161 :tag "Spam/Ham Summary Exit Processor"
2162 (const :tag "Spam: Bogofilter" (spam spam-use-bogofilter))
2163 (const :tag "Spam: Blacklist" (spam spam-use-blacklist))
2164 (const :tag "Spam: Bsfilter" (spam spam-use-bsfilter))
2165 (const :tag "Spam: Gmane Report" (spam spam-use-gmane))
2166 (const :tag "Spam: Resend Message"(spam spam-use-resend))
2167 (const :tag "Spam: ifile" (spam spam-use-ifile))
2168 (const :tag "Spam: Spam-stat" (spam spam-use-stat))
2169 (const :tag "Spam: Spam Oracle" (spam spam-use-spamoracle))
2170 (const :tag "Spam: SpamAssassin" (spam spam-use-spamassassin))
2171 (const :tag "Spam: CRM114" (spam spam-use-crm114))
2172 (const :tag "Ham: BBDB" (ham spam-use-BBDB))
2173 (const :tag "Ham: Bogofilter" (ham spam-use-bogofilter))
2174 (const :tag "Ham: Bsfilter" (ham spam-use-bsfilter))
2175 (const :tag "Ham: Copy" (ham spam-use-ham-copy))
2176 (const :tag "Ham: Resend Message" (ham spam-use-resend))
2177 (const :tag "Ham: ifile" (ham spam-use-ifile))
2178 (const :tag "Ham: Spam-stat" (ham spam-use-stat))
2179 (const :tag "Ham: Spam Oracle" (ham spam-use-spamoracle))
2180 (const :tag "Ham: SpamAssassin" (ham spam-use-spamassassin))
2181 (const :tag "Ham: CRM114" (ham spam-use-crm114))
2182 (const :tag "Ham: Whitelist" (ham spam-use-whitelist))
2108 (variable-item gnus-group-spam-exit-processor-ifile) 2183 (variable-item gnus-group-spam-exit-processor-ifile)
2109 (variable-item gnus-group-spam-exit-processor-stat) 2184 (variable-item gnus-group-spam-exit-processor-stat)
2110 (variable-item gnus-group-spam-exit-processor-bogofilter) 2185 (variable-item gnus-group-spam-exit-processor-bogofilter)
2111 (variable-item gnus-group-spam-exit-processor-blacklist) 2186 (variable-item gnus-group-spam-exit-processor-blacklist)
2112 (variable-item gnus-group-spam-exit-processor-spamoracle) 2187 (variable-item gnus-group-spam-exit-processor-spamoracle)
2115 (variable-item gnus-group-ham-exit-processor-ifile) 2190 (variable-item gnus-group-ham-exit-processor-ifile)
2116 (variable-item gnus-group-ham-exit-processor-stat) 2191 (variable-item gnus-group-ham-exit-processor-stat)
2117 (variable-item gnus-group-ham-exit-processor-whitelist) 2192 (variable-item gnus-group-ham-exit-processor-whitelist)
2118 (variable-item gnus-group-ham-exit-processor-BBDB) 2193 (variable-item gnus-group-ham-exit-processor-BBDB)
2119 (variable-item gnus-group-ham-exit-processor-spamoracle) 2194 (variable-item gnus-group-ham-exit-processor-spamoracle)
2120 (variable-item gnus-group-ham-exit-processor-copy) 2195 (variable-item gnus-group-ham-exit-processor-copy))))
2121 (const :tag "Spam: Gmane Report" (spam spam-use-gmane))
2122 (const :tag "Spam: Bogofilter" (spam spam-use-bogofilter))
2123 (const :tag "Spam: Blacklist" (spam spam-use-blacklist))
2124 (const :tag "Spam: ifile" (spam spam-use-ifile))
2125 (const :tag "Spam: Spam-stat" (spam spam-use-stat))
2126 (const :tag "Spam: Spam Oracle" (spam spam-use-spamoracle))
2127 (const :tag "Ham: ifile" (ham spam-use-ifile))
2128 (const :tag "Ham: Bogofilter" (ham spam-use-bogofilter))
2129 (const :tag "Ham: Spam-stat" (ham spam-use-stat))
2130 (const :tag "Ham: Whitelist" (ham spam-use-whitelist))
2131 (const :tag "Ham: BBDB" (ham spam-use-BBDB))
2132 (const :tag "Ham: Copy" (ham spam-use-ham-copy))
2133 (const :tag "Ham: Spam Oracle" (ham spam-use-spamoracle)))))
2134 2196
2135 :parameter-document 2197 :parameter-document
2136 "Which spam or ham processors will be applied when the summary is exited.") 2198 "Which spam or ham processors will be applied when the summary is exited.")
2137 2199
2138 (gnus-define-group-parameter 2200 (gnus-define-group-parameter
2167 '(choice :tag "Spam autodetection-specific methods" 2229 '(choice :tag "Spam autodetection-specific methods"
2168 (const none) 2230 (const none)
2169 (const default) 2231 (const default)
2170 (set :tag "Use specific methods" 2232 (set :tag "Use specific methods"
2171 (variable-item spam-use-blacklist) 2233 (variable-item spam-use-blacklist)
2234 (variable-item spam-use-gmane-xref)
2172 (variable-item spam-use-regex-headers) 2235 (variable-item spam-use-regex-headers)
2173 (variable-item spam-use-regex-body) 2236 (variable-item spam-use-regex-body)
2174 (variable-item spam-use-whitelist) 2237 (variable-item spam-use-whitelist)
2175 (variable-item spam-use-BBDB) 2238 (variable-item spam-use-BBDB)
2176 (variable-item spam-use-ifile) 2239 (variable-item spam-use-ifile)
2177 (variable-item spam-use-spamoracle) 2240 (variable-item spam-use-spamoracle)
2241 (variable-item spam-use-crm114)
2242 (variable-item spam-use-spamassassin)
2243 (variable-item spam-use-spamassassin-headers)
2244 (variable-item spam-use-bsfilter)
2245 (variable-item spam-use-bsfilter-headers)
2178 (variable-item spam-use-stat) 2246 (variable-item spam-use-stat)
2179 (variable-item spam-use-blackholes) 2247 (variable-item spam-use-blackholes)
2180 (variable-item spam-use-hashcash) 2248 (variable-item spam-use-hashcash)
2181 (variable-item spam-use-bogofilter-headers) 2249 (variable-item spam-use-bogofilter-headers)
2182 (variable-item spam-use-bogofilter))) 2250 (variable-item spam-use-bogofilter)))
2198 (choice 2266 (choice
2199 (const none) 2267 (const none)
2200 (const default) 2268 (const default)
2201 (set :tag "Use specific methods" 2269 (set :tag "Use specific methods"
2202 (variable-item spam-use-blacklist) 2270 (variable-item spam-use-blacklist)
2271 (variable-item spam-use-gmane-xref)
2203 (variable-item spam-use-regex-headers) 2272 (variable-item spam-use-regex-headers)
2204 (variable-item spam-use-regex-body) 2273 (variable-item spam-use-regex-body)
2205 (variable-item spam-use-whitelist) 2274 (variable-item spam-use-whitelist)
2206 (variable-item spam-use-BBDB) 2275 (variable-item spam-use-BBDB)
2207 (variable-item spam-use-ifile) 2276 (variable-item spam-use-ifile)
2208 (variable-item spam-use-spamoracle) 2277 (variable-item spam-use-spamoracle)
2278 (variable-item spam-use-crm114)
2209 (variable-item spam-use-stat) 2279 (variable-item spam-use-stat)
2210 (variable-item spam-use-blackholes) 2280 (variable-item spam-use-blackholes)
2211 (variable-item spam-use-hashcash) 2281 (variable-item spam-use-hashcash)
2282 (variable-item spam-use-spamassassin)
2283 (variable-item spam-use-spamassassin-headers)
2284 (variable-item spam-use-bsfilter)
2285 (variable-item spam-use-bsfilter-headers)
2212 (variable-item spam-use-bogofilter-headers) 2286 (variable-item spam-use-bogofilter-headers)
2213 (variable-item spam-use-bogofilter))))) 2287 (variable-item spam-use-bogofilter)))))
2214 :parameter-document 2288 :parameter-document
2215 "Spam autodetection methods. 2289 "Spam autodetection methods.
2216 Requires the spam-autodetect parameter. Only unseen articles 2290 Requires the spam-autodetect parameter. Only unseen articles
2385 '(summary-highlight group-highlight article-highlight 2459 '(summary-highlight group-highlight article-highlight
2386 mouse-face 2460 mouse-face
2387 summary-menu group-menu article-menu 2461 summary-menu group-menu article-menu
2388 tree-highlight menu highlight 2462 tree-highlight menu highlight
2389 browse-menu server-menu 2463 browse-menu server-menu
2390 page-marker tree-menu binary-menu pick-menu 2464 page-marker tree-menu binary-menu pick-menu)
2391 grouplens-menu)
2392 "*Enable visual features. 2465 "*Enable visual features.
2393 If `visual' is disabled, there will be no menus and few faces. Most of 2466 If `visual' is disabled, there will be no menus and few faces. Most of
2394 the visual customization options below will be ignored. Gnus will use 2467 the visual customization options below will be ignored. Gnus will use
2395 less space and be faster as a result. 2468 less space and be faster as a result.
2396 2469
2400 (setq gnus-visual '(menu)) 2473 (setq gnus-visual '(menu))
2401 2474
2402 Valid elements include `summary-highlight', `group-highlight', 2475 Valid elements include `summary-highlight', `group-highlight',
2403 `article-highlight', `mouse-face', `summary-menu', `group-menu', 2476 `article-highlight', `mouse-face', `summary-menu', `group-menu',
2404 `article-menu', `tree-highlight', `menu', `highlight', `browse-menu', 2477 `article-menu', `tree-highlight', `menu', `highlight', `browse-menu',
2405 `server-menu', `page-marker', `tree-menu', `binary-menu', `pick-menu', 2478 `server-menu', `page-marker', `tree-menu', `binary-menu', and`pick-menu'."
2406 and `grouplens-menu'."
2407 :group 'gnus-meta 2479 :group 'gnus-meta
2408 :group 'gnus-visual 2480 :group 'gnus-visual
2409 :type '(set (const summary-highlight) 2481 :type '(set (const summary-highlight)
2410 (const group-highlight) 2482 (const group-highlight)
2411 (const article-highlight) 2483 (const article-highlight)
2419 (const browse-menu) 2491 (const browse-menu)
2420 (const server-menu) 2492 (const server-menu)
2421 (const page-marker) 2493 (const page-marker)
2422 (const tree-menu) 2494 (const tree-menu)
2423 (const binary-menu) 2495 (const binary-menu)
2424 (const pick-menu) 2496 (const pick-menu)))
2425 (const grouplens-menu)))
2426 2497
2427 ;; Byte-compiler warning. 2498 ;; Byte-compiler warning.
2428 (defvar gnus-visual) 2499 (defvar gnus-visual)
2429 ;; Find out whether the gnus-visual TYPE is wanted. 2500 ;; Find out whether the gnus-visual TYPE is wanted.
2430 (defun gnus-visual-p (&optional type class) 2501 (defun gnus-visual-p (&optional type class)
2525 (const type :tag "system type") 2596 (const type :tag "system type")
2526 (const config :tag "system configuration")) 2597 (const config :tag "system configuration"))
2527 (const codename :tag "Emacs codename"))) 2598 (const codename :tag "Emacs codename")))
2528 (string))) 2599 (string)))
2529 2600
2530 ;; Convert old (No Gnus < 2005-01-10, v5-10 < 2005-09-05) symbol type values: 2601 ;; Convert old (< 2005-01-10) symbol type values:
2531 (when (symbolp gnus-user-agent) 2602 (when (symbolp gnus-user-agent)
2532 (setq gnus-user-agent 2603 (setq gnus-user-agent
2533 (cond ((eq gnus-user-agent 'emacs-gnus-config) 2604 (cond ((eq gnus-user-agent 'emacs-gnus-config)
2534 '(emacs gnus config)) 2605 '(emacs gnus config))
2535 ((eq gnus-user-agent 'emacs-gnus-type) 2606 ((eq gnus-user-agent 'emacs-gnus-type)
2640 \(which doesn't make sense in a standalone back end).") 2711 \(which doesn't make sense in a standalone back end).")
2641 2712
2642 (defvar gnus-headers-retrieved-by nil) 2713 (defvar gnus-headers-retrieved-by nil)
2643 (defvar gnus-article-reply nil) 2714 (defvar gnus-article-reply nil)
2644 (defvar gnus-override-method nil) 2715 (defvar gnus-override-method nil)
2645 (defvar gnus-article-check-size nil)
2646 (defvar gnus-opened-servers nil) 2716 (defvar gnus-opened-servers nil)
2647 2717
2648 (defvar gnus-current-kill-article nil) 2718 (defvar gnus-current-kill-article nil)
2649 2719
2650 (defvar gnus-have-read-active-file nil) 2720 (defvar gnus-have-read-active-file nil)
2735 ;; Define some autoload functions Gnus might use. 2805 ;; Define some autoload functions Gnus might use.
2736 (eval-and-compile 2806 (eval-and-compile
2737 2807
2738 ;; This little mapcar goes through the list below and marks the 2808 ;; This little mapcar goes through the list below and marks the
2739 ;; symbols in question as autoloaded functions. 2809 ;; symbols in question as autoloaded functions.
2740 (mapcar 2810 (mapc
2741 (lambda (package) 2811 (lambda (package)
2742 (let ((interactive (nth 1 (memq ':interactive package)))) 2812 (let ((interactive (nth 1 (memq ':interactive package))))
2743 (mapcar 2813 (mapcar
2744 (lambda (function) 2814 (lambda (function)
2745 (let (keymap) 2815 (let (keymap)
2834 gnus-uu-decode-unshar-and-save gnus-uu-decode-save 2904 gnus-uu-decode-unshar-and-save gnus-uu-decode-save
2835 gnus-uu-decode-binhex gnus-uu-decode-uu-view 2905 gnus-uu-decode-binhex gnus-uu-decode-uu-view
2836 gnus-uu-decode-uu-and-save-view gnus-uu-decode-unshar-view 2906 gnus-uu-decode-uu-and-save-view gnus-uu-decode-unshar-view
2837 gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view 2907 gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view
2838 gnus-uu-decode-binhex-view gnus-uu-unmark-thread 2908 gnus-uu-decode-binhex-view gnus-uu-unmark-thread
2839 gnus-uu-mark-over gnus-uu-post-news) 2909 gnus-uu-mark-over gnus-uu-post-news gnus-uu-invert-processable)
2840 ("gnus-uu" gnus-uu-delete-work-dir gnus-uu-unmark-thread) 2910 ("gnus-uu" gnus-uu-delete-work-dir gnus-uu-unmark-thread)
2841 ("gnus-msg" (gnus-summary-send-map keymap) 2911 ("gnus-msg" (gnus-summary-send-map keymap)
2842 gnus-article-mail gnus-copy-article-buffer gnus-extended-version) 2912 gnus-article-mail gnus-copy-article-buffer gnus-extended-version)
2843 ("gnus-msg" :interactive t 2913 ("gnus-msg" :interactive t
2844 gnus-group-post-news gnus-group-mail gnus-group-news 2914 gnus-group-post-news gnus-group-mail gnus-group-news
2852 gnus-summary-followup-to-mail-with-original gnus-bug 2922 gnus-summary-followup-to-mail-with-original gnus-bug
2853 gnus-summary-wide-reply-with-original 2923 gnus-summary-wide-reply-with-original
2854 gnus-summary-post-forward gnus-summary-wide-reply-with-original 2924 gnus-summary-post-forward gnus-summary-wide-reply-with-original
2855 gnus-summary-post-forward) 2925 gnus-summary-post-forward)
2856 ("gnus-picon" :interactive t gnus-treat-from-picon) 2926 ("gnus-picon" :interactive t gnus-treat-from-picon)
2857 ("gnus-gl" bbb-login bbb-logout bbb-grouplens-group-p
2858 gnus-grouplens-mode)
2859 ("smiley" :interactive t smiley-region) 2927 ("smiley" :interactive t smiley-region)
2860 ("gnus-win" gnus-configure-windows gnus-add-configuration) 2928 ("gnus-win" gnus-configure-windows gnus-add-configuration)
2861 ("gnus-sum" gnus-summary-insert-line gnus-summary-read-group 2929 ("gnus-sum" gnus-summary-insert-line gnus-summary-read-group
2862 gnus-list-of-unread-articles gnus-list-of-read-articles 2930 gnus-list-of-unread-articles gnus-list-of-read-articles
2863 gnus-offer-save-summaries gnus-make-thread-indent-array 2931 gnus-offer-save-summaries gnus-make-thread-indent-array
2888 gnus-article-wash-html 2956 gnus-article-wash-html
2889 gnus-article-unsplit-urls 2957 gnus-article-unsplit-urls
2890 gnus-article-hide-pem gnus-article-hide-signature 2958 gnus-article-hide-pem gnus-article-hide-signature
2891 gnus-article-strip-leading-blank-lines gnus-article-date-local 2959 gnus-article-strip-leading-blank-lines gnus-article-date-local
2892 gnus-article-date-original gnus-article-date-lapsed 2960 gnus-article-date-original gnus-article-date-lapsed
2893 ;; gnus-article-show-all-headers 2961 ;;gnus-article-show-all-headers
2894 gnus-article-edit-mode gnus-article-edit-article 2962 gnus-article-edit-mode gnus-article-edit-article
2895 gnus-article-edit-done gnus-article-decode-encoded-words 2963 gnus-article-edit-done gnus-article-decode-encoded-words
2896 gnus-start-date-timer gnus-stop-date-timer 2964 gnus-start-date-timer gnus-stop-date-timer
2897 gnus-mime-view-all-parts) 2965 gnus-mime-view-all-parts)
2898 ("gnus-int" gnus-request-type) 2966 ("gnus-int" gnus-request-type)
2899 ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1 2967 ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
2900 gnus-dribble-enter gnus-read-init-file gnus-dribble-touch) 2968 gnus-dribble-enter gnus-read-init-file gnus-dribble-touch
2969 gnus-check-reasonable-setup)
2901 ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article 2970 ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article
2902 gnus-dup-enter-articles) 2971 gnus-dup-enter-articles)
2903 ("gnus-range" gnus-copy-sequence) 2972 ("gnus-range" gnus-copy-sequence)
2904 ("gnus-eform" gnus-edit-form) 2973 ("gnus-eform" gnus-edit-form)
2905 ("gnus-move" :interactive t 2974 ("gnus-move" :interactive t
2965 %< Spaces of length (- 20 thread-level) (string) 3034 %< Spaces of length (- 20 thread-level) (string)
2966 %i Article score (number) 3035 %i Article score (number)
2967 %z Article zcore (character) 3036 %z Article zcore (character)
2968 %t Number of articles under the current thread (number). 3037 %t Number of articles under the current thread (number).
2969 %e Whether the thread is empty or not (character). 3038 %e Whether the thread is empty or not (character).
2970 %l GroupLens score (string).
2971 %V Total thread score (number). 3039 %V Total thread score (number).
2972 %P The line number (number). 3040 %P The line number (number).
2973 %O Download mark (character). 3041 %O Download mark (character).
2974 %* If present, indicates desired cursor position 3042 %* If present, indicates desired cursor position
2975 (instead of after first colon). 3043 (instead of after first colon).
3144 "Run FUNCTION whenever one of SYMBOLS is shut down." 3212 "Run FUNCTION whenever one of SYMBOLS is shut down."
3145 (push (cons function symbols) gnus-shutdown-alist)) 3213 (push (cons function symbols) gnus-shutdown-alist))
3146 3214
3147 (defun gnus-shutdown (symbol) 3215 (defun gnus-shutdown (symbol)
3148 "Shut down everything that waits for SYMBOL." 3216 "Shut down everything that waits for SYMBOL."
3149 (let ((alist gnus-shutdown-alist) 3217 (dolist (entry gnus-shutdown-alist)
3150 entry) 3218 (when (memq symbol (cdr entry))
3151 (while (setq entry (pop alist)) 3219 (funcall (car entry)))))
3152 (when (memq symbol (cdr entry))
3153 (funcall (car entry))))))
3154 3220
3155 3221
3156 ;;; 3222 ;;;
3157 ;;; Gnus Utility Functions 3223 ;;; Gnus Utility Functions
3158 ;;; 3224 ;;;
3414 3480
3415 ;; Generate a unique new group name. 3481 ;; Generate a unique new group name.
3416 (defun gnus-generate-new-group-name (leaf) 3482 (defun gnus-generate-new-group-name (leaf)
3417 (let ((name leaf) 3483 (let ((name leaf)
3418 (num 0)) 3484 (num 0))
3419 (while (gnus-gethash name gnus-newsrc-hashtb) 3485 (while (gnus-group-entry name)
3420 (setq name (concat leaf "<" (int-to-string (setq num (1+ num))) ">"))) 3486 (setq name (concat leaf "<" (int-to-string (setq num (1+ num))) ">")))
3421 name)) 3487 name))
3422 3488
3423 (defun gnus-ephemeral-group-p (group) 3489 (defun gnus-ephemeral-group-p (group)
3424 "Say whether GROUP is ephemeral or not." 3490 "Say whether GROUP is ephemeral or not."
3457 (catch 'server-name 3523 (catch 'server-name
3458 (setq method (or method gnus-select-method)) 3524 (setq method (or method gnus-select-method))
3459 3525
3460 ;; Perhaps it is already in the cache. 3526 ;; Perhaps it is already in the cache.
3461 (mapc (lambda (name-method) 3527 (mapc (lambda (name-method)
3462 (if (equal (cdr name-method) method) 3528 (if (equal (cdr name-method) method)
3463 (throw 'server-name (car name-method)))) 3529 (throw 'server-name (car name-method))))
3464 gnus-server-method-cache) 3530 gnus-server-method-cache)
3465 3531
3466 (mapc 3532 (mapc
3467 (lambda (server-alist) 3533 (lambda (server-alist)
3468 (mapc (lambda (name-method) 3534 (mapc (lambda (name-method)
3469 (when (gnus-methods-equal-p (cdr name-method) method) 3535 (when (gnus-methods-equal-p (cdr name-method) method)
3470 (unless (member name-method gnus-server-method-cache) 3536 (unless (member name-method gnus-server-method-cache)
3471 (push name-method gnus-server-method-cache)) 3537 (push name-method gnus-server-method-cache))
3472 (throw 'server-name (car name-method)))) 3538 (throw 'server-name (car name-method))))
3473 server-alist)) 3539 server-alist))
3474 (let ((alists (list gnus-server-alist 3540 (list gnus-server-alist
3475 gnus-predefined-server-alist))) 3541 gnus-predefined-server-alist))
3476 (if gnus-select-method
3477 (push (list (cons "native" gnus-select-method)) alists))
3478 alists))
3479 3542
3480 (let* ((name (if (member (cadr method) '(nil "")) 3543 (let* ((name (if (member (cadr method) '(nil ""))
3481 (format "%s" (car method)) 3544 (format "%s" (car method))
3482 (format "%s:%s" (car method) (cadr method)))) 3545 (format "%s:%s" (car method) (cadr method))))
3483 (name-method (cons name method))) 3546 (name-method (cons name method)))
3484 (unless (member name-method gnus-server-method-cache) 3547 (unless (member name-method gnus-server-method-cache)
3485 (push name-method gnus-server-method-cache)) 3548 (push name-method gnus-server-method-cache))
3486 name))) 3549 name)))
3487 3550
3488 (defsubst gnus-server-to-method (server) 3551 (defsubst gnus-server-to-method (server)
3489 "Map virtual server names to select methods." 3552 "Map virtual server names to select methods."
3490 (or (and server (listp server) server) 3553 (or (and server (listp server) server)
3793 (simple-results 3856 (simple-results
3794 (gnus-group-parameter-value params symbol allow-list t))) 3857 (gnus-group-parameter-value params symbol allow-list t)))
3795 (if simple-results 3858 (if simple-results
3796 ;; Found results; return them. 3859 ;; Found results; return them.
3797 (car simple-results) 3860 (car simple-results)
3798 ;; We didn't found it there, try `gnus-parameters'. 3861 ;; We didn't find it there, try `gnus-parameters'.
3799 (let ((result nil) 3862 (let ((result nil)
3800 (head nil) 3863 (head nil)
3801 (tail gnus-parameters)) 3864 (tail gnus-parameters))
3802 ;; A good old-fashioned non-cl loop. 3865 ;; A good old-fashioned non-cl loop.
3803 (while tail 3866 (while tail
4080 "Find the select method that GROUP uses." 4143 "Find the select method that GROUP uses."
4081 (or gnus-override-method 4144 (or gnus-override-method
4082 (and (not group) 4145 (and (not group)
4083 gnus-select-method) 4146 gnus-select-method)
4084 (and (not (gnus-group-entry group)) 4147 (and (not (gnus-group-entry group))
4085 ;; Killed or otherwise unknown group. 4148 ;; Killed or otherwise unknown group.
4086 (or 4149 (or
4087 ;; If we know a virtual server by that name, return its method. 4150 ;; If we know a virtual server by that name, return its method.
4088 (gnus-server-to-method (gnus-group-server group)) 4151 (gnus-server-to-method (gnus-group-server group))
4089 ;; Guess a new method as last resort. 4152 ;; Guess a new method as last resort.
4090 (gnus-group-name-to-method group))) 4153 (gnus-group-name-to-method group)))
4091 (let ((info (or info (gnus-get-info group))) 4154 (let ((info (or info (gnus-get-info group)))
4092 method) 4155 method)
4093 (if (or (not info) 4156 (if (or (not info)
4094 (not (setq method (gnus-info-method info))) 4157 (not (setq method (gnus-info-method info)))
4095 (equal method "native")) 4158 (equal method "native"))
4191 4254
4192 (defun gnus-agent-method-p (method) 4255 (defun gnus-agent-method-p (method)
4193 "Say whether METHOD is covered by the agent." 4256 "Say whether METHOD is covered by the agent."
4194 (or (eq (car gnus-agent-method-p-cache) method) 4257 (or (eq (car gnus-agent-method-p-cache) method)
4195 (setq gnus-agent-method-p-cache 4258 (setq gnus-agent-method-p-cache
4196 (cons method 4259 (cons method
4197 (member (if (stringp method) 4260 (member (if (stringp method)
4198 method 4261 method
4199 (gnus-method-to-server method)) gnus-agent-covered-methods)))) 4262 (gnus-method-to-server method)) gnus-agent-covered-methods))))
4200 (cdr gnus-agent-method-p-cache)) 4263 (cdr gnus-agent-method-p-cache))
4201 4264
4202 (defun gnus-online (method) 4265 (defun gnus-online (method)
4203 (not 4266 (not
4204 (if gnus-plugged 4267 (if gnus-plugged