(require 'mm-util)
(require 'nnheader)
-;; Make sure it was the right mm-util.
-(unless (fboundp 'mm-guess-mime-charset)
- (error "Wrong `mm-util' found in `load-path'. Make sure the Gnus one is found first."))
-
(defgroup gnus nil
"The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
:group 'news
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.17"
+(defconst gnus-version-number "5.10.3"
"Version number for this version of Gnus.")
-(defconst gnus-version (format "Oort Gnus v%s" gnus-version-number)
+(defconst gnus-version (format "Gnus v%s" gnus-version-number)
"Version string for this version of Gnus.")
(defcustom gnus-inhibit-startup-message nil
(defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window)
(defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
(defalias 'gnus-character-to-event 'identity)
+ (defalias 'gnus-assq-delete-all 'assq-delete-all)
(defalias 'gnus-add-text-properties 'add-text-properties)
(defalias 'gnus-put-text-property 'put-text-property)
(defvar gnus-mode-line-image-cache t)
(storm "#666699" "#99ccff")
(pdino "#9999cc" "#99ccff")
(purp "#9999cc" "#666699")
+ (no "#000000" "#ff0000")
(neutral "#b4b4b4" "#878787")
(september "#bf9900" "#ffcc00"))
"Color alist used for the Gnus logo.")
`gnus-large-newsgroup'). If it is nil, the default value is the
total number of articles in the group.")
+;; The Gnus registry's ignored groups
+(gnus-define-group-parameter
+ registry-ignore
+ :type list
+ :function-document
+ "Whether this group should be ignored by the registry."
+ :variable gnus-registry-ignored-groups
+ :variable-default nil
+ :variable-document
+ "*Groups in which the registry should be turned off."
+ :variable-group gnus-registry
+ :variable-type '(repeat
+ (list
+ (regexp :tag "Group Name Regular Expression")
+ (boolean :tag "Ignored")))
+
+ :parameter-type '(boolean :tag "Group Ignored by the Registry")
+ :parameter-document
+ "Whether the Gnus Registry should ignore this group.")
+
;; group parameters for spam processing added by Ted Zlatanov <tzz@lifelogs.com>
(defcustom gnus-install-group-spam-parameters t
"*Disable the group parameters for spam detection.
When a spam group is entered, all unread articles are marked as spam.")
(defvar gnus-group-spam-exit-processor-ifile "ifile"
- "The ifile summary exit spam processor.
-Only applicable to spam groups.")
+ "The ifile summary exit spam processor.")
(defvar gnus-group-spam-exit-processor-stat "stat"
- "The spam-stat summary exit spam processor.
-Only applicable to spam groups.")
+ "The spam-stat summary exit spam processor.")
(defvar gnus-group-spam-exit-processor-bogofilter "bogofilter"
- "The Bogofilter summary exit spam processor.
-Only applicable to spam groups.")
+ "The Bogofilter summary exit spam processor.")
(defvar gnus-group-spam-exit-processor-blacklist "blacklist"
- "The Blacklist summary exit spam processor.
-Only applicable to spam groups.")
+ "The Blacklist summary exit spam processor.")
+
+ (defvar gnus-group-spam-exit-processor-report-gmane "report-gmane"
+ "The Gmane reporting summary exit spam processor.
+Only applicable to NNTP groups with articles from Gmane. See spam-report.el")
+
+ (defvar gnus-group-spam-exit-processor-spamoracle "spamoracle-spam"
+ "The spamoracle summary exit spam processor.")
(defvar gnus-group-ham-exit-processor-ifile "ifile-ham"
"The ifile summary exit ham processor.
"The ham copy exit ham processor.
Only applicable to non-spam (unclassified and ham) groups.")
+ (defvar gnus-group-ham-exit-processor-spamoracle "spamoracle-ham"
+ "The spamoracle summary exit ham processor.
+Only applicable to non-spam (unclassified and ham) groups.")
+
(gnus-define-group-parameter
spam-process
:type list
(variable-item gnus-group-spam-exit-processor-stat)
(variable-item gnus-group-spam-exit-processor-bogofilter)
(variable-item gnus-group-spam-exit-processor-blacklist)
+ (variable-item gnus-group-spam-exit-processor-report-gmane)
+ (variable-item gnus-group-spam-exit-processor-spamoracle)
(variable-item gnus-group-ham-exit-processor-bogofilter)
(variable-item gnus-group-ham-exit-processor-ifile)
(variable-item gnus-group-ham-exit-processor-stat)
(variable-item gnus-group-ham-exit-processor-whitelist)
(variable-item gnus-group-ham-exit-processor-BBDB)
- (variable-item gnus-group-ham-exit-processor-copy))))
+ (variable-item gnus-group-ham-exit-processor-copy)
+ (variable-item gnus-group-ham-exit-processor-spamoracle))))
:function-document
"Which spam or ham processors will be applied to the GROUP articles at summary exit."
:variable gnus-spam-process-newsgroups
"*Groups in which to automatically process spam or ham articles with
a backend on summary exit. If non-nil, this should be a list of group
name regexps that should match all groups in which to do automatic
-spam processing, associated with the appropriate processor. This only makes sense
-for mail groups."
+spam processing, associated with the appropriate processor."
:variable-group spam
:variable-type '(repeat :tag "Spam/Ham Processors"
(list :tag "Spam Summary Exit Processor Choices"
(variable-item gnus-group-spam-exit-processor-stat)
(variable-item gnus-group-spam-exit-processor-bogofilter)
(variable-item gnus-group-spam-exit-processor-blacklist)
+ (variable-item gnus-group-spam-exit-processor-report-gmane)
(variable-item gnus-group-ham-exit-processor-bogofilter)
(variable-item gnus-group-ham-exit-processor-ifile)
(variable-item gnus-group-ham-exit-processor-stat)
"Whether Gnus is plugged or not.")
(defcustom gnus-agent-cache t
- "Controls use of the agent cache while plugged. When set, Gnus will prefer
-using the locally stored content rather than re-fetching it from the server.
-You also need to enable `gnus-agent' for this to have any affect."
+ "Controls use of the agent cache while plugged.
+When set, Gnus will prefer using the locally stored content rather
+than re-fetching it from the server. You also need to enable
+`gnus-agent' for this to have any affect."
:version "21.3"
:group 'gnus-agent
:type 'boolean)
-(defcustom gnus-default-charset (mm-guess-mime-charset)
+(defcustom gnus-default-charset 'undecided
"Default charset assumed to be used when viewing non-ASCII characters.
This variable is overridden on a group-to-group basis by the
`gnus-group-charset-alist' variable and is only used on groups not
:type 'symbol
:group 'gnus-charset)
+;; Fixme: Doc reference to agent.
(defcustom gnus-agent t
"Whether we want to use the Gnus agent or not.
-Putting (gnus-agentize) in ~/.gnus is obsolete by (setq gnus-agent t)."
+
+You may customize gnus-agent to disable its use. However, some
+backends have started to use the agent as a client-side cache.
+Disabling the agent may result in noticable loss of performance."
:version "21.3"
:group 'gnus-agent
:type 'boolean)
'(gnus-newsrc-options gnus-newsrc-options-n
gnus-newsrc-last-checked-date
gnus-newsrc-alist gnus-server-alist
- gnus-registry-alist
gnus-killed-list gnus-zombie-list
gnus-topic-topology gnus-topic-alist
gnus-agent-covered-methods gnus-format-specs)
(format "%s+%s" (car method) (nth 1 method)))
(defun gnus-group-prefixed-name (group method &optional full)
- "Return the whole name from GROUP and METHOD. Call with full set to
-get the fully qualified group name (even if the server is native)."
- (and (stringp method) (setq method (gnus-server-to-method method)))
+ "Return the whole name from GROUP and METHOD.
+Call with full set to get the fully qualified group name (even if the
+server is native)."
+ (when (stringp method)
+ (setq method (gnus-server-to-method method)))
(if (or (not method)
(and (not full) (gnus-server-equal method "native"))
- (string-match ":" group))
+ ;;;!!! This might not be right. We'll see...
+ ;(string-match ":" group)
+ )
group
(concat (gnus-method-to-server-name method) ":" group)))
(defun gnus-group-guess-full-name (group)
"Guess the full name from GROUP, even if the method is native."
- (gnus-group-full-name group (gnus-find-method-for-group group)))
+ (if (gnus-group-prefixed-p group)
+ group
+ (gnus-group-full-name group (gnus-find-method-for-group group))))
(defun gnus-group-real-prefix (group)
"Return the prefix of the current group name."
(substring group 0 (match-end 0))
""))
+(defun gnus-group-short-name (group)
+ "Return the short group name."
+ (let ((prefix (gnus-group-real-prefix group)))
+ (if (< 0 (length prefix))
+ (substring group (length prefix) nil)
+ group)))
+
+(defun gnus-group-prefixed-p (group)
+ "Return the prefix of the current group name."
+ (< 0 (length (gnus-group-real-prefix group))))
+
(defun gnus-summary-buffer-name (group)
"Return the summary buffer name of GROUP."
(concat "*Summary " (gnus-group-decoded-name group) "*"))
(switch-to-buffer gnus-group-buffer)
(funcall gnus-other-frame-function arg)
(add-hook 'gnus-exit-gnus-hook
- (lambda nil
- (when (and (frame-live-p gnus-other-frame-object)
- (cdr (frame-list)))
- (delete-frame gnus-other-frame-object))
- (setq gnus-other-frame-object nil)))))))
+ '(lambda nil
+ (when (and (frame-live-p gnus-other-frame-object)
+ (cdr (frame-list)))
+ (delete-frame gnus-other-frame-object))
+ (setq gnus-other-frame-object nil)))))))
;;(setq thing ? ; this is a comment
;; more 'yes)