:link '(custom-manual "(gnus)Various Summary Stuff")
:group 'gnus-summary)
-;; Belongs to to gnus-uu.el
+;; Belongs to gnus-uu.el
(defgroup gnus-extract-view nil
"Viewing extracted files."
:link '(custom-manual "(gnus)Viewing Files")
:group 'gnus-extract)
-;; Other
+;; Belongs to gnus-score.el
(defgroup gnus-score nil
"Score and kill file handling."
- :group 'gnus )
+ :group 'gnus)
-(defgroup gnus-exit nil
- "Exiting gnus."
- :link '(custom-manual "(gnus)Exiting Gnus")
+(defgroup gnus-score-kill nil
+ "Kill files."
+ :group 'gnus-score)
+
+(defgroup gnus-score-adapt nil
+ "Adaptive score files."
+ :group 'gnus-score)
+
+(defgroup gnus-score-files nil
+ "Score and kill file names."
+ :group 'gnus-score
+ :group 'gnus-files)
+
+(defgroup gnus-score-various nil
+ "Various scoring and killing options."
+ :group 'gnus-score)
+
+;; Other
+(defgroup gnus-visual nil
+ "Options controling the visual fluff."
+ :group 'gnus)
+
+(defgroup gnus-mail-expire nil
+ "Expiring articles in mail backends."
+ :group 'gnus-mail)
+
+(defgroup gnus-files nil
+ "Files used by Gnus."
+ :group 'gnus)
+
+(defgroup gnus-server nil
+ "Options related to newsservers and other servers used by Gnus."
+ :group 'gnus)
+
+(defgroup gnus-message '((message custom-group))
+ "Composing replies and followups in Gnus."
+ :group 'gnus)
+
+(defgroup gnus-meta nil
+ "Meta variables controling major portions of Gnus.
+In general, modifying these variables does not take affect until Gnus
+is restarted, and sometimes reloaded."
:group 'gnus)
(defgroup gnus-various nil
:link '(custom-manual "(gnus)Various Various")
:group 'gnus)
-(defconst gnus-version-number "5.4.8"
+(defgroup gnus-exit nil
+ "Exiting gnus."
+ :link '(custom-manual "(gnus)Exiting Gnus")
+ :group 'gnus)
+
+(defconst gnus-version-number "5.4.11"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Gnus v%s" gnus-version-number)
(require 'gnus-util)
(require 'nnheader)
-(defgroup gnus-meta nil
- "Meta variables controling major portions of Gnus.
-In general, modifying these variables does not take affect until Gnus
-is restarted, and sometimes reloaded."
- :group 'gnus)
-
(defcustom gnus-directory (or (getenv "SAVEDIR") "~/News/")
"Directory variable from which all other Gnus file variables are derived."
- :group 'gnus-meta
+ :group 'gnus-files
:type 'directory)
(defcustom gnus-default-directory nil
"*Default directory for all Gnus buffers."
- :group 'gnus-start
+ :group 'gnus-files
:type '(choice (const :tag "current" nil)
directory))
(defcustom gnus-nntpserver-file "/etc/nntpserver"
"A file with only the name of the nntp server in it."
- :group 'gnus-start
+ :group 'gnus-files
+ :group 'gnus-server
:type 'file)
;; This function is used to check both the environment variable
There is a lot more to know about select methods and virtual servers -
see the manual for details."
- :group 'gnus-start
+ :group 'gnus-server
:type 'gnus-select-method)
(defcustom gnus-message-archive-method
It's probably not a very effective to change this variable once you've
run Gnus once. After doing that, you must edit this server from the
server buffer."
- :group 'gnus-start
+ :group 'gnus-server
+ :group 'gnus-message
:type 'gnus-select-method)
-(defgroup gnus-message '((message custom-group))
- "Interface from gnus to message mode."
- :group 'gnus)
-
(defcustom gnus-message-archive-group nil
"*Name of the group in which to save the messages you've written.
This can either be a string, a list of strings; or an alist
"List of NNTP servers that the user can choose between interactively.
To make Gnus query you for a server, you have to give `gnus' a
non-numeric prefix - `C-u M-x gnus', in short."
- :group 'gnus-start
+ :group 'gnus-server
:type '(repeat string))
(defcustom gnus-nntp-server nil
"*The name of the host running the NNTP server.
This variable is semi-obsolete. Use the `gnus-select-method'
variable instead."
- :group 'gnus-start
+ :group 'gnus-server
:type '(choice (const :tag "disable" nil)
string))
you could set this variable:
\(setq gnus-secondary-select-methods '((nnml \"\")))"
-:group 'gnus-start
+:group 'gnus-server
:type '(repeat gnus-select-method))
(defvar gnus-backup-default-subscribed-newsgroups
The DOMAINNAME environment variable is used instead if it is defined.
If the `system-name' function returns the full Internet name, there is
no need to set this variable."
- :group 'gnus-start
+ :group 'gnus-message
:type '(choice (const :tag "default" nil)
string))
In any case, if the string (either in the variable, in the environment
variable, or returned by the function) is a file name, the contents of
this file will be used as the organization."
- :group 'gnus-start
+ :group 'gnus-message
:type '(choice (const :tag "default" nil)
string))
The value of this variable must be a valid select method as discussed
in the documentation of `gnus-select-method'."
- :group 'gnus-start
+ :group 'gnus-server
:type '(choice (const :tag "default" nil)
gnus-select-method))
If nil, ignore cross references. If t, mark articles as read in
subscribed newsgroups. If neither t nor nil, mark as read in all
newsgroups."
- :group 'gnus-start
+ :group 'gnus-server
:type '(choice (const :tag "off" nil)
(const :tag "subscribed" t)
(sexp :format "all"
(defcustom gnus-process-mark ?#
"*Process mark."
- :group 'gnus-start
+ :group 'gnus-group-visual
+ :group 'gnus-summary-marks
:type 'character)
(defcustom gnus-asynchronous nil
"*If non-nil, Gnus will supply backends with data needed for async article fetching."
- :group 'gnus-start
+ :group 'gnus-asynchronous
:type 'boolean)
(defcustom gnus-large-newsgroup 200
(defcustom gnus-kill-files-directory gnus-directory
"*Name of the directory where kill files will be stored (default \"~/News\")."
- :group 'gnus-score
+ :group 'gnus-score-files
+ :group 'gnus-score-kill
:type 'directory)
(defcustom gnus-save-score nil
"*If non-nil, save group scoring info."
- :group 'gnus-score
+ :group 'gnus-score-various
:group 'gnus-start
:type 'boolean)
former will perform adaption on individual words in the subject
header while `line' will perform adaption on several headers."
:group 'gnus-meta
+ :group 'gnus-score-adapt
:type '(set (const word) (const line)))
(defcustom gnus-use-cache 'passive
which is the default, quite fast, and too simplistic solution, and
`mail-extract-address-components', which works much better, but is
slower."
- :group 'gnus-start
+ :group 'gnus-summary-format
:type '(radio (function-item gnus-extract-address-components)
(function-item mail-extract-address-components)
(function :tag "Other")))
(defcustom gnus-shell-command-separator ";"
"String used to separate to shell commands."
- :group 'gnus-start
+ :group 'gnus-files
:type 'string)
(defcustom gnus-valid-select-methods
properties that this method has (like being respoolable).
If you implement a new select method, all you should have to change is
this variable. I think."
- :group 'gnus-start
+ :group 'gnus-server
:type '(repeat (group (string :tag "Name")
(radio-button-choice (const :format "%v " post)
(const :format "%v " mail)
`summary'. If the corresponding symbol is present, Gnus will keep
that mode line updated with information that may be pertinent.
If this variable is nil, screen refresh may be quicker."
- :group 'gnus-start
+ :group 'gnus-various
:type '(set (const group)
(const article)
(const summary)
(defcustom gnus-mode-non-string-length nil
"*Max length of mode-line non-string contents.
If this is nil, Gnus will take space as is needed, leaving the rest
-of the modeline intact."
- :group 'gnus-start
+of the modeline intact. Note that the default of nil is unlikely
+to be desirable; see the manual for further details."
+ :group 'gnus-various
:type '(choice (const nil)
integer))
"*Groups in which to automatically mark read articles as expirable.
If non-nil, this should be a regexp that should match all groups in
which to perform auto-expiry. This only makes sense for mail groups."
- :group 'gnus-mail
+ :group 'gnus-mail-expire
:type '(choice (const nil)
regexp))
expiring - which means that all read articles will be deleted after
\(say) one week. (This only goes for mail groups and the like, of
course.)"
- :group 'gnus-mail
+ :group 'gnus-mail-expire
:type '(choice (const nil)
regexp))
(cond ((string-match \"control\" gnus-newsgroup-name)
(gnus-kill \"Subject\" \"rmgroup\")
(gnus-expunge \"X\"))))))"
- :group 'gnus-score
+ :group 'gnus-score-kill
:options '(gnus-apply-kill-file)
:type 'hook)
(defcustom gnus-group-change-level-function nil
"Function run when a group level is changed.
It is called with three parameters -- GROUP, LEVEL and OLDLEVEL."
- :group 'gnus-start
+ :group 'gnus-group-level
:type 'function)
;;; Face thingies.
-(defgroup gnus-visual nil
- "Options controling the visual fluff."
- :group 'gnus)
-
(defcustom gnus-visual
'(summary-highlight group-highlight article-highlight
mouse-face
(defcustom gnus-kill-file-name "KILL"
"Suffix of the kill files."
- :group 'gnus-score
+ :group 'gnus-score-kill
+ :group 'gnus-score-files
:type 'string)
(defun gnus-newsgroup-kill-file (newsgroup)
;; "hello", and the select method is ("hello" (my-var "something"))
;; in the group "alt.alt", this will result in a new virtual server
;; called "hello+alt.alt".
- (let ((entry
- (gnus-copy-sequence
- (if (gnus-server-equal method gnus-select-method) gnus-select-method
- (cdr (assoc (car method) gnus-server-alist))))))
- (if (not entry)
- method
- (setcar (cdr entry) (concat (nth 1 entry) "+" group))
- (nconc entry (cdr method)))))
+ (if (or (not (gnus-similar-server-opened method))
+ (not (cddr method)))
+ method
+ `(,(car method) ,(concat (cadr method) "+" group)
+ (,(intern (format "%s-address" (car method))) ,(cadr method))
+ ,@(cddr method))))
+
+(defun gnus-similar-server-opened (method)
+ (let ((opened gnus-opened-servers))
+ (while (and method opened)
+ (when (and (equal (cadr method) (cadaar opened))
+ (not (equal method (caar opened))))
+ (setq method nil))
+ (pop opened))
+ (not method)))
(defun gnus-server-status (method)
"Return the status of METHOD."
(setq method
(cond ((stringp method)
(gnus-server-to-method method))
- ((stringp (car method))
+ ((stringp (cadr method))
(gnus-server-extend-method group method))
(t
method)))
(when (string-match
"[: `'\"/]\\|^$"
(setq group (read-string (concat prefix prompt)
- (or default "")
+ (cons (or default "") 0)
'gnus-group-history)))
(setq prefix (format "Illegal group name: \"%s\". " group)
group nil)))