1 ;;; gnus.el --- a newsreader for GNU Emacs
3 ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997, 1998,
4 ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5 ;; Free Software Foundation, Inc.
7 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
8 ;; Lars Magne Ingebrigtsen <larsi@gnus.org>
9 ;; Keywords: news, mail
11 ;; This file is part of GNU Emacs.
13 ;; GNU Emacs is free software: you can redistribute it and/or modify
14 ;; it under the terms of the GNU General Public License as published by
15 ;; the Free Software Foundation, either version 3 of the License, or
16 ;; (at your option) any later version.
18 ;; GNU Emacs is distributed in the hope that it will be useful,
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;; GNU General Public License for more details.
23 ;; You should have received a copy of the GNU General Public License
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
30 (eval '(run-hooks 'gnus-load-hook))
34 (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
36 (eval-when-compile (require 'cl))
41 ;; These are defined afterwards with gnus-define-group-parameter
42 (defvar gnus-ham-process-destinations)
43 (defvar gnus-parameter-ham-marks-alist)
44 (defvar gnus-parameter-spam-marks-alist)
45 (defvar gnus-spam-autodetect)
46 (defvar gnus-spam-autodetect-methods)
47 (defvar gnus-spam-newsgroup-contents)
48 (defvar gnus-spam-process-destinations)
49 (defvar gnus-spam-resend-to)
50 (defvar gnus-ham-resend-to)
51 (defvar gnus-spam-process-newsgroups)
55 "The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
59 (defgroup gnus-start nil
60 "Starting your favorite newsreader."
63 (defgroup gnus-format nil
64 "Dealing with formatting issues."
67 (defgroup gnus-charset nil
68 "Group character set issues."
69 :link '(custom-manual "(gnus)Charsets")
73 (defgroup gnus-cache nil
75 :link '(custom-manual "(gnus)Article Caching")
78 (defgroup gnus-registry nil
82 (defgroup gnus-start-server nil
83 "Server options at startup."
86 ;; These belong to gnus-group.el.
87 (defgroup gnus-group nil
89 :link '(custom-manual "(gnus)Group Buffer")
92 (defgroup gnus-group-foreign nil
94 :link '(custom-manual "(gnus)Foreign Groups")
97 (defgroup gnus-group-new nil
98 "Automatic subscription of new groups."
101 (defgroup gnus-group-levels nil
103 :link '(custom-manual "(gnus)Group Levels")
106 (defgroup gnus-group-select nil
108 :link '(custom-manual "(gnus)Selecting a Group")
111 (defgroup gnus-group-listing nil
112 "Showing slices of the group list."
113 :link '(custom-manual "(gnus)Listing Groups")
116 (defgroup gnus-group-visual nil
117 "Sorting the group buffer."
118 :link '(custom-manual "(gnus)Group Buffer Format")
122 (defgroup gnus-group-various nil
123 "Various group options."
124 :link '(custom-manual "(gnus)Scanning New Messages")
127 ;; These belong to gnus-sum.el.
128 (defgroup gnus-summary nil
130 :link '(custom-manual "(gnus)Summary Buffer")
133 (defgroup gnus-summary-exit nil
134 "Leaving summary buffers."
135 :link '(custom-manual "(gnus)Exiting the Summary Buffer")
136 :group 'gnus-summary)
138 (defgroup gnus-summary-marks nil
139 "Marks used in summary buffers."
140 :link '(custom-manual "(gnus)Marking Articles")
141 :group 'gnus-summary)
143 (defgroup gnus-thread nil
144 "Ordering articles according to replies."
145 :link '(custom-manual "(gnus)Threading")
146 :group 'gnus-summary)
148 (defgroup gnus-summary-format nil
149 "Formatting of the summary buffer."
150 :link '(custom-manual "(gnus)Summary Buffer Format")
151 :group 'gnus-summary)
153 (defgroup gnus-summary-choose nil
155 :link '(custom-manual "(gnus)Choosing Articles")
156 :group 'gnus-summary)
158 (defgroup gnus-summary-maneuvering nil
159 "Summary movement commands."
160 :link '(custom-manual "(gnus)Summary Maneuvering")
161 :group 'gnus-summary)
163 (defgroup gnus-picon nil
164 "Show pictures of people, domains, and newsgroups."
167 (defgroup gnus-summary-mail nil
168 "Mail group commands."
169 :link '(custom-manual "(gnus)Mail Group Commands")
170 :group 'gnus-summary)
172 (defgroup gnus-summary-sort nil
173 "Sorting the summary buffer."
174 :link '(custom-manual "(gnus)Sorting the Summary Buffer")
175 :group 'gnus-summary)
177 (defgroup gnus-summary-visual nil
178 "Highlighting and menus in the summary buffer."
179 :link '(custom-manual "(gnus)Summary Highlighting")
181 :group 'gnus-summary)
183 (defgroup gnus-summary-various nil
184 "Various summary buffer options."
185 :link '(custom-manual "(gnus)Various Summary Stuff")
186 :group 'gnus-summary)
188 (defgroup gnus-summary-pick nil
189 "Pick mode in the summary buffer."
190 :link '(custom-manual "(gnus)Pick and Read")
192 :group 'gnus-summary)
194 (defgroup gnus-summary-tree nil
195 "Tree display of threads in the summary buffer."
196 :link '(custom-manual "(gnus)Tree Display")
198 :group 'gnus-summary)
200 ;; Belongs to gnus-uu.el
201 (defgroup gnus-extract-view nil
202 "Viewing extracted files."
203 :link '(custom-manual "(gnus)Viewing Files")
204 :group 'gnus-extract)
206 ;; Belongs to gnus-score.el
207 (defgroup gnus-score nil
208 "Score and kill file handling."
211 (defgroup gnus-score-kill nil
215 (defgroup gnus-score-adapt nil
216 "Adaptive score files."
219 (defgroup gnus-score-default nil
220 "Default values for score files."
223 (defgroup gnus-score-expire nil
224 "Expiring score rules."
227 (defgroup gnus-score-decay nil
228 "Decaying score rules."
231 (defgroup gnus-score-files nil
232 "Score and kill file names."
236 (defgroup gnus-score-various nil
237 "Various scoring and killing options."
241 (defgroup gnus-visual nil
242 "Options controlling the visual fluff."
246 (defgroup gnus-agent nil
247 "Offline support for Gnus."
250 (defgroup gnus-files nil
251 "Files used by Gnus."
254 (defgroup gnus-dribble-file nil
256 :link '(custom-manual "(gnus)Auto Save")
259 (defgroup gnus-newsrc nil
260 "Storing Gnus state."
263 (defgroup gnus-server nil
264 "Options related to newsservers and other servers used by Gnus."
267 (defgroup gnus-server-visual nil
268 "Highlighting and menus in the server buffer."
272 (defgroup gnus-message '((message custom-group))
273 "Composing replies and followups in Gnus."
276 (defgroup gnus-meta nil
277 "Meta variables controlling major portions of Gnus.
278 In general, modifying these variables does not take affect until Gnus
279 is restarted, and sometimes reloaded."
282 (defgroup gnus-various nil
283 "Other Gnus options."
284 :link '(custom-manual "(gnus)Various Various")
287 (defgroup gnus-exit nil
289 :link '(custom-manual "(gnus)Exiting Gnus")
292 (defgroup gnus-fun nil
293 "Frivolous Gnus extensions."
294 :link '(custom-manual "(gnus)Exiting Gnus")
297 (defconst gnus-version-number "0.11"
298 "Version number for this version of Gnus.")
300 (defconst gnus-version (format "No Gnus v%s" gnus-version-number)
301 "Version string for this version of Gnus.")
303 (defcustom gnus-inhibit-startup-message nil
304 "If non-nil, the startup message will not be displayed.
305 This variable is used before `.gnus.el' is loaded, so it should
306 be set in `.emacs' instead."