X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-load.el;h=509f668eed94104c9b69b7c4499d75b67cddd27b;hb=d0498ec691ac9cc3f6bdd9f4ba3ac26457cc3d8a;hp=88cc4a1bd2feeb584ad2b7cb4d896bfd34351603;hpb=483d191790b7f8cf5ee888f0ac120b81b65b9580;p=gnus diff --git a/lisp/gnus-load.el b/lisp/gnus-load.el index 88cc4a1bd..509f668ee 100644 --- a/lisp/gnus-load.el +++ b/lisp/gnus-load.el @@ -25,11 +25,19 @@ ;;; Code: +(require 'custom) (require 'gnus-util) (require 'nnheader) -(defvar gnus-directory (or (getenv "SAVEDIR") "~/News/") - "*Directory variable from which all other Gnus file variables are derived.") +(defcustom gnus-directory (or (getenv "SAVEDIR") "~/News/") + "*Directory variable from which all other Gnus file variables are derived." + :group 'gnus-start + :type 'directory) + +(defcustom gnus-default-directory nil + "*Default directory for all Gnus buffers." + :group 'gnus-start + :type 'directory) ;; Site dependent variables. These variables should be defined in ;; paths.el. @@ -70,7 +78,7 @@ used to 899, you would say something along these lines: name) (kill-buffer (current-buffer)))))))) -(defvar gnus-select-method +(defcustom gnus-select-method (nconc (list 'nntp (or (condition-case () (gnus-getenv-nntpserver) @@ -132,7 +140,7 @@ write in another group, you could say something like: \"misc-mail\"))) Normally the group names returned by this variable should be -unprefixed -- which implictly means \"store on the archive server\". +unprefixed -- which implicitly means \"store on the archive server\". However, you may wish to store the message on some other server. In that case, just return a fully prefixed name of the group -- \"nnml+private:mail.misc\", for instance.") @@ -264,8 +272,14 @@ to nil while on all other systems it defaults to t.") (defvar gnus-save-score nil "*If non-nil, save group scoring info.") +(defvar gnus-use-undo t + "*If non-nil, allow undoing in Gnus group mode buffers.") + (defvar gnus-use-adaptive-scoring nil - "*If non-nil, use some adaptive scoring scheme.") + "*If non-nil, use some adaptive scoring scheme. +If a list, then the values `word' and `line' are meaningful. The +former will perform adaption on individual words in the subject +header while `line' will perform adaption on several headers.") (defvar gnus-use-cache 'passive "*If nil, Gnus will ignore the article cache. @@ -340,18 +354,20 @@ slower.") ("nnmbox" mail respool address) ("nnml" mail respool address) ("nnmh" mail respool address) - ("nndir" post-mail prompt-address address) + ("nndir" post-mail prompt-address) ("nneething" none address prompt-address) ("nndoc" none address prompt-address) ("nnbabyl" mail address respool) ("nnkiboze" post virtual) ("nnsoup" post-mail address) ("nndraft" post-mail) - ("nnfolder" mail respool address)) + ("nnfolder" mail respool address) + ("nngateway" none address prompt-address) + ("nnweb" none)) "An alist of valid select methods. The first element of each list lists should be a string with the name of the select method. The other elements may be the category of -this method (ie. `post', `mail', `none' or whatever) or other +this method (i. e., `post', `mail', `none' or whatever) or other 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.") @@ -414,9 +430,75 @@ following hook: "Function run when a group level is changed. It is called with three parameters -- GROUP, LEVEL and OLDLEVEL.") +;;; Face thingies. + +;; The following is just helper functions and data, not meant to be set +;; by the user. +(defun gnus-make-face (color) + ;; Create entry for face with COLOR. + (custom-face-lookup color nil nil nil nil nil)) + +(defvar gnus-face-light-name-list + '("light blue" "light cyan" "light yellow" "light pink" + "pale green" "beige" "orange" "magenta" "violet" "medium purple" + "turquoise")) + +(defvar gnus-face-dark-name-list + '("MidnightBlue" "firebrick" "dark green" "OrangeRed" + "dark khaki" "dark violet" "SteelBlue4")) +; CornflowerBlue SeaGreen OrangeRed SteelBlue4 DeepPink3 +; DarkOlviveGreen4 + +(defvar gnus-visual + '(summary-highlight group-highlight article-highlight + mouse-face + summary-menu group-menu article-menu + tree-highlight menu highlight + browse-menu server-menu + page-marker tree-menu binary-menu pick-menu + grouplens-menu) + "Enable visual features. +If `visual' is disabled, there will be no menus and few faces. Most of +the visual customization options below will be ignored. Gnus will use +less space and be faster as a result.") + +(defvar gnus-mouse-face + (condition-case () + (if (gnus-visual-p 'mouse-face 'highlight) + (if (boundp 'gnus-mouse-face) + (or gnus-mouse-face 'highlight) + 'highlight) + 'default) + (error 'highlight)) + "Face used for group or summary buffer mouse highlighting. +The line beneath the mouse pointer will be highlighted with this +face.") + +(defvar gnus-article-display-hook + (if (and (string-match "XEmacs" emacs-version) + (featurep 'xface)) + '(gnus-article-hide-headers-if-wanted + gnus-article-hide-boring-headers + gnus-article-treat-overstrike + gnus-article-maybe-highlight + gnus-article-display-x-face) + '(gnus-article-hide-headers-if-wanted + gnus-article-hide-boring-headers + gnus-article-treat-overstrike + gnus-article-maybe-highlight)) + "Controls how the article buffer will look. + +If you leave the list empty, the article will appear exactly as it is +stored on the disk. The list entries will hide or highlight various +parts of the article, making it easier to find the information you +want.") + + + ;;; Internal variables +(defvar gnus-group-get-parameter-function 'gnus-group-get-parameter) (defvar gnus-original-article-buffer " *Original Article*") (defvar gnus-newsgroup-name nil) @@ -438,6 +520,14 @@ It is called with three parameters -- GROUP, LEVEL and OLDLEVEL.") (defvar gnus-server-alist nil "List of available servers.") +(defvar gnus-predefined-server-alist + `(("cache" + (nnspool "cache" + (nnspool-spool-directory "~/News/cache/") + (nnspool-nov-directory "~/News/cache/") + (nnspool-active-file "~/News/cache/active")))) + "List of predefined (convenience) servers.") + (defvar gnus-topic-indentation "") ;; Obsolete variable. (defconst gnus-article-mark-lists @@ -465,6 +555,7 @@ It is called with three parameters -- GROUP, LEVEL and OLDLEVEL.") '((gnus-group-mode "(gnus)The Group Buffer") (gnus-summary-mode "(gnus)The Summary Buffer") (gnus-article-mode "(gnus)The Article Buffer") + (mime/viewer-mode "(gnus)The Article Buffer") (gnus-server-mode "(gnus)The Server Buffer") (gnus-browse-mode "(gnus)Browse Foreign Server") (gnus-tree-mode "(gnus)Tree Display")) @@ -553,7 +644,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") ("hexl" hexl-hex-string-to-integer) ("pp" pp pp-to-string pp-eval-expression) ("mail-extr" mail-extract-address-components) - ("nnmail" nnmail-split-fancy nnmail-article-group) + ("nnmail" nnmail-split-fancy nnmail-article-group nnmail-date-to-time) ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers) ("timezone" timezone-make-date-arpa-standard timezone-fix-time timezone-make-sortable-date timezone-make-time-string) @@ -568,26 +659,13 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") ("gnus-mh" gnus-mh-mail-setup gnus-summary-save-article-folder gnus-Folder-save-name gnus-folder-save-name) ("gnus-mh" :interactive t gnus-summary-save-in-folder) - ("gnus-vis" gnus-group-make-menu-bar gnus-summary-make-menu-bar - gnus-server-make-menu-bar gnus-article-make-menu-bar - gnus-browse-make-menu-bar gnus-highlight-selected-summary - gnus-summary-highlight-line gnus-carpal-setup-buffer - gnus-group-highlight-line - gnus-article-add-button gnus-insert-next-page-button - gnus-insert-prev-page-button gnus-visual-turn-off-edit-menu) - ("gnus-vis" :interactive t - gnus-article-push-button gnus-article-press-button - gnus-article-highlight gnus-article-highlight-some - gnus-article-highlight-headers gnus-article-highlight-signature - gnus-article-add-buttons gnus-article-add-buttons-to-head - gnus-article-next-button gnus-article-prev-button) ("gnus-demon" gnus-demon-add-nocem gnus-demon-add-scanmail gnus-demon-add-disconnection gnus-demon-add-handler gnus-demon-remove-handler) ("gnus-demon" :interactive t gnus-demon-init gnus-demon-cancel) ("gnus-salt" gnus-highlight-selected-tree gnus-possibly-generate-tree - gnus-tree-open gnus-tree-close) + gnus-tree-open gnus-tree-close gnus-carpal-setup-buffer) ("gnus-nocem" gnus-nocem-scan-groups gnus-nocem-close gnus-nocem-unwanted-article-p) ("gnus-srvr" gnus-enter-server-buffer gnus-server-set-info) @@ -605,7 +683,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-cache-enter-remove-article gnus-cached-article-p gnus-cache-open gnus-cache-close gnus-cache-update-article) ("gnus-cache" :interactive t gnus-jog-cache gnus-cache-enter-article - gnus-cache-remove-article) + gnus-cache-remove-article gnus-summary-insert-cached-articles) ("gnus-score" :interactive t gnus-summary-increase-score gnus-summary-lower-score gnus-score-flush-cache gnus-score-close @@ -614,12 +692,12 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-score-raise-thread gnus-score-lower-same-subject-and-select gnus-score-lower-same-subject gnus-score-lower-thread gnus-possibly-score-headers gnus-summary-raise-score - gnus-summary-set-score gnus-summary-current-score) + gnus-summary-set-score gnus-summary-current-score + gnus-score-followup-article) ("gnus-score" (gnus-summary-score-map keymap) gnus-score-save gnus-score-headers gnus-current-score-file-nondirectory gnus-score-adaptive gnus-score-find-trace gnus-score-file-name) - ("gnus-edit" :interactive t gnus-score-customize) ("gnus-topic" :interactive t gnus-topic-mode) ("gnus-topic" gnus-topic-remove-group) ("gnus-salt" :interactive t gnus-pick-mode gnus-binary-mode) @@ -658,7 +736,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") ("gnus-sum" gnus-summary-insert-line gnus-summary-read-group gnus-list-of-unread-articles gnus-list-of-read-articles gnus-offer-save-summaries gnus-make-thread-indent-array - gnus-summary-exit) + gnus-summary-exit gnus-update-read-articles) ("gnus-group" gnus-group-insert-group-line gnus-group-quit gnus-group-list-groups gnus-group-first-unread-group gnus-group-set-mode-line gnus-group-set-info gnus-group-save-newsrc @@ -681,7 +759,8 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-article-strip-leading-blank-lines gnus-article-date-local gnus-article-date-original gnus-article-date-lapsed gnus-decode-rfc1522 gnus-article-show-all-headers - gnus-article-edit-mode) + gnus-article-edit-mode gnus-article-edit-article + gnus-article-edit-done) ("gnus-int" gnus-request-type) ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1 gnus-dribble-enter) @@ -692,8 +771,11 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") ("gnus-move" :interactive t gnus-group-move-group-to-server gnus-change-server) ("gnus-logic" gnus-score-advanced) + ("gnus-undo" gnus-undo-mode gnus-undo-register + gnus-dup-unsuppress-article) ("gnus-async" gnus-async-request-fetched-article gnus-async-prefetch-next gnus-async-prefetch-article gnus-async-prefetch-remove-group) + ("article" article-decode-rfc1522) ("gnus-vm" :interactive t gnus-summary-save-in-vm gnus-summary-save-article-vm))))