From: morioka Date: Mon, 16 Feb 1998 13:52:04 +0000 (+0000) Subject: Quassia Gnus v0.26. X-Git-Tag: qgnus-0_26~1 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7523ac5e3a0e4196d6043822dcb826c060fc1b58;p=elisp%2Fgnus.git- Quassia Gnus v0.26. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3ec0d58..27aa158 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,80 @@ +Sat Feb 14 19:28:01 1998 Lars Magne Ingebrigtsen + + * gnus.el: Quassia Gnus v0.26 is released. + +Sat Feb 14 18:40:55 1998 Lars Magne Ingebrigtsen + + * gnus-agent.el (gnus-agent-directory): Translate file chars. + + * gnus-sum.el (gnus-summary-print-article): Don't display all + headers. + (gnus-summary-edit-parameters): New command and keystroke. + + * gnus-group.el (gnus-group-rename-group): Mark dribble. + +Sat Feb 14 18:39:45 1998 Fred Oberhauser + + * nnmail.el (nnmail-process-babyl-mail-format): Fix point + movement. + +Sat Feb 14 18:31:39 1998 Lars Magne Ingebrigtsen + + * gnus.el (gnus-group-get-parameter): Dix fix. + +Sat Feb 14 18:29:12 1998 Kim-Minh Kaplan + + * gnus-picon.el: Updated documentation. + +Sat Feb 14 18:26:53 1998 Joev Dubach + + * nntp.el (nntp-send-authinfo-from-file): Doc fix. + +Sun Jan 11 23:44:12 1998 Ken Raeburn + + * nnagent.el (nnagent-request-update-info): New no-op fn. + +Sat Feb 14 17:41:44 1998 Lars Magne Ingebrigtsen + + * gnus-srvr.el (gnus-browse-unsubscribe-group): Wouldn't allow + subscription of visited groups. + + * gnus-util.el (gnus-run-hooks): New function. + Use it everywhere. + + * nntp.el (nntp-authinfo-password): New variable. + (nntp-send-authinfo): Cache authinfo password. + + * gnus-sum.el (gnus-summary-mark-article-as-unread): Don't do + anything if the mark doesn't change. + +1998-01-17 Simon Josefsson + + * gnus-sum.el (gnus-summary-work-articles): change buffer + before looking at marked articles + (gnus-summary-work-articles): better check of marked articles + +Sat Feb 14 15:10:36 1998 Lars Magne Ingebrigtsen + + * nntp.el (nntp-send-authinfo): Use new .netrc functionality. + + * gnus-util.el (gnus-netrc-syntax-table): New variable. + (gnus-parse-netrc): New function. + (gnus-netrc-machine): Ditto. + (gnus-netrc-get): Ditto. + + * gnus-draft.el (gnus-draft-make-menu-bar): Added deletion. + + * gnus.el (gnus-expert-user): Dix fox. + + * nnmail.el (nnmail-article-group): Remove duplicates from split. + + * message.el (message-check-news-header-syntax): Check more on + Message-ID. + + * nnmh.el: Don't call nnmail-activate. + + * gnus.el: User-variabelize all custom vars. + Fri Feb 13 22:40:39 1998 Lars Magne Ingebrigtsen * gnus.el: Quassia Gnus v0.25 is released. diff --git a/lisp/dgnushack.el b/lisp/dgnushack.el index a03b1f6..264ac6b 100644 --- a/lisp/dgnushack.el +++ b/lisp/dgnushack.el @@ -1,5 +1,5 @@ ;;; dgnushack.el --- a hack to set the load path for byte-compiling -;; Copyright (C) 1994,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Version: 4.19 diff --git a/lisp/earcon.el b/lisp/earcon.el index ee2b041..9bd6651 100644 --- a/lisp/earcon.el +++ b/lisp/earcon.el @@ -2,10 +2,6 @@ ;; Copyright (C) 1996 Free Software Foundation ;; Author: Steven L. Baur -;; Keywords: news fun sound - -;; This file is part of GNU Emacs. - ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) @@ -39,17 +35,17 @@ :group 'gnus-visual) (defcustom earcon-auto-play nil - "When True, automatically play sounds as well as buttonize them." + "*When True, automatically play sounds as well as buttonize them." :type 'boolean :group 'earcon) (defcustom earcon-prefix "**" - "String denoting the start of an earcon." + "*String denoting the start of an earcon." :type 'string :group 'earcon) (defcustom earcon-suffix "**" - "String denoting the end of an earcon." + "*String denoting the end of an earcon." :type 'string :group 'earcon) @@ -70,7 +66,7 @@ ("cackle" 1 "witch.au") ("yell\\|roar" 1 "yell2.au") ("whoop-de-doo" 1 "whistle.au")) - "A list of regexps to map earcons to real sounds." + "*A list of regexps to map earcons to real sounds." :type '(repeat (list regexp (integer :tag "Match") (string :tag "Sound"))) diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index ced29ef..35fd39c 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -1,9 +1,7 @@ ;;; gnus-agent.el --- unplugged support for Gnus -;; Copyright (C) 1997 Free Software Foundation, Inc. +;; Copyright (C) 1997,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen -;; Keywords: news - ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify @@ -32,22 +30,22 @@ (eval-when-compile (require 'cl)) (defcustom gnus-agent-directory (nnheader-concat gnus-directory "agent/") - "Where the Gnus agent will store its files." + "*Where the Gnus agent will store its files." :group 'gnus-agent :type 'directory) (defcustom gnus-agent-plugged-hook nil - "Hook run when plugging into the network." + "*Hook run when plugging into the network." :group 'gnus-agent :type 'hook) (defcustom gnus-agent-unplugged-hook nil - "Hook run when unplugging from the network." + "*Hook run when unplugging from the network." :group 'gnus-agent :type 'hook) (defcustom gnus-agent-handle-level gnus-level-subscribed - "Groups on levels higher than this variable will be ignored by the Agent." + "*Groups on levels higher than this variable will be ignored by the Agent." :group 'gnus-agent :type 'integer) @@ -115,7 +113,8 @@ (defsubst gnus-agent-directory () "Path of the Gnus agent directory." - (nnheader-concat gnus-agent-directory (gnus-agent-method) "/")) + (nnheader-concat gnus-agent-directory + (nnheader-translate-file-chars (gnus-agent-method)) "/")) (defun gnus-agent-lib-file (file) "The full path of the Gnus agent library FILE." @@ -177,7 +176,7 @@ buffer)))) minor-mode-map-alist)) (gnus-agent-toggle-plugged gnus-plugged) - (run-hooks 'gnus-agent-mode-hook))) + (gnus-run-hooks 'gnus-agent-mode-hook))) (defvar gnus-agent-group-mode-map (make-sparse-keymap)) (gnus-define-keys gnus-agent-group-mode-map @@ -239,10 +238,10 @@ (interactive (list (not gnus-plugged))) (if plugged (progn - (run-hooks 'gnus-agent-plugged-hook) + (gnus-run-hooks 'gnus-agent-plugged-hook) (setcar (cdr gnus-agent-mode-status) " Plugged")) (gnus-agent-close-connections) - (run-hooks 'gnus-agent-unplugged-hook) + (gnus-run-hooks 'gnus-agent-unplugged-hook) (setcar (cdr gnus-agent-mode-status) " Unplugged")) (setq gnus-plugged plugged) (set-buffer-modified-p t)) @@ -926,7 +925,7 @@ the actual number of articles toggled is returned." ["Edit groups" gnus-category-edit-groups t] ["Exit" gnus-category-exit t])) - (run-hooks 'gnus-category-menu-hook))) + (gnus-run-hooks 'gnus-category-menu-hook))) (defun gnus-category-mode () "Major mode for listing and editing agent categories. @@ -952,7 +951,7 @@ The following commands are available: (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) - (run-hooks 'gnus-category-mode-hook)) + (gnus-run-hooks 'gnus-category-mode-hook)) (defalias 'gnus-category-position-point 'gnus-goto-colon) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 5bebe19..f4f5148 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -1,5 +1,5 @@ ;;; gnus-art.el --- article mode commands for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -95,7 +95,7 @@ "^Date-Received:" "^References:" "^Control:" "^Xref:" "^Lines:" "^Posted:" "^Relay-Version:" "^Message-ID:" "^Nf-ID:" "^Nf-From:" "^Approved:" "^Sender:" "^Received:" "^Mail-from:") - "All headers that start with this regexp will be hidden. + "*All headers that start with this regexp will be hidden. This variable can also be a list of regexps of headers to be ignored. If `gnus-visible-headers' is non-nil, this variable will be ignored." :type '(choice :custom-show nil @@ -105,7 +105,7 @@ If `gnus-visible-headers' is non-nil, this variable will be ignored." (defcustom gnus-visible-headers "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|X-Sent:" - "All headers that do not match this regexp will be hidden. + "*All headers that do not match this regexp will be hidden. This variable can also be a list of regexp of headers to remain visible. If this variable is non-nil, `gnus-ignored-headers' will be ignored." :type '(repeat :value-to-internal (lambda (widget value) @@ -119,7 +119,7 @@ If this variable is non-nil, `gnus-ignored-headers' will be ignored." (defcustom gnus-sorted-header-list '("^From:" "^Subject:" "^Summary:" "^Keywords:" "^Newsgroups:" "^Followup-To:" "^To:" "^Cc:" "^Date:" "^Organization:") - "This variable is a list of regular expressions. + "*This variable is a list of regular expressions. If it is non-nil, headers that match the regular expressions will be placed first in the article buffer in the sequence specified by this list." @@ -127,7 +127,7 @@ this list." :group 'gnus-article-hiding) (defcustom gnus-boring-article-headers '(empty followup-to reply-to) - "Headers that are only to be displayed if they have interesting data. + "*Headers that are only to be displayed if they have interesting data. Possible values in this list are `empty', `newsgroups', `followup-to', `reply-to', `date', `long-to', and `many-to'." :type '(set (const :tag "Headers with no content." empty) @@ -140,7 +140,7 @@ Possible values in this list are `empty', `newsgroups', `followup-to', :group 'gnus-article-hiding) (defcustom gnus-signature-separator '("^-- $" "^-- *$") - "Regexp matching signature separator. + "*Regexp matching signature separator. This can also be a list of regexps. In that case, it will be checked from head to tail looking for a separator. Searches will be done from the end of the buffer." @@ -148,7 +148,7 @@ the end of the buffer." :group 'gnus-article-signature) (defcustom gnus-signature-limit nil - "Provide a limit to what is considered a signature. + "*Provide a limit to what is considered a signature. If it is a number, no signature may not be longer (in characters) than that number. If it is a floating point number, no signature may be longer (in lines) than that number. If it is a function, the function @@ -162,20 +162,20 @@ regexp. If it matches, the text in question is not a signature." :group 'gnus-article-signature) (defcustom gnus-hidden-properties '(invisible t intangible t) - "Property list to use for hiding text." + "*Property list to use for hiding text." :type 'sexp :group 'gnus-article-hiding) (defcustom gnus-article-x-face-command "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -" - "String or function to be executed to display an X-Face header. + "*String or function to be executed to display an X-Face header. If it is a string, the command will be executed in a sub-shell asynchronously. The compressed face will be piped to this command." :type 'string ;Leave function case to Lisp. :group 'gnus-article-washing) (defcustom gnus-article-x-face-too-ugly nil - "Regexp matching posters whose face shouldn't be shown automatically." + "*Regexp matching posters whose face shouldn't be shown automatically." :type '(choice regexp (const nil)) :group 'gnus-article-washing) @@ -198,7 +198,7 @@ asynchronously. The compressed face will be piped to this command." (format format (car spec) (cadr spec)) 2 3 (intern (format "gnus-emphasis-%s" (caddr spec))))) types))) - "Alist that says how to fontify certain phrases. + "*Alist that says how to fontify certain phrases. Each item looks like this: (\"_\\\\(\\\\w+\\\\)_\" 0 1 'underline) @@ -246,7 +246,7 @@ Esample: (_/*word*/_)." :group 'gnus-article-emphasis) (defcustom gnus-article-time-format "%a, %b %d %Y %T %Z" - "Format for display of Date headers in article bodies. + "*Format for display of Date headers in article bodies. See `format-time-string' for the possible values. The variable can also be function, which should return a complete Date @@ -280,7 +280,7 @@ each invocation of the saving commands." (sexp :tag "once" :format "%t\n" :value t))) (defcustom gnus-saved-headers gnus-visible-headers - "Headers to keep if `gnus-save-all-headers' is nil. + "*Headers to keep if `gnus-save-all-headers' is nil. If `gnus-save-all-headers' is non-nil, this variable will be ignored. If that variable is nil, however, all headers that match this regexp will be kept while the rest will be deleted before saving." @@ -288,7 +288,7 @@ will be kept while the rest will be deleted before saving." :type 'regexp) (defcustom gnus-default-article-saver 'gnus-summary-save-in-rmail - "A function to save articles in your favourite format. + "*A function to save articles in your favourite format. The function must be interactively callable (in other words, it must be an Emacs command). @@ -309,25 +309,25 @@ Gnus provides the following functions: (function-item gnus-summary-write-to-file))) (defcustom gnus-rmail-save-name 'gnus-plain-save-name - "A function generating a file name to save articles in Rmail format. + "*A function generating a file name to save articles in Rmail format. The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE." :group 'gnus-article-saving :type 'function) (defcustom gnus-mail-save-name 'gnus-plain-save-name - "A function generating a file name to save articles in Unix mail format. + "*A function generating a file name to save articles in Unix mail format. The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE." :group 'gnus-article-saving :type 'function) (defcustom gnus-folder-save-name 'gnus-folder-save-name - "A function generating a file name to save articles in MH folder. + "*A function generating a file name to save articles in MH folder. The function is called with NEWSGROUP, HEADERS, and optional LAST-FOLDER." :group 'gnus-article-saving :type 'function) (defcustom gnus-file-save-name 'gnus-numeric-save-name - "A function generating a file name to save articles in article format. + "*A function generating a file name to save articles in article format. The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE." :group 'gnus-article-saving @@ -336,7 +336,7 @@ LAST-FILE." (defcustom gnus-split-methods '((gnus-article-archive-name) (gnus-article-nndoc-name)) - "Variable used to suggest where articles are to be saved. + "*Variable used to suggest where articles are to be saved. For instance, if you would like to save articles related to Gnus in the file \"gnus-stuff\", and articles related to VM in \"vm-stuff\", you could set this variable to something like: @@ -366,7 +366,7 @@ be used as possible file names." :type 'boolean) (defcustom gnus-show-mime-method 'metamail-buffer - "Function to process a MIME message. + "*Function to process a MIME message. The function is called from the article buffer." :group 'gnus-article-mime :type 'function) @@ -412,7 +412,7 @@ If you want to run a special decoding program like nkf, use this hook." :group 'gnus-article-various) (defcustom gnus-article-button-face 'bold - "Face used for highlighting buttons in the article buffer. + "*Face used for highlighting buttons in the article buffer. An article button is a piece of text that you can activate by pressing `RET' or `mouse-2' above it." @@ -420,7 +420,7 @@ An article button is a piece of text that you can activate by pressing :group 'gnus-article-buttons) (defcustom gnus-article-mouse-face 'highlight - "Face used for mouse highlighting in the article buffer. + "*Face used for mouse highlighting in the article buffer. Article buttons will be displayed in this face when the cursor is above them." @@ -428,7 +428,7 @@ above them." :group 'gnus-article-buttons) (defcustom gnus-signature-face 'gnus-signature-face - "Face used for highlighting a signature in the article buffer. + "*Face used for highlighting a signature in the article buffer. Obsolete; use the face `gnus-signature-face' for customizations instead." :type 'face :group 'gnus-article-highlight @@ -510,7 +510,7 @@ Obsolete; use the face `gnus-signature-face' for customizations instead." ("Subject" nil gnus-header-subject-face) ("Newsgroups:.*," nil gnus-header-newsgroups-face) ("" gnus-header-name-face gnus-header-content-face)) - "Controls highlighting of article header. + "*Controls highlighting of article header. An alist of the form (HEADER NAME CONTENT). @@ -1036,7 +1036,7 @@ always hide." (gnus-article-hide-text-type (match-beginning 0) (match-end 0) 'pgp)) (widen)) - (run-hooks 'gnus-article-hide-pgp-hook)))))) + (gnus-run-hooks 'gnus-article-hide-pgp-hook)))))) (defun article-hide-pem (&optional arg) "Toggle hiding of any PEM headers and signatures in the current article. @@ -1927,7 +1927,7 @@ If variable `gnus-use-long-file-name' is non-nil, it is (define-key gnus-article-mode-map [menu-bar post] (cons "Post" gnus-summary-post-menu))) - (run-hooks 'gnus-article-menu-hook))) + (gnus-run-hooks 'gnus-article-menu-hook))) (defun gnus-article-mode () "Major mode for displaying an article. @@ -1963,7 +1963,7 @@ commands: (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (set-syntax-table gnus-article-mode-syntax-table) - (run-hooks 'gnus-article-mode-hook)) + (gnus-run-hooks 'gnus-article-mode-hook)) (defun gnus-article-setup-buffer () "Initialize the article buffer." @@ -2096,10 +2096,10 @@ If ALL-HEADERS is non-nil, no headers are hidden." (setq gnus-current-headers nil)) (gnus-summary-goto-subject gnus-current-article) (gnus-summary-show-thread) - (run-hooks 'gnus-mark-article-hook) + (gnus-run-hooks 'gnus-mark-article-hook) (gnus-set-mode-line 'summary) (when (gnus-visual-p 'article-highlight 'highlight) - (run-hooks 'gnus-visual-mark-article-hook)) + (gnus-run-hooks 'gnus-visual-mark-article-hook)) ;; Set the global newsgroup variables here. ;; Suggested by Jim Sisolak ;; . @@ -2119,8 +2119,8 @@ If ALL-HEADERS is non-nil, no headers are hidden." ;; Hooks for getting information from the article. ;; This hook must be called before being narrowed. (let (buffer-read-only) - (run-hooks 'internal-hook) - (run-hooks 'gnus-article-prepare-hook) + (gnus-run-hooks 'internal-hook) + (gnus-run-hooks 'gnus-article-prepare-hook) ;; Decode MIME message. (when gnus-show-mime (if (or (not gnus-strict-mime) @@ -2130,7 +2130,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." (funcall gnus-show-mime-method)) (funcall gnus-decode-encoded-word-method))) ;; Perform the article display hooks. - (run-hooks 'gnus-article-display-hook)) + (gnus-run-hooks 'gnus-article-display-hook)) ;; Do page break. (goto-char (point-min)) (setq gnus-page-broken @@ -2552,7 +2552,7 @@ If given a prefix, show the hidden text instead." ;;; (defcustom gnus-article-edit-mode-hook nil - "Hook run in article edit mode buffers." + "*Hook run in article edit mode buffers." :group 'gnus-article-various :type 'hook) @@ -2586,7 +2586,7 @@ This is an extended text-mode. (setq buffer-read-only nil) (buffer-enable-undo) (widen) - (run-hooks 'text-mode 'gnus-article-edit-mode-hook)) + (gnus-run-hooks 'text-mode 'gnus-article-edit-mode-hook)) (defun gnus-article-edit (&optional force) "Edit the current article. @@ -2702,7 +2702,7 @@ groups." ;;; Internal Variables: (defcustom gnus-button-url-regexp "\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?\\([-a-zA-Z0-9_=!?#$@~`%&*+|\\/:;.,]\\|\\w\\)+\\([-a-zA-Z0-9_=#$@~`%&*+|\\/]\\|\\w\\)" - "Regular expression that matches URLs." + "*Regular expression that matches URLs." :group 'gnus-article-buttons :type 'regexp) @@ -2721,7 +2721,7 @@ groups." ("]*\\)>" 0 t gnus-button-embedded-url 1) ;; Raw URLs. (,gnus-button-url-regexp 0 t gnus-button-url 0)) - "Alist of regexps matching buttons in article bodies. + "*Alist of regexps matching buttons in article bodies. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where REGEXP: is the string matching text around the button, @@ -2753,7 +2753,7 @@ variable it the real callback function." ("^[^:]+:" ,gnus-button-url-regexp 0 t gnus-button-url 0) ("^[^:]+:" "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)" 1 t gnus-button-message-id 3)) - "Alist of headers and regexps to match buttons in article heads. + "*Alist of headers and regexps to match buttons in article heads. This alist is very similar to `gnus-button-alist', except that each alist has an additional HEADER element first in each entry: diff --git a/lisp/gnus-async.el b/lisp/gnus-async.el index c8a9cf1..755d55c 100644 --- a/lisp/gnus-async.el +++ b/lisp/gnus-async.el @@ -1,5 +1,5 @@ ;;; gnus-async.el --- asynchronous support for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -51,7 +51,7 @@ if t, prefetch as many articles as possible." (integer :tag "some" 0))) (defcustom gnus-prefetched-article-deletion-strategy '(read exit) - "List of symbols that say when to remove articles from the prefetch buffer. + "*List of symbols that say when to remove articles from the prefetch buffer. Possible values in this list are `read', which means that articles are removed as they are read, and `exit', which means that all articles belonging to a group are removed on exit @@ -65,7 +65,7 @@ from that group." :type 'boolean) (defcustom gnus-async-prefetch-article-p 'gnus-async-unread-p - "Function called to say whether an article should be prefetched or not. + "*Function called to say whether an article should be prefetched or not. The function is called with one parameter -- the article data. It should return non-nil if the article is to be prefetched." :group 'gnus-asynchronous diff --git a/lisp/gnus-audio.el b/lisp/gnus-audio.el index db02fd5..f3bb686 100644 --- a/lisp/gnus-audio.el +++ b/lisp/gnus-audio.el @@ -2,7 +2,6 @@ ;; Copyright (C) 1996 Free Software Foundation ;; Author: Steven L. Baur -;; Keywords: news ;; This file is part of GNU Emacs. @@ -71,14 +70,14 @@ ; "Enable Sound Effects for Gnus." ; (interactive) ; (setq gnus-audio-effects-enabled t) -; (run-hooks gnus-audio-enable-hooks)) +; (gnus-run-hooks gnus-audio-enable-hooks)) ;;;###autoload ;(defun gnus-audio-disable-sound () ; "Disable Sound Effects for Gnus." ; (interactive) ; (setq gnus-audio-effects-enabled nil) -; (run-hooks gnus-audio-disable-hooks)) +; (gnus-run-hooks gnus-audio-disable-hooks)) ;;;###autoload (defun gnus-audio-play (file) diff --git a/lisp/gnus-bcklg.el b/lisp/gnus-bcklg.el index d3f2ac5..457770f 100644 --- a/lisp/gnus-bcklg.el +++ b/lisp/gnus-bcklg.el @@ -1,5 +1,5 @@ ;;; gnus-bcklg.el --- backlog functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index 592fe35..ea61f5d 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -1,5 +1,5 @@ ;;; gnus-cache.el --- cache interface for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -51,12 +51,12 @@ :type 'file) (defcustom gnus-cache-enter-articles '(ticked dormant) - "Classes of articles to enter into the cache." + "*Classes of articles to enter into the cache." :group 'gnus-cache :type '(set (const ticked) (const dormant) (const unread) (const read))) (defcustom gnus-cache-remove-articles '(read) - "Classes of articles to remove from the cache." + "*Classes of articles to remove from the cache." :group 'gnus-cache :type '(set (const ticked) (const dormant) (const unread) (const read))) diff --git a/lisp/gnus-cite.el b/lisp/gnus-cite.el index 7aa68ab..7086f8b 100644 --- a/lisp/gnus-cite.el +++ b/lisp/gnus-cite.el @@ -1,5 +1,5 @@ ;;; gnus-cite.el --- parse citations in articles for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Keywords: news, mail @@ -41,30 +41,30 @@ (defcustom gnus-cite-reply-regexp "^\\(Subject: Re\\|In-Reply-To\\|References\\):" - "If headers match this regexp it is reasonable to believe that + "*If headers match this regexp it is reasonable to believe that article has citations." :group 'gnus-cite :type 'string) (defcustom gnus-cite-always-check nil - "Check article always for citations. Set it t to check all articles." + "*Check article always for citations. Set it t to check all articles." :group 'gnus-cite :type '(choice (const :tag "no" nil) (const :tag "yes" t))) (defcustom gnus-cited-text-button-line-format "%(%{[...]%}%)\n" - "Format of cited text buttons." + "*Format of cited text buttons." :group 'gnus-cite :type 'string) (defcustom gnus-cited-lines-visible nil - "The number of lines of hidden cited text to remain visible." + "*The number of lines of hidden cited text to remain visible." :group 'gnus-cite :type '(choice (const :tag "none" nil) integer)) (defcustom gnus-cite-parse-max-size 25000 - "Maximum article size (in bytes) where parsing citations is allowed. + "*Maximum article size (in bytes) where parsing citations is allowed. Set it to nil to parse all articles." :group 'gnus-cite :type '(choice (const :tag "all" nil) @@ -72,43 +72,43 @@ Set it to nil to parse all articles." (defcustom gnus-cite-prefix-regexp "^[]>|:}+ ]*[]>|:}+]\\(.*>\\)?\\|^.*>" - "Regexp matching the longest possible citation prefix on a line." + "*Regexp matching the longest possible citation prefix on a line." :group 'gnus-cite :type 'regexp) (defcustom gnus-cite-max-prefix 20 - "Maximum possible length for a citation prefix." + "*Maximum possible length for a citation prefix." :group 'gnus-cite :type 'integer) (defcustom gnus-supercite-regexp (concat "^\\(" gnus-cite-prefix-regexp "\\)? *" ">>>>> +\"\\([^\"\n]+\\)\" +==") - "Regexp matching normal Supercite attribution lines. + "*Regexp matching normal Supercite attribution lines. The first grouping must match prefixes added by other packages." :group 'gnus-cite :type 'regexp) (defcustom gnus-supercite-secondary-regexp "^.*\"\\([^\"\n]+\\)\" +==" - "Regexp matching mangled Supercite attribution lines. + "*Regexp matching mangled Supercite attribution lines. The first regexp group should match the Supercite attribution." :group 'gnus-cite :type 'regexp) (defcustom gnus-cite-minimum-match-count 2 - "Minimum number of identical prefixes before we believe it's a citation." + "*Minimum number of identical prefixes before we believe it's a citation." :group 'gnus-cite :type 'integer) (defcustom gnus-cite-attribution-prefix "in article\\|in <\\|On \\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\)," - "Regexp matching the beginning of an attribution line." + "*Regexp matching the beginning of an attribution line." :group 'gnus-cite :type 'regexp) (defcustom gnus-cite-attribution-suffix "\\(\\(wrote\\|writes\\|said\\|says\\|>\\)\\(:\\|\\.\\.\\.\\)\\)[ \t]*$" - "Regexp matching the end of an attribution line. + "*Regexp matching the end of an attribution line. The text matching the first grouping will be used as a button." :group 'gnus-cite :type 'regexp) @@ -118,7 +118,7 @@ The text matching the first grouping will be used as a button." "Face used for attribution lines.") (defcustom gnus-cite-attribution-face 'gnus-cite-attribution-face - "Face used for attribution lines. + "*Face used for attribution lines. It is merged with the face for the cited text belonging to the attribution." :group 'gnus-cite :type 'face) @@ -237,7 +237,7 @@ It is merged with the face for the cited text belonging to the attribution." '(gnus-cite-face-1 gnus-cite-face-2 gnus-cite-face-3 gnus-cite-face-4 gnus-cite-face-5 gnus-cite-face-6 gnus-cite-face-7 gnus-cite-face-8 gnus-cite-face-9 gnus-cite-face-10 gnus-cite-face-11) - "List of faces used for highlighting citations. + "*List of faces used for highlighting citations. When there are citations from multiple articles in the same message, Gnus will try to give each citation from each article its own face. @@ -246,12 +246,12 @@ This should make it easier to see who wrote what." :type '(repeat face)) (defcustom gnus-cite-hide-percentage 50 - "Only hide excess citation if above this percentage of the body." + "*Only hide excess citation if above this percentage of the body." :group 'gnus-cite :type 'number) (defcustom gnus-cite-hide-absolute 10 - "Only hide excess citation if above this number of lines in the body." + "*Only hide excess citation if above this number of lines in the body." :group 'gnus-cite :type 'integer) diff --git a/lisp/gnus-cus.el b/lisp/gnus-cus.el index 339914b..4416895 100644 --- a/lisp/gnus-cus.el +++ b/lisp/gnus-cus.el @@ -51,7 +51,7 @@ if that value is non-nil." (setq major-mode 'gnus-custom-mode mode-name "Gnus Customize") (use-local-map widget-keymap) - (run-hooks 'gnus-custom-mode-hook)) + (gnus-run-hooks 'gnus-custom-mode-hook)) ;;; Group Customization: diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index 8347e55..6c882ca 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -1,5 +1,5 @@ ;;; gnus-demon.el --- daemonic Gnus behaviour -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -41,7 +41,7 @@ :group 'gnus) (defcustom gnus-demon-handlers nil - "Alist of daemonic handlers to be run at intervals. + "*Alist of daemonic handlers to be run at intervals. Each handler is a list on the form \(FUNCTION TIME IDLE) diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index 9223727..cb3c145 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -1,7 +1,7 @@ ;;; gnus-draft.el --- draft message support for Gnus -;; Copyright (C) 1997 Free Software Foundation, Inc. +;; Copyright (C) 1997,98 Free Software Foundation, Inc. -;; Author: Lars Magne Ingebrigtsen +;; Author: Lars Magne Ingebrigtgnus-run-hooks ;; Keywords: news ;; This file is part of GNU Emacs. @@ -56,7 +56,8 @@ ["Toggle whether to send" gnus-draft-toggle-sending t] ["Edit" gnus-draft-edit-message t] ["Send selected message(s)" gnus-draft-send-message t] - ["Send all messages" gnus-draft-send-all-messages t])))) + ["Send all messages" gnus-draft-send-all-messages t] + ["Delete draft" gnus-summary-delete-article t])))) (defun gnus-draft-mode (&optional arg) "Minor mode for providing a draft summary buffers. @@ -71,7 +72,7 @@ (when (gnus-visual-p 'draft-menu 'menu) (gnus-draft-make-menu-bar)) (gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) - (run-hooks 'gnus-draft-mode-hook)))) + (gnus-run-hooks 'gnus-draft-mode-hook)))) ;;; Commands diff --git a/lisp/gnus-dup.el b/lisp/gnus-dup.el index e0265e3..3fd5795 100644 --- a/lisp/gnus-dup.el +++ b/lisp/gnus-dup.el @@ -1,5 +1,5 @@ ;;; gnus-dup.el --- suppression of duplicate articles in Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-eform.el b/lisp/gnus-eform.el index b8df3d3..3e49eb2 100644 --- a/lisp/gnus-eform.el +++ b/lisp/gnus-eform.el @@ -1,5 +1,5 @@ ;;; gnus-eform.el --- a mode for editing forms for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -37,12 +37,12 @@ :group 'gnus) (defcustom gnus-edit-form-mode-hook nil - "Hook run in `gnus-edit-form-mode' buffers." + "*Hook run in `gnus-edit-form-mode' buffers." :group 'gnus-edit-form :type 'hook) (defcustom gnus-edit-form-menu-hook nil - "Hook run when creating menus in `gnus-edit-form-mode' buffers." + "*Hook run when creating menus in `gnus-edit-form-mode' buffers." :group 'gnus-edit-form :type 'hook) @@ -65,7 +65,7 @@ '("Edit Form" ["Exit and save changes" gnus-edit-form-done t] ["Exit" gnus-edit-form-exit t])) - (run-hooks 'gnus-edit-form-menu-hook))) + (gnus-run-hooks 'gnus-edit-form-menu-hook))) (defun gnus-edit-form-mode () "Major mode for editing forms. @@ -81,7 +81,7 @@ It is a slightly enhanced emacs-lisp-mode. (use-local-map gnus-edit-form-mode-map) (make-local-variable 'gnus-edit-form-done-function) (make-local-variable 'gnus-prev-winconf) - (run-hooks 'gnus-edit-form-mode-hook)) + (gnus-run-hooks 'gnus-edit-form-mode-hook)) (defun gnus-edit-form (form documentation exit-func) "Edit FORM in a new buffer. diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index 142aa32..ec43267 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -1,5 +1,5 @@ ;;; gnus-ems.el --- functions for making Gnus work under different Emacsen -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-gl.el b/lisp/gnus-gl.el index 09cc839..7d1b7de 100644 --- a/lisp/gnus-gl.el +++ b/lisp/gnus-gl.el @@ -1,5 +1,5 @@ ;;; gnus-gl.el --- an interface to GroupLens for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Brad Miller ;; Keywords: news, score @@ -852,7 +852,7 @@ recommend using both scores and grouplens predictions together." (gnus-grouplens-make-menu-bar)) (gnus-add-minor-mode 'gnus-grouplens-mode " GroupLens" gnus-grouplens-mode-map) - (run-hooks 'gnus-grouplens-mode-hook)))) + (gnus-run-hooks 'gnus-grouplens-mode-hook)))) (provide 'gnus-gl) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index fa20954..6597ef1 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1,5 +1,5 @@ ;;; gnus-group.el --- group mode commands for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -196,24 +196,24 @@ with some simple extensions: :type 'string) (defcustom gnus-group-mode-hook nil - "Hook for Gnus group mode." + "*Hook for Gnus group mode." :group 'gnus-group-various :options '(gnus-topic-mode) :type 'hook) (defcustom gnus-group-menu-hook nil - "Hook run after the creation of the group mode menu." + "*Hook run after the creation of the group mode menu." :group 'gnus-group-various :type 'hook) (defcustom gnus-group-catchup-group-hook nil - "Hook run when catching up a group from the group buffer." + "*Hook run when catching up a group from the group buffer." :group 'gnus-group-various :link '(custom-manual "(gnus)Group Data") :type 'hook) (defcustom gnus-group-update-group-hook nil - "Hook called when updating group lines." + "*Hook called when updating group lines." :group 'gnus-group-visual :type 'hook) @@ -230,28 +230,28 @@ The only current function implemented is `gnus-group-prepare-flat'." :type 'function) (defcustom gnus-group-prepare-hook nil - "Hook called after the group buffer has been generated. + "*Hook called after the group buffer has been generated. If you want to modify the group buffer, you can use this hook." :group 'gnus-group-listing :type 'hook) (defcustom gnus-suspend-gnus-hook nil - "Hook called when suspending (not exiting) Gnus." + "*Hook called when suspending (not exiting) Gnus." :group 'gnus-exit :type 'hook) (defcustom gnus-exit-gnus-hook nil - "Hook called when exiting Gnus." + "*Hook called when exiting Gnus." :group 'gnus-exit :type 'hook) (defcustom gnus-after-exiting-gnus-hook nil - "Hook called after exiting Gnus." + "*Hook called after exiting Gnus." :group 'gnus-exit :type 'hook) (defcustom gnus-group-update-hook '(gnus-group-highlight-line) - "Hook called when a group line is changed. + "*Hook called when a group line is changed. The hook will not be called if `gnus-visual' is nil. The default function `gnus-group-highlight-line' will @@ -275,7 +275,7 @@ variable." (unless file (error "Couldn't find doc group")) file)))))) - "Alist of useful group-server pairs." + "*Alist of useful group-server pairs." :group 'gnus-group-listing :type '(repeat (list (string :tag "Description") (string :tag "Name") @@ -316,7 +316,7 @@ variable." gnus-group-mail-low-empty-face) (t . gnus-group-mail-low-face)) - "Controls the highlighting of group buffer lines. + "*Controls the highlighting of group buffer lines. Below is a list of `Form'/`Face' pairs. When deciding how a a particular group line should be displayed, each form is @@ -340,7 +340,7 @@ ticked: The number of ticked articles." :type '(repeat (cons (sexp :tag "Form") face))) (defcustom gnus-new-mail-mark ?% - "Mark used for groups with new mail." + "*Mark used for groups with new mail." :group 'gnus-group-visual :type 'character) @@ -730,7 +730,7 @@ ticked: The number of ticked articles." ["Exit from Gnus" gnus-group-exit t] ["Exit without saving" gnus-group-quit t])) - (run-hooks 'gnus-group-menu-hook))) + (gnus-run-hooks 'gnus-group-menu-hook))) (defun gnus-group-mode () "Major mode for reading news. @@ -769,7 +769,7 @@ The following commands are available: (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t) (when gnus-use-undo (gnus-undo-mode 1)) - (run-hooks 'gnus-group-mode-hook)) + (gnus-run-hooks 'gnus-group-mode-hook)) (defun gnus-update-group-mark-positions () (save-excursion @@ -948,7 +948,7 @@ If REGEXP, only list groups matching REGEXP." (gnus-group-set-mode-line) (setq gnus-group-list-mode (cons level all)) - (run-hooks 'gnus-group-prepare-hook) + (gnus-run-hooks 'gnus-group-prepare-hook) t)) (defun gnus-group-prepare-flat-list-dead (groups level mark regexp) @@ -1090,7 +1090,7 @@ If REGEXP, only list groups matching REGEXP." gnus-level ,gnus-tmp-level)) (when (inline (gnus-visual-p 'group-highlight 'highlight)) (forward-line -1) - (run-hooks 'gnus-group-update-hook) + (gnus-run-hooks 'gnus-group-update-hook) (forward-line)) ;; Allow XEmacs to remove front-sticky text properties. (gnus-group-remove-excess-properties))) @@ -1163,7 +1163,7 @@ already." (gnus-group-insert-group-line-info group) (save-excursion (forward-line -1) - (run-hooks 'gnus-group-update-group-hook))) + (gnus-run-hooks 'gnus-group-update-group-hook))) (setq loc (1+ loc))) (unless (or found visible-only) ;; No such line in the buffer, find out where it's supposed to @@ -1185,7 +1185,7 @@ already." (gnus-group-insert-group-line-info group) (save-excursion (forward-line -1) - (run-hooks 'gnus-group-update-group-hook)))) + (gnus-run-hooks 'gnus-group-update-group-hook)))) (when gnus-group-update-group-function (funcall gnus-group-update-group-function group)) (gnus-group-set-mode-line))) @@ -1898,6 +1898,7 @@ and NEW-NAME will be prompted for." (gnus-set-active new-name (gnus-active group)) (gnus-message 6 "Renaming group %s to %s...done" group new-name) new-name) + (gnus-dribble-touch) (gnus-group-position-point))) (defun gnus-group-edit-group (group &optional part) @@ -2479,7 +2480,7 @@ or nil if no action could be taken." (gnus-add-marked-articles group 'tick nil nil 'force) (gnus-add-marked-articles group 'dormant nil nil 'force)) (let ((gnus-newsgroup-name group)) - (run-hooks 'gnus-group-catchup-group-hook)) + (gnus-run-hooks 'gnus-group-catchup-group-hook)) num)))) (defun gnus-group-expire-articles (&optional n) @@ -2869,7 +2870,7 @@ re-scanning. If ARG is non-nil and not a number, this will force \"hard\" re-reading of the active files from all servers." (interactive "P") (let ((gnus-inhibit-demon t)) - (run-hooks 'gnus-get-new-news-hook) + (gnus-run-hooks 'gnus-get-new-news-hook) ;; Read any slave files. (unless gnus-slave @@ -2896,7 +2897,7 @@ re-scanning. If ARG is non-nil and not a number, this will force (gnus-get-unread-articles arg)) (let ((gnus-read-active-file (if arg nil gnus-read-active-file))) (gnus-get-unread-articles arg))) - (run-hooks 'gnus-after-getting-new-news-hook) + (gnus-run-hooks 'gnus-after-getting-new-news-hook) (gnus-group-list-groups (and (numberp arg) (max (car gnus-group-list-mode) arg))))) @@ -3153,7 +3154,7 @@ If GROUP, edit that local kill file instead." In fact, cleanup buffers except for group mode buffer. The hook gnus-suspend-gnus-hook is called before actually suspending." (interactive) - (run-hooks 'gnus-suspend-gnus-hook) + (gnus-run-hooks 'gnus-suspend-gnus-hook) ;; Kill Gnus buffers except for group mode buffer. (let* ((group-buf (get-buffer gnus-group-buffer)) ;; Do this on a separate list in case the user does a ^G before we finish @@ -3183,7 +3184,7 @@ The hook `gnus-exit-gnus-hook' is called before actually exiting." (not gnus-interactive-exit) ;Without confirmation gnus-expert-user (gnus-y-or-n-p "Are you sure you want to quit reading news? ")) - (run-hooks 'gnus-exit-gnus-hook) + (gnus-run-hooks 'gnus-exit-gnus-hook) ;; Offer to save data from non-quitted summary buffers. (gnus-offer-save-summaries) ;; Save the newsrc file(s). @@ -3193,7 +3194,7 @@ The hook `gnus-exit-gnus-hook' is called before actually exiting." ;; Reset everything. (gnus-clear-system) ;; Allow the user to do things after cleaning up. - (run-hooks 'gnus-after-exiting-gnus-hook))) + (gnus-run-hooks 'gnus-after-exiting-gnus-hook))) (defun gnus-group-quit () "Quit reading news without updating .newsrc.eld or .newsrc. @@ -3207,14 +3208,14 @@ The hook `gnus-exit-gnus-hook' is called before actually exiting." (gnus-yes-or-no-p (format "Quit reading news without saving %s? " (file-name-nondirectory gnus-current-startup-file)))) - (run-hooks 'gnus-exit-gnus-hook) + (gnus-run-hooks 'gnus-exit-gnus-hook) (gnus-configure-windows 'group t) (gnus-dribble-save) (gnus-close-backends) (gnus-clear-system) (gnus-kill-buffer gnus-group-buffer) ;; Allow the user to do things after cleaning up. - (run-hooks 'gnus-after-exiting-gnus-hook))) + (gnus-run-hooks 'gnus-after-exiting-gnus-hook))) (defun gnus-group-describe-briefly () "Give a one line description of the group mode commands." diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index 674f2be..9d31183 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -1,5 +1,5 @@ ;;; gnus-int.el --- backend interface functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -30,7 +30,7 @@ (require 'gnus) (defcustom gnus-open-server-hook nil - "Hook called just before opening connection to the news server." + "*Hook called just before opening connection to the news server." :group 'gnus-start :type 'hook) @@ -86,7 +86,7 @@ If CONFIRM is non-nil, the user will be asked for an NNTP server." (t (require 'nntp))) (setq gnus-current-select-method gnus-select-method) - (run-hooks 'gnus-open-server-hook) + (gnus-run-hooks 'gnus-open-server-hook) (or ;; gnus-open-server-hook might have opened it (gnus-server-opened gnus-select-method) @@ -121,7 +121,7 @@ If it is down, start it up (again)." (gnus-message 5 "Opening %s server%s..." (car method) (if (equal (nth 1 method) "") "" (format " on %s" (nth 1 method))))) - (run-hooks 'gnus-open-server-hook) + (gnus-run-hooks 'gnus-open-server-hook) (prog1 (gnus-open-server method) (unless silent diff --git a/lisp/gnus-kill.el b/lisp/gnus-kill.el index 92e091f..faddfdd 100644 --- a/lisp/gnus-kill.el +++ b/lisp/gnus-kill.el @@ -1,5 +1,5 @@ ;;; gnus-kill.el --- kill commands for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -33,7 +33,7 @@ (require 'gnus-range) (defcustom gnus-kill-file-mode-hook nil - "Hook for Gnus kill file mode." + "*Hook for Gnus kill file mode." :group 'gnus-score-kill :type 'hook) @@ -49,7 +49,7 @@ :type 'boolean) (defcustom gnus-winconf-kill-file nil - "What does this do, Lars?" + "*What does this do, Lars?" :group 'gnus-score-kill :type 'sexp) @@ -159,7 +159,7 @@ gnus-kill-file-mode-hook with no arguments, if that value is non-nil." (setq major-mode 'gnus-kill-file-mode) (setq mode-name "Kill") (lisp-mode-variables nil) - (run-hooks 'emacs-lisp-mode-hook 'gnus-kill-file-mode-hook)) + (gnus-run-hooks 'emacs-lisp-mode-hook 'gnus-kill-file-mode-hook)) (defun gnus-kill-file-edit-file (newsgroup) "Begin editing a kill file for NEWSGROUP. diff --git a/lisp/gnus-logic.el b/lisp/gnus-logic.el index 106fde5..8405e19 100644 --- a/lisp/gnus-logic.el +++ b/lisp/gnus-logic.el @@ -1,5 +1,5 @@ ;;; gnus-logic.el --- advanced scoring code for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-mh.el b/lisp/gnus-mh.el index 0cf74b1..84487f9 100644 --- a/lisp/gnus-mh.el +++ b/lisp/gnus-mh.el @@ -1,5 +1,5 @@ ;;; gnus-mh.el --- mh-e interface for Gnus -;; Copyright (C) 1994,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-move.el b/lisp/gnus-move.el index 801f891..ef39c59 100644 --- a/lisp/gnus-move.el +++ b/lisp/gnus-move.el @@ -1,5 +1,5 @@ ;;; gnus-move.el --- commands for moving Gnus from one server to another -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 3068010..f310eed 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -1,5 +1,5 @@ ;;; gnus-msg.el --- mail and post interface for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -173,7 +173,7 @@ Thank you for your help in stamping out bugs. (set (make-local-variable 'gnus-message-group-art) (cons ,gnus-newsgroup-name ,article)) (make-local-variable 'gnus-newsgroup-name) - (run-hooks 'gnus-message-setup-hook)) + (gnus-run-hooks 'gnus-message-setup-hook)) (gnus-configure-windows ,config t) (set-buffer-modified-p nil)))) diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index a1d4a99..a3c5ebc 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -1,5 +1,5 @@ ;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -40,7 +40,7 @@ (defcustom gnus-nocem-groups '("news.lists.filters" "news.admin.net-abuse.bulletins" "alt.nocem.misc" "news.admin.net-abuse.announce") - "List of groups that will be searched for NoCeM messages." + "*List of groups that will be searched for NoCeM messages." :group 'gnus-nocem :type '(repeat (string :tag "Group"))) @@ -52,7 +52,7 @@ "snowhare@xmission.com" ; Benjamin "Snowhare" Franz "red@redpoll.mrfs.oh.us (Richard E. Depew)" ; ARMM! ARMM! ) - "List of NoCeM issuers to pay attention to. + "*List of NoCeM issuers to pay attention to. This can also be a list of `(ISSUER CONDITIONS)' elements." :group 'gnus-nocem diff --git a/lisp/gnus-picon.el b/lisp/gnus-picon.el index ac8ad2f..5737f28 100644 --- a/lisp/gnus-picon.el +++ b/lisp/gnus-picon.el @@ -1,5 +1,5 @@ ;;; gnus-picon.el --- displaying pretty icons in Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Wes Hardaker ;; Keywords: news xpm annotation glyph faces @@ -62,7 +62,7 @@ see http://www.cs.indiana.edu/picons/ftp/index.html" :group 'picons) (defcustom gnus-picons-news-directories '("news") - "*Sub-directory of the faces database containing the icons for newsgroups." + "*List of directories to search for newsgroups faces." :type '(repeat string) :group 'picons) (define-obsolete-variable-alias 'gnus-picons-news-directory diff --git a/lisp/gnus-range.el b/lisp/gnus-range.el index 6b86f4d..efebc35 100644 --- a/lisp/gnus-range.el +++ b/lisp/gnus-range.el @@ -1,5 +1,5 @@ ;;; gnus-range.el --- range and sequence functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index 07ba0b1..1f546e2 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -1,7 +1,8 @@ ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen +;; Keywords: news ;; This file is part of GNU Emacs. @@ -42,7 +43,7 @@ :group 'gnus-summary-pick) (defcustom gnus-pick-mode-hook nil - "Hook run in summary pick mode buffers." + "*Hook run in summary pick mode buffers." :type 'hook :group 'gnus-summary-pick) @@ -52,7 +53,7 @@ :group 'gnus-summary-pick) (defcustom gnus-pick-elegant-flow t - "If non-nil, gnus-pick-start-reading will run gnus-summary-next-group when no articles have been picked." + "*If non-nil, gnus-pick-start-reading will run gnus-summary-next-group when no articles have been picked." :type 'boolean :group 'gnus-summary-pick) @@ -132,7 +133,7 @@ It accepts the same format specs that `gnus-summary-line-format' does." (when (gnus-visual-p 'pick-menu 'menu) (gnus-pick-make-menu-bar)) (gnus-add-minor-mode 'gnus-pick-mode " Pick" gnus-pick-mode-map) - (run-hooks 'gnus-pick-mode-hook)))) + (gnus-run-hooks 'gnus-pick-mode-hook)))) (defun gnus-pick-setup-message () "Make Message do the right thing on exit." @@ -335,7 +336,7 @@ This must be bound to a button-down mouse event." (when (gnus-visual-p 'binary-menu 'menu) (gnus-binary-make-menu-bar)) (gnus-add-minor-mode 'gnus-binary-mode " Binary" gnus-binary-mode-map) - (run-hooks 'gnus-binary-mode-hook)))) + (gnus-run-hooks 'gnus-binary-mode-hook)))) (defun gnus-binary-display-article (article &optional all-header) "Run ARTICLE through the binary decode functions." @@ -354,12 +355,12 @@ This must be bound to a button-down mouse event." ;;; (defcustom gnus-tree-line-format "%(%[%3,3n%]%)" - "Format of tree elements." + "*Format of tree elements." :type 'string :group 'gnus-summary-tree) (defcustom gnus-tree-minimize-window t - "If non-nil, minimize the tree buffer window. + "*If non-nil, minimize the tree buffer window. If a number, never let the tree buffer grow taller than that number of lines." :type 'boolean @@ -460,7 +461,7 @@ Two predefined functions are available: (gnus-set-work-buffer) (gnus-tree-node-insert (make-mail-header "") nil) (setq gnus-tree-node-length (1- (point)))) - (run-hooks 'gnus-tree-mode-hook)) + (gnus-run-hooks 'gnus-tree-mode-hook)) (defun gnus-tree-read-summary-keys (&optional arg) "Read a summary buffer key sequence and execute it." @@ -955,7 +956,7 @@ The following commands are available: (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (make-local-variable 'gnus-carpal-attached-buffer) - (run-hooks 'gnus-carpal-mode-hook)) + (gnus-run-hooks 'gnus-carpal-mode-hook)) (defun gnus-carpal-setup-buffer (type) (let ((buffer (symbol-value (intern (format "gnus-carpal-%s-buffer" type))))) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 7c4a9f0..5128361 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -1,5 +1,5 @@ ;;; gnus-score.el --- scoring code for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Lars Magne Ingebrigtsen @@ -34,7 +34,7 @@ (require 'message) (defcustom gnus-global-score-files nil - "List of global score files and directories. + "*List of global score files and directories. Set this variable if you want to use people's score files. One entry for each score file or each score file directory. Gnus will decide by itself what score files are applicable to which group. @@ -50,7 +50,7 @@ score files in the \"/ftp.some-where:/pub/score\" directory. :type '(repeat file)) (defcustom gnus-score-file-single-match-alist nil - "Alist mapping regexps to lists of score files. + "*Alist mapping regexps to lists of score files. Each element of this alist should be of the form (\"REGEXP\" [ \"SCORE-FILE-1\" ] [ \"SCORE-FILE-2\" ] ... ) @@ -65,7 +65,7 @@ gnus-score-find-score-files-function (which see)." :type '(repeat (cons regexp (repeat file)))) (defcustom gnus-score-file-multiple-match-alist nil - "Alist mapping regexps to lists of score files. + "*Alist mapping regexps to lists of score files. Each element of this alist should be of the form (\"REGEXP\" [ \"SCORE-FILE-1\" ] [ \"SCORE-FILE-2\" ] ... ) @@ -81,18 +81,18 @@ gnus-score-find-score-files-function (which see)." :type '(repeat (cons regexp (repeat file)))) (defcustom gnus-score-file-suffix "SCORE" - "Suffix of the score files." + "*Suffix of the score files." :group 'gnus-score-files :type 'string) (defcustom gnus-adaptive-file-suffix "ADAPT" - "Suffix of the adaptive score files." + "*Suffix of the adaptive score files." :group 'gnus-score-files :group 'gnus-score-adapt :type 'string) (defcustom gnus-score-find-score-files-function 'gnus-score-find-bnews - "Function used to find score files. + "*Function used to find score files. The function will be called with the group name as the argument, and should return a list of score files to apply to that group. The score files do not actually have to exist. @@ -162,7 +162,7 @@ It is called with one parameter -- the score to be decayed." :type 'number) (defcustom gnus-home-score-file nil - "Variable to control where interactive score entries are to go. + "*Variable to control where interactive score entries are to go. It can be: * A string @@ -199,7 +199,7 @@ It can be: (function :value fun))) (defcustom gnus-home-adapt-file nil - "Variable to control where new adaptive score entries are to go. + "*Variable to control where new adaptive score entries are to go. This variable allows the same syntax as `gnus-home-score-file'." :group 'gnus-score-adapt :group 'gnus-score-files @@ -216,7 +216,7 @@ This variable allows the same syntax as `gnus-home-score-file'." (gnus-catchup-mark (subject -10)) (gnus-killed-mark (from -1) (subject -20)) (gnus-del-mark (from -2) (subject -15))) -"Alist of marks and scores." +"*Alist of marks and scores." :group 'gnus-score-adapt :type '(repeat (cons (symbol :tag "Mark") (repeat (list (choice :tag "Header" @@ -226,7 +226,7 @@ This variable allows the same syntax as `gnus-home-score-file'." (integer :tag "Score")))))) (defcustom gnus-ignored-adaptive-words nil - "List of words to be ignored when doing adaptive word scoring." + "*List of words to be ignored when doing adaptive word scoring." :group 'gnus-score-adapt :type '(repeat string)) @@ -245,7 +245,7 @@ This variable allows the same syntax as `gnus-home-score-file'." "being" "current" "back" "still" "go" "point" "value" "each" "did" "both" "true" "off" "say" "another" "state" "might" "under" "start" "try" "re") - "Default list of words to be ignored when doing adaptive word scoring." + "*Default list of words to be ignored when doing adaptive word scoring." :group 'gnus-score-adapt :type '(repeat string)) @@ -254,13 +254,13 @@ This variable allows the same syntax as `gnus-home-score-file'." (,gnus-catchup-mark . -10) (,gnus-killed-mark . -20) (,gnus-del-mark . -15)) -"Alist of marks and scores." +"*Alist of marks and scores." :group 'gnus-score-adapt :type '(repeat (cons (character :tag "Mark") (integer :tag "Score")))) (defcustom gnus-adaptive-word-minimum nil - "If a number, this is the minimum score value that can be assigned to a word." + "*If a number, this is the minimum score value that can be assigned to a word." :group 'gnus-score-adapt :type '(choice (const nil) integer)) @@ -281,13 +281,13 @@ If this variable is nil, exact matching will always be used." :type '(choice (const nil) integer)) (defcustom gnus-score-uncacheable-files "ADAPT$" - "All score files that match this regexp will not be cached." + "*All score files that match this regexp will not be cached." :group 'gnus-score-adapt :group 'gnus-score-files :type 'regexp) (defcustom gnus-score-default-header nil - "Default header when entering new scores. + "*Default header when entering new scores. Should be one of the following symbols. @@ -317,7 +317,7 @@ If nil, the user will be asked for a header." (const :tag "ask" nil))) (defcustom gnus-score-default-type nil - "Default match type when entering new scores. + "*Default match type when entering new scores. Should be one of the following symbols. @@ -347,12 +347,12 @@ If nil, the user will be asked for a match type." (const :tag "ask" nil))) (defcustom gnus-score-default-fold nil - "Use case folding for new score file entries iff not nil." + "*Use case folding for new score file entries iff not nil." :group 'gnus-score-default :type 'boolean) (defcustom gnus-score-default-duration nil - "Default duration of effect when entering new scores. + "*Default duration of effect when entering new scores. Should be one of the following symbols. @@ -368,7 +368,7 @@ If nil, the user will be asked for a duration." (const :tag "ask" nil))) (defcustom gnus-score-after-write-file-function nil - "Function called with the name of the score file just written to disk." + "*Function called with the name of the score file just written to disk." :group 'gnus-score-files :type 'function) diff --git a/lisp/gnus-soup.el b/lisp/gnus-soup.el index b2376b0..3b593ca 100644 --- a/lisp/gnus-soup.el +++ b/lisp/gnus-soup.el @@ -1,5 +1,5 @@ ;;; gnus-soup.el --- SOUP packet writing support for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index 6db4b31..60be10f 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -1,5 +1,5 @@ ;;; gnus-spec.el --- format spec functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index a556576..3fda74f 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -1,5 +1,5 @@ ;;; gnus-srvr.el --- virtual server support for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -106,7 +106,7 @@ The following specs are understood: ["Close All" gnus-server-close-all-servers t] ["Reset All" gnus-server-remove-denials t])) - (run-hooks 'gnus-server-menu-hook))) + (gnus-run-hooks 'gnus-server-menu-hook))) (defvar gnus-server-mode-map nil) (put 'gnus-server-mode 'mode-class 'special) @@ -164,7 +164,7 @@ The following commands are available: (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) - (run-hooks 'gnus-server-mode-hook)) + (gnus-run-hooks 'gnus-server-mode-hook)) (defun gnus-server-insert-server-line (name method) (let* ((how (car method)) @@ -318,7 +318,7 @@ The following commands are available: (defun gnus-server-exit () "Return to the group buffer." (interactive) - (run-hooks 'gnus-server-exit-hook) + (gnus-run-hooks 'gnus-server-exit-hook) (kill-buffer (current-buffer)) (gnus-configure-windows 'group t)) @@ -536,7 +536,7 @@ The following commands are available: ["Next" gnus-browse-next-group t] ["Prev" gnus-browse-next-group t] ["Exit" gnus-browse-exit t])) - (run-hooks 'gnus-browse-menu-hook))) + (gnus-run-hooks 'gnus-browse-menu-hook))) (defvar gnus-browse-current-method nil) (defvar gnus-browse-return-buffer nil) @@ -634,7 +634,7 @@ buffer. (setq truncate-lines t) (gnus-set-default-directory) (setq buffer-read-only t) - (run-hooks 'gnus-browse-mode-hook)) + (gnus-run-hooks 'gnus-browse-mode-hook)) (defun gnus-browse-read-group (&optional no-article) "Enter the group at the current line." @@ -698,8 +698,8 @@ buffer. ;; If this group it killed, then we want to subscribe it. (when (= (following-char) ?K) (setq sub t)) - (when (gnus-gethash (setq group (gnus-browse-group-name)) - gnus-newsrc-hashtb) + (when (cadr (gnus-gethash (setq group (gnus-browse-group-name)) + gnus-newsrc-hashtb)) (error "Group already subscribed")) ;; Make sure the group has been properly removed before we ;; subscribe to it. diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index ab89649..8ec7c5b 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -1,5 +1,5 @@ ;;; gnus-start.el --- startup functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -35,13 +35,13 @@ (eval-when-compile (require 'cl)) (defcustom gnus-startup-file (nnheader-concat gnus-home-directory ".newsrc") - "Your `.newsrc' file. + "*Your `.newsrc' file. `.newsrc-SERVER' will be used instead if that exists." :group 'gnus-start :type 'file) (defcustom gnus-init-file (nnheader-concat gnus-home-directory ".gnus") - "Your Gnus Emacs-Lisp startup file name. + "*Your Gnus Emacs-Lisp startup file name. If a file with the `.el' or `.elc' suffixes exists, it will be read instead." :group 'gnus-start :type 'file) @@ -52,13 +52,13 @@ If a file with the `.el' or `.elc' suffixes exists, it will be read instead." (directory-file-name installation-directory)) "site-lisp/gnus-init") (error nil)) - "The site-wide Gnus Emacs-Lisp startup file name, or nil if none. + "*The site-wide Gnus Emacs-Lisp startup file name, or nil if none. If a file with the `.el' or `.elc' suffixes exists, it will be read instead." :group 'gnus-start :type '(choice file (const nil))) (defcustom gnus-default-subscribed-newsgroups nil - "List of newsgroups to subscribe, when a user runs Gnus the first time. + "*List of newsgroups to subscribe, when a user runs Gnus the first time. The value should be a list of strings. If it is t, Gnus will not do anything special the first time it is started; it'll just use the normal newsgroups subscription methods." @@ -229,7 +229,7 @@ not match this regexp will be removed before saving the list." "[][\"#'()]" ; bogus characters ) "\\|")) - "A regexp to match uninteresting newsgroups in the active file. + "*A regexp to match uninteresting newsgroups in the active file. Any lines in the active file matching this regular expression are removed from the newsgroup list before anything else is done to it, thus making them effectively non-existent." @@ -328,57 +328,57 @@ disc." :type 'boolean) (defcustom gnus-check-bogus-groups-hook nil - "A hook run after removing bogus groups." + "*A hook run after removing bogus groups." :group 'gnus-start-server :type 'hook) (defcustom gnus-startup-hook nil - "A hook called at startup. + "*A hook called at startup. This hook is called after Gnus is connected to the NNTP server." :group 'gnus-start :type 'hook) (defcustom gnus-before-startup-hook nil - "A hook called at before startup. + "*A hook called at before startup. This hook is called as the first thing when Gnus is started." :group 'gnus-start :type 'hook) (defcustom gnus-started-hook nil - "A hook called as the last thing after startup." + "*A hook called as the last thing after startup." :group 'gnus-start :type 'hook) (defcustom gnus-setup-news-hook nil - "A hook after reading the .newsrc file, but before generating the buffer." + "*A hook after reading the .newsrc file, but before generating the buffer." :group 'gnus-start :type 'hook) (defcustom gnus-get-new-news-hook nil - "A hook run just before Gnus checks for new news." + "*A hook run just before Gnus checks for new news." :group 'gnus-group-new :type 'hook) (defcustom gnus-after-getting-new-news-hook (when (gnus-boundp 'display-time-timer) '(display-time-event-handler)) - "A hook run after Gnus checks for new news." + "*A hook run after Gnus checks for new news." :group 'gnus-group-new :type 'hook) (defcustom gnus-save-newsrc-hook nil - "A hook called before saving any of the newsrc files." + "*A hook called before saving any of the newsrc files." :group 'gnus-newsrc :type 'hook) (defcustom gnus-save-quick-newsrc-hook nil - "A hook called just before saving the quick newsrc file. + "*A hook called just before saving the quick newsrc file. Can be used to turn version control on or off." :group 'gnus-newsrc :type 'hook) (defcustom gnus-save-standard-newsrc-hook nil - "A hook called just before saving the standard newsrc file. + "*A hook called just before saving the standard newsrc file. Can be used to turn version control on or off." :group 'gnus-newsrc :type 'hook) @@ -656,7 +656,7 @@ prompt the user for the name of an NNTP server to use." (gnus-splash) (gnus-clear-system) - (run-hooks 'gnus-before-startup-hook) + (gnus-run-hooks 'gnus-before-startup-hook) (nnheader-init-server-buffer) (setq gnus-slave slave) (gnus-read-init-file) @@ -680,7 +680,7 @@ prompt the user for the name of an NNTP server to use." (if (and (not dont-connect) (not did-connect)) (gnus-group-quit) - (run-hooks 'gnus-startup-hook) + (gnus-run-hooks 'gnus-startup-hook) ;; NNTP server is successfully open. ;; Find the current startup file name. @@ -698,14 +698,14 @@ prompt the user for the name of an NNTP server to use." ;; Do the actual startup. (gnus-setup-news nil level dont-connect) - (run-hooks 'gnus-setup-news-hook) + (gnus-run-hooks 'gnus-setup-news-hook) (gnus-start-draft-setup) ;; Generate the group buffer. (gnus-group-list-groups level) (gnus-group-first-unread-group) (gnus-configure-windows 'group) (gnus-group-set-mode-line) - (run-hooks 'gnus-started-hook)))))) + (gnus-run-hooks 'gnus-started-hook)))))) (defun gnus-start-draft-setup () "Make sure the draft group exists." @@ -1299,7 +1299,7 @@ newsgroup." (set (car dead-lists) (delete group (symbol-value (car dead-lists)))))) (setq dead-lists (cdr dead-lists)))) - (run-hooks 'gnus-check-bogus-groups-hook) + (gnus-run-hooks 'gnus-check-bogus-groups-hook) (gnus-message 5 "Checking bogus newsgroups...done")))) (defun gnus-check-duplicate-killed-groups () @@ -2225,7 +2225,7 @@ If FORCE is non-nil, the .newsrc file is read." (set-buffer gnus-dribble-buffer) (buffer-size))))) (gnus-message 4 "(No changes need to be saved)") - (run-hooks 'gnus-save-newsrc-hook) + (gnus-run-hooks 'gnus-save-newsrc-hook) (if gnus-slave (gnus-slave-save-newsrc) ;; Save .newsrc. @@ -2245,7 +2245,7 @@ If FORCE is non-nil, the .newsrc file is read." (erase-buffer) (gnus-message 5 "Saving %s.eld..." gnus-current-startup-file) (gnus-gnus-to-quick-newsrc-format) - (run-hooks 'gnus-save-quick-newsrc-hook) + (gnus-run-hooks 'gnus-save-quick-newsrc-hook) (save-buffer) (kill-buffer (current-buffer)) (gnus-message @@ -2347,7 +2347,7 @@ If FORCE is non-nil, the .newsrc file is read." (if gnus-modtime-botch (delete-file gnus-startup-file) (clear-visited-file-modtime)) - (run-hooks 'gnus-save-standard-newsrc-hook) + (gnus-run-hooks 'gnus-save-standard-newsrc-hook) (save-buffer) (kill-buffer (current-buffer))))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 72a1ffb..56b243f 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1,5 +1,5 @@ ;;; gnus-sum.el --- summary mode commands for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -121,7 +121,7 @@ comparing subjects." (sexp :menu-tag "on" t))) (defcustom gnus-simplify-subject-functions nil - "List of functions taking a string argument that simplify subjects. + "*List of functions taking a string argument that simplify subjects. The functions are applied recursively." :group 'gnus-thread :type '(repeat (list function))) @@ -145,7 +145,7 @@ non-nil and non-`some', fill in all gaps that Gnus manages to guess." (defcustom gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject - "Function used for gathering loose threads. + "*Function used for gathering loose threads. There are two pre-defined functions: `gnus-gather-threads-by-subject', which only takes Subjects into consideration; and `gnus-gather-threads-by-references', which compared the References @@ -572,14 +572,14 @@ Some functions you can use are `+', `max', or `min'." :type 'function) (defcustom gnus-summary-expunge-below nil - "All articles that have a score less than this variable will be expunged. + "*All articles that have a score less than this variable will be expunged. This variable is local to the summary buffers." :group 'gnus-score-default :type '(choice (const :tag "off" nil) integer)) (defcustom gnus-thread-expunge-below nil - "All threads that have a total score less than this variable will be expunged. + "*All threads that have a total score less than this variable will be expunged. See `gnus-thread-score-function' for en explanation of what a \"thread score\" is. @@ -656,14 +656,13 @@ is not run if `gnus-visual' is nil." :group 'gnus-summary-visual :type 'hook) -;; 1997/5/4 by MORIOKA Tomohiko (defcustom gnus-structured-field-decoder 'identity - "Function to decode non-ASCII characters in structured field for summary." + "*Function to decode non-ASCII characters in structured field for summary." :group 'gnus-various :type 'function) (defcustom gnus-unstructured-field-decoder 'identity - "Function to decode non-ASCII characters in unstructured field for summary." + "*Function to decode non-ASCII characters in unstructured field for summary." :group 'gnus-various :type 'function) @@ -707,7 +706,7 @@ automatically when it is selected." :type 'hook) (defcustom gnus-summary-selected-face 'gnus-summary-selected-face - "Face used for highlighting the current article in the summary buffer." + "*Face used for highlighting the current article in the summary buffer." :group 'gnus-summary-visual :type 'face) @@ -744,7 +743,7 @@ automatically when it is selected." . gnus-summary-low-read-face) (t . gnus-summary-normal-read-face)) - "Controls the highlighting of summary buffer lines. + "*Controls the highlighting of summary buffer lines. A list of (FORM . FACE) pairs. When deciding how a a particular summary line should be displayed, each form is evaluated. The content @@ -762,7 +761,7 @@ mark: The articles mark." face))) (defcustom gnus-alter-header-function nil - "Function called to allow alteration of article header structures. + "*Function called to allow alteration of article header structures. The function is called with one parameter, the article header vector, which it may alter in any way.") @@ -1212,6 +1211,7 @@ increase the score of each group you read." "\C-c\C-v\C-v" gnus-uu-decode-uu-view "\C-d" gnus-summary-enter-digest-group "\M-\C-d" gnus-summary-read-document + "\M-\C-e" gnus-summary-edit-parameters "\C-c\C-b" gnus-bug "*" gnus-cache-enter-article "\M-*" gnus-cache-remove-article @@ -1815,6 +1815,7 @@ increase the score of each group you read." 'request-expire-articles gnus-newsgroup-name)] ["Edit local kill file" gnus-summary-edit-local-kill t] ["Edit main kill file" gnus-summary-edit-global-kill t] + ["Edit group parameters" gnus-summary-edit-parameters t] ("Exit" ["Catchup and exit" gnus-summary-catchup-and-exit t] ["Catchup all and exit" gnus-summary-catchup-and-exit t] @@ -1827,7 +1828,7 @@ increase the score of each group you read." ["Rescan group" gnus-summary-rescan-group t] ["Update dribble" gnus-summary-save-newsrc t]))) - (run-hooks 'gnus-summary-menu-hook))) + (gnus-run-hooks 'gnus-summary-menu-hook))) (defun gnus-score-set-default (var value) "A version of set that updates the GNU Emacs menu-bar." @@ -1962,7 +1963,7 @@ The following commands are available: (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t) (make-local-hook 'pre-command-hook) (add-hook 'pre-command-hook 'gnus-set-global-variables nil t) - (run-hooks 'gnus-summary-mode-hook) + (gnus-run-hooks 'gnus-summary-mode-hook) (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy) (gnus-update-summary-mark-positions)) @@ -2509,7 +2510,7 @@ marks of articles." 'gnus-number gnus-tmp-number) (when (gnus-visual-p 'summary-highlight 'highlight) (forward-line -1) - (run-hooks 'gnus-summary-update-hook) + (gnus-run-hooks 'gnus-summary-update-hook) (forward-line 1)))) (defun gnus-summary-update-line (&optional dont-update) @@ -2541,7 +2542,7 @@ marks of articles." 'score)) ;; Do visual highlighting. (when (gnus-visual-p 'summary-highlight 'highlight) - (run-hooks 'gnus-summary-update-hook))))) + (gnus-run-hooks 'gnus-summary-update-hook))))) (defvar gnus-tmp-new-adopts nil) @@ -2672,7 +2673,7 @@ If NO-DISPLAY, don't generate a summary buffer." (gnus-copy-sequence (gnus-active gnus-newsgroup-name))) ;; You can change the summary buffer in some way with this hook. - (run-hooks 'gnus-select-group-hook) + (gnus-run-hooks 'gnus-select-group-hook) ;; Set any local variables in the group parameters. (gnus-summary-set-local-parameters gnus-newsgroup-name) (gnus-update-format-specifications @@ -2710,7 +2711,7 @@ If NO-DISPLAY, don't generate a summary buffer." ((and gnus-newsgroup-scored show-all) (gnus-summary-limit-include-expunged t)))) ;; Function `gnus-apply-kill-file' must be called in this hook. - (run-hooks 'gnus-apply-kill-hook) + (gnus-run-hooks 'gnus-apply-kill-hook) (if (and (zerop (buffer-size)) (not no-display)) (progn @@ -2754,7 +2755,7 @@ If NO-DISPLAY, don't generate a summary buffer." (select-window owin))) ;; Mark this buffer as "prepared". (setq gnus-newsgroup-prepared t) - (run-hooks 'gnus-summary-prepared-hook) + (gnus-run-hooks 'gnus-summary-prepared-hook) t))))) (defun gnus-summary-prepare () @@ -2764,7 +2765,7 @@ If NO-DISPLAY, don't generate a summary buffer." (erase-buffer) (setq gnus-newsgroup-data nil gnus-newsgroup-data-reverse nil) - (run-hooks 'gnus-summary-generate-hook) + (gnus-run-hooks 'gnus-summary-generate-hook) ;; Generate the buffer, either with threads or without. (when gnus-newsgroup-headers (gnus-summary-prepare-threads @@ -2778,7 +2779,7 @@ If NO-DISPLAY, don't generate a summary buffer." (setq gnus-newsgroup-data (nreverse gnus-newsgroup-data)) ;; Call hooks for modifying summary buffer. (goto-char (point-min)) - (run-hooks 'gnus-summary-prepare-hook))) + (gnus-run-hooks 'gnus-summary-prepare-hook))) (defsubst gnus-general-simplify-subject (subject) "Simply subject by the same rules as gnus-gather-threads-by-subject." @@ -3704,7 +3705,7 @@ or a straight list of headers." 'gnus-number number) (when gnus-visual-p (forward-line -1) - (run-hooks 'gnus-summary-update-hook) + (gnus-run-hooks 'gnus-summary-update-hook) (forward-line 1)) (setq gnus-tmp-prev-subject subject))) @@ -4295,7 +4296,7 @@ The resulting hash table is returned, or nil if no Xrefs were found." (set-buffer nntp-server-buffer) ;; Translate all TAB characters into SPACE characters. (subst-char-in-region (point-min) (point-max) ?\t ? t) - (run-hooks 'gnus-parse-headers-hook) + (gnus-run-hooks 'gnus-parse-headers-hook) (let ((case-fold-search t) in-reply-to header p lines) (goto-char (point-min)) @@ -4326,7 +4327,6 @@ The resulting hash table is returned, or nil if no Xrefs were found." (progn (goto-char p) (if (search-forward "\nsubject: " nil t) - ;; 1997/5/4 by MORIOKA Tomohiko (funcall gnus-unstructured-field-decoder (nnheader-header-value)) "(none)")) @@ -4334,7 +4334,6 @@ The resulting hash table is returned, or nil if no Xrefs were found." (progn (goto-char p) (if (search-forward "\nfrom: " nil t) - ;; 1997/5/4 by MORIOKA Tomohiko (funcall gnus-structured-field-decoder (nnheader-header-value)) "(nobody)")) @@ -4566,7 +4565,7 @@ list of headers that match SEQUENCE (see `nntp-retrieve-headers')." (save-excursion (set-buffer nntp-server-buffer) ;; Allow the user to mangle the headers before parsing them. - (run-hooks 'gnus-parse-headers-hook) + (gnus-run-hooks 'gnus-parse-headers-hook) (goto-char (point-min)) (while (not (eobp)) (condition-case () @@ -4674,44 +4673,47 @@ This is meant to be called in `gnus-article-internal-prepare-hook'." "Return a list of articles to be worked upon. The prefix argument, the list of process marked articles, and the current article will be taken into consideration." - (cond - (n - ;; A numerical prefix has been given. - (setq n (prefix-numeric-value n)) - (let ((backward (< n 0)) - (n (abs (prefix-numeric-value n))) - articles article) - (save-excursion - (while - (and (> n 0) - (push (setq article (gnus-summary-article-number)) - articles) - (if backward - (gnus-summary-find-prev nil article) - (gnus-summary-find-next nil article))) - (decf n))) - (nreverse articles))) - ((gnus-region-active-p) - ;; Work on the region between point and mark. - (let ((max (max (point) (mark))) - articles article) - (save-excursion - (goto-char (min (point) (mark))) - (while - (and - (push (setq article (gnus-summary-article-number)) articles) - (gnus-summary-find-next nil article) - (< (point) max))) - (nreverse articles)))) - (gnus-newsgroup-processable - ;; There are process-marked articles present. - ;; Save current state. - (gnus-summary-save-process-mark) - ;; Return the list. - (reverse gnus-newsgroup-processable)) - (t - ;; Just return the current article. - (list (gnus-summary-article-number))))) + (save-excursion + (set-buffer gnus-summary-buffer) + (cond + (n + ;; A numerical prefix has been given. + (setq n (prefix-numeric-value n)) + (let ((backward (< n 0)) + (n (abs (prefix-numeric-value n))) + articles article) + (save-excursion + (while + (and (> n 0) + (push (setq article (gnus-summary-article-number)) + articles) + (if backward + (gnus-summary-find-prev nil article) + (gnus-summary-find-next nil article))) + (decf n))) + (nreverse articles))) + ((and (gnus-region-active-p) (mark)) + (message "region active") + ;; Work on the region between point and mark. + (let ((max (max (point) (mark))) + articles article) + (save-excursion + (goto-char (min (min (point) (mark)))) + (while + (and + (push (setq article (gnus-summary-article-number)) articles) + (gnus-summary-find-next nil article) + (< (point) max))) + (nreverse articles)))) + (gnus-newsgroup-processable + ;; There are process-marked articles present. + ;; Save current state. + (gnus-summary-save-process-mark) + ;; Return the list. + (reverse gnus-newsgroup-processable)) + (t + ;; Just return the current article. + (list (gnus-summary-article-number)))))) (defun gnus-summary-save-process-mark () "Push the current set of process marked articles on the stack." @@ -5066,7 +5068,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (mode major-mode) (group-point nil) (buf (current-buffer))) - (run-hooks 'gnus-summary-prepare-exit-hook) + (gnus-run-hooks 'gnus-summary-prepare-exit-hook) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-original-article-buffer) @@ -5083,7 +5085,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (nnmail-purge-split-history group) ;; Make all changes in this group permanent. (unless quit-config - (run-hooks 'gnus-exit-group-hook) + (gnus-run-hooks 'gnus-exit-group-hook) (gnus-summary-update-info) ;; Do adaptive scoring, and possibly save score files. (when gnus-newsgroup-adaptive @@ -5095,7 +5097,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (set-buffer gnus-group-buffer) (unless quit-config (gnus-group-jump-to-group group)) - (run-hooks 'gnus-summary-exit-hook) + (gnus-run-hooks 'gnus-summary-exit-hook) (unless (or quit-config ;; If this group has disappeared from the summary ;; buffer, don't skip forwards. @@ -5355,7 +5357,7 @@ previous group instead." (when (gnus-buffer-live-p current-buffer) (set-buffer current-buffer) (gnus-summary-exit)) - (run-hooks 'gnus-group-no-more-groups-hook)) + (gnus-run-hooks 'gnus-group-no-more-groups-hook)) ;; We try to enter the target group. (gnus-group-jump-to-group target-group) (let ((unreads (gnus-group-group-unread))) @@ -5483,7 +5485,7 @@ Given a prefix, will force an `article' buffer configuration." (if gnus-summary-display-article-function (funcall gnus-summary-display-article-function article all-header) (gnus-article-prepare article all-header)) - (run-hooks 'gnus-select-article-hook) + (gnus-run-hooks 'gnus-select-article-hook) (when (and gnus-current-article (not (zerop gnus-current-article))) (gnus-summary-goto-subject gnus-current-article)) @@ -6436,6 +6438,10 @@ or `gnus-select-method', no matter what backend the article comes from." (gnus-summary-select-article nil nil nil number) (gnus-message 3 "Couldn't fetch article %s" message-id)))))))) +(defun gnus-summary-edit-parameters () + "Edit the group parameters of the current group." + (gnus-group-edit-group gnus-newsgroup-name 'params)) + (defun gnus-summary-enter-digest-group (&optional force) "Enter an nndoc group based on the current article. If FORCE, force a digest interpretation. If not, try @@ -6724,8 +6730,8 @@ that name. If FILENAME is a number, prompt the user for the name of the file to save in." (interactive (list (ps-print-preprint current-prefix-arg) current-prefix-arg)) - (dolist (nbr (gnus-summary-work-articles n)) - (gnus-summary-select-article 'all nil 'pseudo nbr) + (dolist (article (gnus-summary-work-articles n)) + (gnus-summary-select-article nil nil 'pseudo article) (gnus-eval-in-buffer-window gnus-article-buffer (let ((buffer (generate-new-buffer " *print*"))) (unwind-protect @@ -6744,7 +6750,7 @@ to save in." "/pagenumberstring load" (concat "(" (mail-header-date gnus-current-headers) ")")))) - (run-hooks 'gnus-ps-print-hook) + (gnus-run-hooks 'gnus-ps-print-hook) (ps-print-buffer-with-faces filename))) (kill-buffer buffer)))))) @@ -6803,7 +6809,7 @@ If ARG is a negative number, hide the unwanted header lines." (setq e (1- (or (search-forward "\n\n" nil t) (point-max))))) (insert-buffer-substring gnus-original-article-buffer 1 e) (let ((article-inhibit-hiding t)) - (run-hooks 'gnus-article-display-hook)) + (gnus-run-hooks 'gnus-article-display-hook)) (when (or (not hidden) (and (numberp arg) (< arg 0))) (gnus-article-hide-headers))))) @@ -7081,7 +7087,7 @@ re-spool using this method." (gnus-summary-move-article n nil nil 'crosspost)) (defcustom gnus-summary-respool-default-method nil - "Default method for respooling an article. + "*Default method for respooling an article. If nil, use to the current newsgroup method." :type `(choice (gnus-select-method :value (nnml "")) (const nil)) @@ -7191,7 +7197,7 @@ This will be the case if the article has both been mailed and posted." ;; We need to update the info for ;; this group for `gnus-list-of-read-articles' ;; to give us the right answer. - (run-hooks 'gnus-exit-group-hook) + (gnus-run-hooks 'gnus-exit-group-hook) (gnus-summary-update-info) (gnus-list-of-read-articles gnus-newsgroup-name)) (setq gnus-newsgroup-expirable @@ -7347,14 +7353,14 @@ groups." (unless no-highlight (save-excursion (set-buffer gnus-article-buffer) - (run-hooks 'gnus-article-display-hook) + (gnus-run-hooks 'gnus-article-display-hook) (set-buffer gnus-original-article-buffer) (gnus-request-article (cdr gnus-article-current) (car gnus-article-current) (current-buffer)))) ;; Prettify the summary buffer line. (when (gnus-visual-p 'summary-highlight 'highlight) - (run-hooks 'gnus-visual-mark-article-hook)))) + (gnus-run-hooks 'gnus-visual-mark-article-hook)))) (defun gnus-summary-edit-wash (key) "Perform editing command in the article buffer." @@ -7634,38 +7640,41 @@ returned." (defun gnus-summary-mark-article-as-unread (mark) "Mark the current article quickly as unread with MARK." - (let ((article (gnus-summary-article-number))) - (if (<= article 0) - (progn - (gnus-error 1 "Can't mark negative article numbers") - nil) - (setq gnus-newsgroup-marked (delq article gnus-newsgroup-marked)) - (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant)) - (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable)) - (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads)) - (cond ((= mark gnus-ticked-mark) - (push article gnus-newsgroup-marked)) - ((= mark gnus-dormant-mark) - (push article gnus-newsgroup-dormant)) - (t - (push article gnus-newsgroup-unreads))) - (setq gnus-newsgroup-reads - (delq (assq article gnus-newsgroup-reads) - gnus-newsgroup-reads)) - - ;; See whether the article is to be put in the cache. - (and gnus-use-cache - (vectorp (gnus-summary-article-header article)) - (save-excursion - (gnus-cache-possibly-enter-article - gnus-newsgroup-name article - (gnus-summary-article-header article) - (= mark gnus-ticked-mark) - (= mark gnus-dormant-mark) (= mark gnus-unread-mark)))) - - ;; Fix the mark. - (gnus-summary-update-mark mark 'unread) - t))) + (let* ((article (gnus-summary-article-number)) + (old-mark (gnus-summary-article-mark article))) + (if (eq mark old-mark) + t + (if (<= article 0) + (progn + (gnus-error 1 "Can't mark negative article numbers") + nil) + (setq gnus-newsgroup-marked (delq article gnus-newsgroup-marked)) + (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant)) + (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable)) + (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads)) + (cond ((= mark gnus-ticked-mark) + (push article gnus-newsgroup-marked)) + ((= mark gnus-dormant-mark) + (push article gnus-newsgroup-dormant)) + (t + (push article gnus-newsgroup-unreads))) + (setq gnus-newsgroup-reads + (delq (assq article gnus-newsgroup-reads) + gnus-newsgroup-reads)) + + ;; See whether the article is to be put in the cache. + (and gnus-use-cache + (vectorp (gnus-summary-article-header article)) + (save-excursion + (gnus-cache-possibly-enter-article + gnus-newsgroup-name article + (gnus-summary-article-header article) + (= mark gnus-ticked-mark) + (= mark gnus-dormant-mark) (= mark gnus-unread-mark)))) + + ;; Fix the mark. + (gnus-summary-update-mark mark 'unread) + t)))) (defun gnus-summary-mark-article (&optional article mark no-expire) "Mark ARTICLE with MARK. MARK can be any character. @@ -7729,7 +7738,7 @@ marked." (t gnus-unread-mark)) 'replied) (when (gnus-visual-p 'summary-highlight 'highlight) - (run-hooks 'gnus-summary-update-hook)) + (gnus-run-hooks 'gnus-summary-update-hook)) t) (defun gnus-summary-update-mark (mark type) @@ -8681,7 +8690,7 @@ save those articles instead." (cond ((assq 'execute props) (gnus-execute-command (cdr (assq 'execute props))))) (let ((gnus-current-article (gnus-summary-article-number))) - (run-hooks 'gnus-mark-article-hook))) + (gnus-run-hooks 'gnus-mark-article-hook))) (defun gnus-execute-command (command &optional automatic) (save-excursion diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 3aed794..9a989b0 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -1,5 +1,5 @@ ;;; gnus-topic.el --- a folding minor mode for Gnus group buffers -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Ilja Weis ;; Lars Magne Ingebrigtsen @@ -40,12 +40,12 @@ "Minor mode for Gnus group buffers.") (defcustom gnus-topic-mode-hook nil - "Hook run in topic mode buffers." + "*Hook run in topic mode buffers." :type 'hook :group 'gnus-topic) (defcustom gnus-topic-line-format "%i[ %(%{%n%}%) -- %A ]%v\n" - "Format of topic lines. + "*Format of topic lines. It works along the same lines as a normal formatting string, with some simple extensions. @@ -398,7 +398,7 @@ If LOWEST is non-nil, list all newsgroups of level LOWEST or higher." (gnus-group-set-mode-line) (setq gnus-group-list-mode (cons level all)) - (run-hooks 'gnus-group-prepare-hook)))) + (gnus-run-hooks 'gnus-group-prepare-hook)))) (defun gnus-topic-prepare-topic (topicl level &optional list-level all silent lowest) @@ -980,7 +980,7 @@ articles in the topic and its subtopics." ;; We check the topology. (when gnus-newsrc-alist (gnus-topic-check-topology)) - (run-hooks 'gnus-topic-mode-hook)) + (gnus-run-hooks 'gnus-topic-mode-hook)) ;; Remove topic infestation. (unless gnus-topic-mode (remove-hook 'gnus-summary-exit-hook 'gnus-topic-update-topic) diff --git a/lisp/gnus-undo.el b/lisp/gnus-undo.el index b34070a..5321f3a 100644 --- a/lisp/gnus-undo.el +++ b/lisp/gnus-undo.el @@ -1,5 +1,5 @@ ;;; gnus-undo.el --- minor mode for undoing in Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -100,7 +100,7 @@ (gnus-add-minor-mode 'gnus-undo-mode "" gnus-undo-mode-map) (make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'gnus-undo-boundary nil t) - (run-hooks 'gnus-undo-mode-hook))) + (gnus-run-hooks 'gnus-undo-mode-hook))) ;;; Interface functions. diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 2a3830a..cfdfa73 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -1,5 +1,5 @@ ;;; gnus-util.el --- utility functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -72,9 +72,6 @@ (set symbol nil)) symbol)) -;; modified by MORIOKA Tomohiko -;; function `substring' might cut on a middle of multi-octet -;; character. (defun gnus-truncate-string (str width) (substring str 0 width)) @@ -161,7 +158,6 @@ (setq address (substring from (match-beginning 0) (match-end 0)))) ;; Then we check whether the "name
" format is used. (and address - ;; Fix by MORIOKA Tomohiko ;; Linear white space is not required. (string-match (concat "[ \t]*<" (regexp-quote address) ">") from) (and (setq name (substring from 0 (match-beginning 0))) @@ -175,7 +171,6 @@ (1- (match-end 0))))) (and (string-match "()" from) (setq name address)) - ;; Fix by MORIOKA Tomohiko . ;; XOVER might not support folded From headers. (and (string-match "(.*" from) (setq name (substring from (1+ (match-beginning 0)) @@ -838,6 +833,81 @@ ARG is passed to the first function." (setq arg (funcall (pop myfuns) arg))) arg)) +(defun gnus-run-hooks (&rest funcs) + "Does the same as `run-hooks', but saves excursion." + (save-excursion + (apply 'run-hooks funcs))) + +;;; +;;; .netrc and .authinforc parsing +;;; + +(defvar gnus-netrc-syntax-table + (let ((table (copy-syntax-table text-mode-syntax-table))) + (modify-syntax-entry ?- "w" table) + (modify-syntax-entry ?_ "w" table) + (modify-syntax-entry ?! "w" table) + (modify-syntax-entry ?. "w" table) + (modify-syntax-entry ?, "w" table) + (modify-syntax-entry ?: "w" table) + (modify-syntax-entry ?\; "w" table) + (modify-syntax-entry ?% "w" table) + (modify-syntax-entry ?) "w" table) + (modify-syntax-entry ?( "w" table) + table) + "Syntax table when parsing .netrc files.") + +(defun gnus-parse-netrc (file) + "Parse FILE and return an list of all entries in the file." + (if (not (file-exists-p file)) + () + (save-excursion + (let ((tokens '("machine" "default" "login" + "password" "account" "macdef")) + alist elem result pair) + (nnheader-set-temp-buffer " *netrc*") + (set-syntax-table gnus-netrc-syntax-table) + (insert-file-contents file) + (goto-char (point-min)) + ;; Go through the file, line by line. + (while (not (eobp)) + (narrow-to-region (point) (gnus-point-at-eol)) + ;; For each line, get the tokens and values. + (while (not (eobp)) + (skip-chars-forward "\t ") + (unless (eobp) + (setq elem (buffer-substring + (point) (progn (forward-sexp 1) (point)))) + (if (member elem tokens) + (progn + ;; Tokens that don't have a following value are ignored. + (when (and pair (cdr pair)) + (push pair alist)) + (setq pair (list elem))) + ;; Values that haven't got a preceding token are ignored. + (when pair + (setcdr pair elem) + (push pair alist) + (setq pair nil))))) + (push alist result) + (setq alist nil + pair nil) + (widen) + (forward-line 1)) + result)))) + +(defun gnus-netrc-machine (list machine) + "Return the netrc values from LIST for MACHINE." + (while (and list + (not (equal (cdr (assoc "machine" (car list))) machine))) + (pop list)) + (when list + (car list))) + +(defun gnus-netrc-get (alist type) + "Return the value of token TYPE from ALIST." + (cdr (assoc type alist))) + (provide 'gnus-util) ;;; gnus-util.el ends here diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index 901560b..8ef81dc 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -1,5 +1,5 @@ ;;; gnus-uu.el --- extract (uu)encoded files in Gnus -;; Copyright (C) 1985,86,87,93,94,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1985,86,87,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Created: 2 Oct 1993 @@ -71,7 +71,7 @@ ("\\.\\(flc\\|fli\\|rle\\|iff\\|pfx\\|avi\\|sme\\|rpza\\|dl\\|qt\\|rsrc\\|mov\\)$" "xanim") ("\\.\\(tar\\|arj\\|zip\\|zoo\\|arc\\|gz\\|Z\\|lzh\\|ar\\|lha\\)$" "gnus-uu-archive")) - "Default actions to be taken when the user asks to view a file. + "*Default actions to be taken when the user asks to view a file. To change the behaviour, you can either edit this variable or set `gnus-uu-user-view-rules' to something useful. @@ -103,7 +103,7 @@ match." :type '(repeat (group regexp (string :tag "Command")))) (defcustom gnus-uu-user-view-rules nil - "What actions are to be taken to view a file. + "*What actions are to be taken to view a file. See the documentation on the `gnus-uu-default-view-rules' variable for details." :group 'gnus-extract-view @@ -111,7 +111,7 @@ details." (defcustom gnus-uu-user-view-rules-end '(("" "file")) - "What actions are to be taken if no rule matched the file name. + "*What actions are to be taken if no rule matched the file name. See the documentation on the `gnus-uu-default-view-rules' variable for details." :group 'gnus-extract-view @@ -129,7 +129,7 @@ details." ("\\.Z$" "uncompress") ("\\.gz$" "gunzip") ("\\.arc$" "arc -x")) - "See `gnus-uu-user-archive-rules'." + "*See `gnus-uu-user-archive-rules'." :group 'gnus-extract-archive :type '(repeat (group regexp (string :tag "Command")))) @@ -137,7 +137,7 @@ details." (list "uncompress" "gunzip")) (defcustom gnus-uu-user-archive-rules nil - "A list that can be set to override the default archive unpacking commands. + "*A list that can be set to override the default archive unpacking commands. To use, for instance, 'untar' to unpack tar files and 'zip -x' to unpack zip files, say the following: (setq gnus-uu-user-archive-rules @@ -234,7 +234,7 @@ Only the user viewing rules will be consulted. Default is nil." :type 'boolean) (defcustom gnus-uu-grabbed-file-functions nil - "Functions run on each file after successful decoding. + "*Functions run on each file after successful decoding. They will be called with the name of the file as the argument. Likely functions you can use in this list are `gnus-uu-grab-view' and `gnus-uu-grab-move'." @@ -284,14 +284,14 @@ so I simply dropped them." :type 'boolean) (defcustom gnus-uu-pre-uudecode-hook nil - "Hook run before sending a message to uudecode." + "*Hook run before sending a message to uudecode." :group 'gnus-extract :type 'hook) (defcustom gnus-uu-digest-headers '("^Date:" "^From:" "^To:" "^Cc:" "^Subject:" "^Message-ID:" "^Keywords:" "^Summary:" "^References:") - "List of regexps to match headers included in digested messages. + "*List of regexps to match headers included in digested messages. The headers will be included in the sequence they are matched." :group 'gnus-extract :type '(repeat regexp)) @@ -1440,7 +1440,7 @@ didn't work, and overwrite existing files. Otherwise, ask each time." ;; Try to correct mishandled uucode. (when gnus-uu-correct-stripped-uucode (gnus-uu-check-correct-stripped-uucode start-char (point))) - (run-hooks 'gnus-uu-pre-uudecode-hook) + (gnus-run-hooks 'gnus-uu-pre-uudecode-hook) ;; Send the text to the process. (condition-case nil @@ -1749,7 +1749,7 @@ didn't work, and overwrite existing files. Otherwise, ask each time." ;; and "spiral.jpg", respectively.) The function should return nil if ;; the encoding wasn't successful. (defcustom gnus-uu-post-encode-method 'gnus-uu-post-encode-uuencode - "Function used for encoding binary files. + "*Function used for encoding binary files. There are three functions supplied with gnus-uu for encoding files: `gnus-uu-post-encode-uuencode', which does straight uuencoding; `gnus-uu-post-encode-mime', which encodes with base64 and adds MIME @@ -1762,21 +1762,21 @@ uuencode and adds MIME headers." (function :tag "Other"))) (defcustom gnus-uu-post-include-before-composing nil - "Non-nil means that gnus-uu will ask for a file to encode before you compose the article. + "*Non-nil means that gnus-uu will ask for a file to encode before you compose the article. If this variable is t, you can either include an encoded file with \\[gnus-uu-post-insert-binary-in-article] or have one included for you when you post the article." :group 'gnus-extract-post :type 'boolean) (defcustom gnus-uu-post-length 990 - "Maximum length of an article. + "*Maximum length of an article. The encoded file will be split into how many articles it takes to post the entire file." :group 'gnus-extract-post :type 'integer) (defcustom gnus-uu-post-threaded nil - "Non-nil means that gnus-uu will post the encoded file in a thread. + "*Non-nil means that gnus-uu will post the encoded file in a thread. This may not be smart, as no other decoder I have seen are able to follow threads when collecting uuencoded articles. (Well, I have seen one package that does that - gnus-uu, but somehow, I don't think that @@ -1785,7 +1785,7 @@ counts...) The default is nil." :type 'boolean) (defcustom gnus-uu-post-separate-description t - "Non-nil means that the description will be posted in a separate article. + "*Non-nil means that the description will be posted in a separate article. The first article will typically be numbered (0/x). If this variable is nil, the description the user enters will be included at the beginning of the first article, which will be numbered (1/x). Default diff --git a/lisp/gnus-vm.el b/lisp/gnus-vm.el index 316b775..bbefaac 100644 --- a/lisp/gnus-vm.el +++ b/lisp/gnus-vm.el @@ -1,5 +1,5 @@ ;;; gnus-vm.el --- vm interface for Gnus -;; Copyright (C) 1994,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. ;; Author: Per Persson ;; Keywords: news, mail diff --git a/lisp/gnus-win.el b/lisp/gnus-win.el index 0384de0..e6a2037 100644 --- a/lisp/gnus-win.el +++ b/lisp/gnus-win.el @@ -1,5 +1,5 @@ ;;; gnus-win.el --- window configuration functions for Gnus -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index feef430..28e8126 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -1,5 +1,5 @@ ;;; gnus-xmas.el --- Gnus functions for XEmacs -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -57,7 +57,7 @@ automatically." "Color alist used for the Gnus logo.") (defcustom gnus-xmas-logo-color-style 'moss - "Color styles used for the Gnus logo." + "*Color styles used for the Gnus logo." :type '(choice (const flame) (const pine) (const moss) (const irish) (const sky) (const tin) (const velvet) (const grape) (const labia) @@ -73,7 +73,7 @@ automatically." (featurep 'xpm)) 'gnus-xmas-article-display-xface "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -") - "String or function to be executed to display an X-Face header. + "*String or function to be executed to display an X-Face header. If it is a string, the command will be executed in a sub-shell asynchronously. The compressed face will be piped to this command." :type '(choice string function)) @@ -153,7 +153,7 @@ It is provided only to ease porting of broken FSF Emacs programs." gnus-summary-selected-face))) (defcustom gnus-xmas-force-redisplay nil - "If non-nil, force a redisplay before recentering the summary buffer. + "*If non-nil, force a redisplay before recentering the summary buffer. This is ugly, but it works around a bug in `window-displayed-height'." :type 'boolean :group 'gnus-xmas) diff --git a/lisp/gnus.el b/lisp/gnus.el index 34abacf..5427ecd 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1,5 +1,5 @@ ;;; gnus.el --- a newsreader for GNU Emacs -;; Copyright (C) 1987,88,89,90,93,94,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -246,21 +246,21 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "0.25" +(defconst gnus-version-number "0.26" "Version number for this version of Gnus.") (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number) "Version string for this version of Gnus.") (defcustom gnus-inhibit-startup-message nil - "If non-nil, the startup message will not be displayed. + "*If non-nil, the startup message will not be displayed. This variable is used before `.gnus.el' is loaded, so it should be set in `.emacs' instead." :group 'gnus-start :type 'boolean) (defcustom gnus-play-startup-jingle nil - "If non-nil, play the Gnus jingle at startup." + "*If non-nil, play the Gnus jingle at startup." :group 'gnus-start :type 'boolean) @@ -695,14 +695,14 @@ be set in `.emacs' instead." (require 'nnheader) (defcustom gnus-home-directory "~/" - "Directory variable that specifies the \"home\" directory. + "*Directory variable that specifies the \"home\" directory. All other Gnus path variables are initialized from this variable." :group 'gnus-files :type 'directory) (defcustom gnus-directory (or (getenv "SAVEDIR") (nnheader-concat gnus-home-directory "News/")) - "Directory variable from which all other Gnus file variables are derived." + "*Directory variable from which all other Gnus file variables are derived." :group 'gnus-files :type 'directory) @@ -732,7 +732,7 @@ used to 899, you would say something along these lines: (setq gnus-select-method '(nntp \"my.nntp.server\" (nntp-port-number 899)))") (defcustom gnus-nntpserver-file "/etc/nntpserver" - "A file with only the name of the nntp server in it." + "*A file with only the name of the nntp server in it." :group 'gnus-files :group 'gnus-server :type 'file) @@ -769,7 +769,7 @@ used to 899, you would say something along these lines: nil (list gnus-nntp-service))) (error nil)) - "Default method for selecting a newsgroup. + "*Default method for selecting a newsgroup. This variable should be a list, where the first element is how the news is to be fetched, the second is the address. @@ -797,7 +797,7 @@ see the manual for details." ,(nnheader-concat message-directory "archive/active")) (nnfolder-get-new-mail nil) (nnfolder-inhibit-expiry t)) - "Method used for archiving messages you've sent. + "*Method used for archiving messages you've sent. This should be a mail method. It's probably not a very effective to change this variable once you've @@ -832,7 +832,7 @@ that case, just return a fully prefixed name of the group -- string)) (defcustom gnus-secondary-servers nil - "List of NNTP servers that the user can choose between interactively. + "*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-server @@ -847,7 +847,7 @@ variable instead." string)) (defcustom gnus-secondary-select-methods nil - "A list of secondary methods that will be used for reading news. + "*A list of secondary methods that will be used for reading news. This is a list where each element is a complete select method (see `gnus-select-method'). @@ -864,7 +864,7 @@ you could set this variable: Should be set in paths.el, and shouldn't be touched by the user.") (defcustom gnus-local-domain nil - "Local domain name without a host name. + "*Local domain name without a host name. 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." @@ -879,7 +879,7 @@ Obsolete variable; use `message-user-organization' instead.") ;; Customization variables (defcustom gnus-refer-article-method nil - "Preferred method for fetching an article by Message-ID. + "*Preferred method for fetching an article by Message-ID. If you are reading news from the local spool (with nnspool), fetching articles by Message-ID is painfully slow. By setting this method to an nntp method, you might get acceptable results. @@ -902,7 +902,7 @@ in the documentation of `gnus-select-method'." "/ftp@nctuccca.edu.tw:/USENET/FAQ/" "/ftp@hwarang.postech.ac.kr:/pub/usenet/" "/ftp@ftp.hk.super.net:/mirror/faqs/") - "Directory where the group FAQs are stored. + "*Directory where the group FAQs are stored. This will most commonly be on a remote machine, and the file will be fetched by ange-ftp. @@ -1044,7 +1044,7 @@ articles. This is not a good idea." :type 'boolean) (defcustom gnus-use-demon nil - "If non-nil, Gnus might use some demons." + "*If non-nil, Gnus might use some demons." :group 'gnus-meta :type 'boolean) @@ -1060,7 +1060,7 @@ articles. This is not a good idea." (defcustom gnus-summary-prepare-exit-hook '(gnus-summary-expire-articles) - "A hook called when preparing to exit from the summary buffer. + "*A hook called when preparing to exit from the summary buffer. It calls `gnus-summary-expire-articles' by default." :group 'gnus-summary-exit :type 'hook) @@ -1074,7 +1074,8 @@ required." (defcustom gnus-expert-user nil "*Non-nil means that you will never be asked for confirmation about anything. -And that means *anything*." +That doesn't mean *anything* anything; particularly destructive +commands will still require prompting." :group 'gnus-meta :type 'boolean) @@ -1105,7 +1106,7 @@ slower." :type 'boolean) (defcustom gnus-shell-command-separator ";" - "String used to separate to shell commands." + "*String used to separate to shell commands." :group 'gnus-files :type 'string) @@ -1127,7 +1128,7 @@ slower." ("nngateway" none address prompt-address physical-address) ("nnweb" none) ("nnagent" post-mail)) - "An alist of valid select methods. + "*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 (i. e., `post', `mail', `none' or whatever) or other @@ -1161,7 +1162,7 @@ this variable. I think." (sexp :tag "Value"))))) (defcustom gnus-updated-mode-lines '(group article summary tree) - "List of buffers that should update their mode lines. + "*List of buffers that should update their mode lines. The list may contain the symbols `group', `article', `tree' and `summary'. If the corresponding symbol is present, Gnus will keep that mode line updated with information that may be pertinent. @@ -1201,7 +1202,7 @@ course.)" regexp)) (defcustom gnus-group-uncollapsed-levels 1 - "Number of group name elements to leave alone when making a short group name." + "*Number of group name elements to leave alone when making a short group name." :group 'gnus-group-visual :type 'integer) @@ -1213,12 +1214,12 @@ course.)" ;; Hooks. (defcustom gnus-load-hook nil - "A hook run while Gnus is loaded." + "*A hook run while Gnus is loaded." :group 'gnus-start :type 'hook) (defcustom gnus-apply-kill-hook '(gnus-apply-kill-file) - "A hook called to apply kill files to a group. + "*A hook called to apply kill files to a group. This hook is intended to apply a kill file to the selected newsgroup. The function `gnus-apply-kill-file' is called by default. @@ -1239,7 +1240,7 @@ following hook: :type 'hook) (defcustom gnus-group-change-level-function nil - "Function run when a group level is changed. + "*Function run when a group level is changed. It is called with three parameters -- GROUP, LEVEL and OLDLEVEL." :group 'gnus-group-level :type 'function) @@ -1254,7 +1255,7 @@ It is called with three parameters -- GROUP, LEVEL and OLDLEVEL." browse-menu server-menu page-marker tree-menu binary-menu pick-menu grouplens-menu) - "Enable visual features. + "*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. @@ -1297,7 +1298,7 @@ and `grouplens-menu'." 'highlight) 'default) (error 'highlight)) - "Face used for group or summary buffer mouse highlighting. + "*Face used for group or summary buffer mouse highlighting. The line beneath the mouse pointer will be highlighted with this face." :group 'gnus-visual @@ -1315,7 +1316,7 @@ face." gnus-article-hide-boring-headers gnus-article-treat-overstrike gnus-article-maybe-highlight)) - "Controls how the article buffer will look. + "*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 @@ -2389,7 +2390,9 @@ If SYMBOL, return the value of that symbol in the group parameters." (defun gnus-group-get-parameter (group &optional symbol) "Return the group parameters for GROUP. -If SYMBOL, return the value of that symbol in the group parameters." +If SYMBOL, return the value of that symbol in the group parameters. +Most functions should use `gnus-group-find-parameter', which +also examines the topic parameters." (let ((params (gnus-info-params (gnus-get-info group)))) (if symbol (gnus-group-parameter-value params symbol) @@ -2515,7 +2518,7 @@ Returns the number of articles marked as read." (kill-buffer (current-buffer)))))) (defcustom gnus-kill-file-name "KILL" - "Suffix of the kill files." + "*Suffix of the kill files." :group 'gnus-score-kill :group 'gnus-score-files :type 'string) diff --git a/lisp/message.el b/lisp/message.el index 21b9229..3ea01e9 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1,5 +1,5 @@ ;;; message.el --- composing mail and news messages -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news @@ -109,7 +109,7 @@ :type 'integer) (defcustom message-send-rename-function nil - "Function called to rename the buffer after sending it." + "*Function called to rename the buffer after sending it." :group 'message-buffers :type 'function) @@ -157,7 +157,7 @@ Otherwise, most addresses look like `angles', but they look like (defcustom message-syntax-checks nil ;; Guess this one shouldn't be easy to customize... - "Controls what syntax checks should not be performed on outgoing posts. + "*Controls what syntax checks should not be performed on outgoing posts. To disable checking of long signatures, for instance, add `(signature . disabled)' to this list. @@ -173,7 +173,7 @@ shorten-followup-to existing-newsgroups buffer-file-name unchanged." '(From Newsgroups Subject Date Message-ID (optional . Organization) Lines (optional . X-Newsreader)) - "Headers to be generated or prompted for when posting an article. + "*Headers to be generated or prompted for when posting an article. RFC977 and RFC1036 require From, Date, Newsgroups, Subject, Message-ID. Organization, Lines, In-Reply-To, Expires, and X-Newsreader are optional. If don't you want message to insert some @@ -185,7 +185,7 @@ header, remove it from this list." (defcustom message-required-mail-headers '(From Subject Date (optional . In-Reply-To) Message-ID Lines (optional . X-Mailer)) - "Headers to be generated or prompted for when mailing a message. + "*Headers to be generated or prompted for when mailing a message. RFC822 required that From, Date, To, Subject and Message-ID be included. Organization, Lines and X-Mailer are optional." :group 'message-mail @@ -193,7 +193,7 @@ included. Organization, Lines and X-Mailer are optional." :type '(repeat sexp)) (defcustom message-deletable-headers '(Message-ID Date Lines) - "Headers to be deleted if they already exist and were generated by message previously." + "*Headers to be deleted if they already exist and were generated by message previously." :group 'message-headers :type 'sexp) @@ -219,7 +219,7 @@ any confusion." ;;;###autoload (defcustom message-signature-separator "^-- *$" - "Regexp matching the signature separator." + "*Regexp matching the signature separator." :type 'regexp :group 'message-various) @@ -227,7 +227,7 @@ any confusion." "*The string which is inserted for elided text.") (defcustom message-interactive nil - "Non-nil means when sending a message wait for and display errors. + "*Non-nil means when sending a message wait for and display errors. nil means let mailer mail back a message to report errors." :group 'message-sending :group 'message-mail @@ -308,14 +308,14 @@ If nil, Message won't autosave." :type 'regexp) (defcustom message-cancel-message "I am canceling my own article." - "Message to be inserted in the cancel message." + "*Message to be inserted in the cancel message." :group 'message-interface :type 'string) ;; Useful to set in site-init.el ;;;###autoload (defcustom message-send-mail-function 'message-send-mail-with-sendmail - "Function to call to send the current buffer as mail. + "*Function to call to send the current buffer as mail. The headers should be delimited by a line whose contents match the variable `mail-header-separator'. @@ -331,7 +331,7 @@ Legal values include `message-send-mail-with-sendmail' (the default), :group 'message-mail) (defcustom message-send-news-function 'message-send-news - "Function to call to send the current buffer as news. + "*Function to call to send the current buffer as news. The headers should be delimited by a line whose contents match the variable `mail-header-separator'." :group 'message-sending @@ -339,21 +339,21 @@ variable `mail-header-separator'." :type 'function) (defcustom message-reply-to-function nil - "Function that should return a list of headers. + "*Function that should return a list of headers. This function should pick out addresses from the To, Cc, and From headers and respond with new To and Cc headers." :group 'message-interface :type 'function) (defcustom message-wide-reply-to-function nil - "Function that should return a list of headers. + "*Function that should return a list of headers. This function should pick out addresses from the To, Cc, and From headers and respond with new To and Cc headers." :group 'message-interface :type 'function) (defcustom message-followup-to-function nil - "Function that should return a list of headers. + "*Function that should return a list of headers. This function should pick out addresses from the To, Cc, and From headers and respond with new To and Cc headers." :group 'message-interface @@ -379,12 +379,12 @@ command line, because it is even more evil than leaving it out." ;; qmail-related stuff (defcustom message-qmail-inject-program "/var/qmail/bin/qmail-inject" - "Location of the qmail-inject program." + "*Location of the qmail-inject program." :group 'message-sending :type 'file) (defcustom message-qmail-inject-args nil - "Arguments passed to qmail-inject programs. + "*Arguments passed to qmail-inject programs. This should be a list of strings, one string for each argument. For e.g., if you wish to set the envelope sender address so that bounces @@ -402,7 +402,7 @@ might set this variable to '(\"-f\" \"you@some.where\")." ((boundp 'gnus-select-method) gnus-select-method) (t '(nnspool ""))) - "Method used to post news." + "*Method used to post news." :group 'message-news :group 'message-sending ;; This should be the `gnus-select-method' widget, but that might @@ -415,30 +415,30 @@ might set this variable to '(\"-f\" \"you@some.where\")." :type 'boolean) (defcustom message-setup-hook nil - "Normal hook, run each time a new outgoing message is initialized. + "*Normal hook, run each time a new outgoing message is initialized. The function `message-setup' runs this hook." :group 'message-various :type 'hook) (defcustom message-signature-setup-hook nil - "Normal hook, run each time a new outgoing message is initialized. + "*Normal hook, run each time a new outgoing message is initialized. It is run after the headers have been inserted and before the signature is inserted." :group 'message-various :type 'hook) (defcustom message-mode-hook nil - "Hook run in message mode buffers." + "*Hook run in message mode buffers." :group 'message-various :type 'hook) (defcustom message-header-hook nil - "Hook run in a message mode buffer narrowed to the headers." + "*Hook run in a message mode buffer narrowed to the headers." :group 'message-various :type 'hook) (defcustom message-header-setup-hook nil - "Hook called narrowed to the headers when setting up a message + "*Hook called narrowed to the headers when setting up a message buffer." :group 'message-various :type 'hook) @@ -510,14 +510,14 @@ If a form, the result from the form will be used instead." :type 'function) (defcustom message-expires 14 - "Number of days before your article expires." + "*Number of days before your article expires." :group 'message-news :group 'message-headers :link '(custom-manual "(message)News Headers") :type 'integer) (defcustom message-user-path nil - "If nil, use the NNTP server name in the Path header. + "*If nil, use the NNTP server name in the Path header. If stringp, use this; if non-nil, use no host name (user name only)." :group 'message-news :group 'message-headers @@ -586,7 +586,7 @@ articles." ;; 33 and 126, except colon)", i. e., any chars except ctl chars, ;; space, or colon. '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\\\^_`a-z{|}~]+:")) - "Set this non-nil if the system's mailer runs the header and body together. + "*Set this non-nil if the system's mailer runs the header and body together. \(This problem exists on Sunos 4 when sendmail is run in remote mode.) The value should be an expression to test whether the problem will actually occur." @@ -793,23 +793,23 @@ Defaults to `text-mode-abbrev-table'.") The cdr of ech entry is a function for applying the face to a region.") (defcustom message-send-hook nil - "Hook run before sending messages." + "*Hook run before sending messages." :group 'message-various :options '(ispell-message) :type 'hook) (defcustom message-send-mail-hook nil - "Hook run before sending mail messages." + "*Hook run before sending mail messages." :group 'message-various :type 'hook) (defcustom message-send-news-hook nil - "Hook run before sending news messages." + "*Hook run before sending news messages." :group 'message-various :type 'hook) (defcustom message-sent-hook nil - "Hook run after sending messages." + "*Hook run after sending messages." :group 'message-various :type 'hook) @@ -1316,7 +1316,7 @@ C-c C-r message-caesar-buffer-body (rot13 the message body)." (mail-abbrevs-setup) (funcall (intern "mail-aliases-setup")))) (message-set-auto-save-file-name) - (run-hooks 'text-mode-hook 'message-mode-hook) + (gnus-run-hooks 'text-mode-hook 'message-mode-hook) (unless (string-match "XEmacs" emacs-version) (set (make-local-variable 'font-lock-defaults) '(message-font-lock-keywords t)))) @@ -1850,7 +1850,7 @@ the user from the mailer." (let ((inhibit-read-only t)) (put-text-property (point-min) (point-max) 'read-only nil)) (message-fix-before-sending) - (run-hooks 'message-send-hook) + (gnus-run-hooks 'message-send-hook) (message "Sending...") (let ((alist message-send-method-alist) (success t) @@ -1870,7 +1870,7 @@ the user from the mailer." (message-do-fcc) ;;(when (fboundp 'mail-hist-put-headers-into-history) ;; (mail-hist-put-headers-into-history)) - (run-hooks 'message-sent-hook) + (gnus-run-hooks 'message-sent-hook) (message "Sending...done") ;; Mark the buffer as unmodified and delete autosave. (set-buffer-modified-p nil) @@ -1931,7 +1931,7 @@ the user from the mailer." (if news nil message-deletable-headers))) (message-generate-headers message-required-mail-headers)) ;; Let the user do all of the above. - (run-hooks 'message-header-hook)) + (gnus-run-hooks 'message-header-hook)) (unwind-protect (save-excursion (set-buffer tembuf) @@ -1976,7 +1976,7 @@ the user from the mailer." (replace-match "\n") (backward-char 1) (setq delimline (point-marker)) - (run-hooks 'message-send-mail-hook) + (gnus-run-hooks 'message-send-mail-hook) ;; Insert an extra newline if we need it to work around ;; Sun's bug that swallows newlines. (goto-char (1+ delimline)) @@ -2032,7 +2032,7 @@ to find out how to use this." (re-search-forward (concat "^" (regexp-quote mail-header-separator) "\n")) (replace-match "\n") - (run-hooks 'message-send-mail-hook) + (gnus-run-hooks 'message-send-mail-hook) ;; send the message (case (let ((coding-system-for-write 'binary)) @@ -2079,7 +2079,7 @@ to find out how to use this." (concat "^" (symbol-name (car headers)) ": *") nil t) (message-delete-line)) (pop headers)))) - (run-hooks 'message-send-mail-hook) + (gnus-run-hooks 'message-send-mail-hook) ;; Pass it on to mh. (mh-send-letter))) @@ -2101,7 +2101,7 @@ to find out how to use this." ;; Insert some headers. (message-generate-headers message-required-news-headers) ;; Let the user do all of the above. - (run-hooks 'message-header-hook)) + (gnus-run-hooks 'message-header-hook)) (message-cleanup-headers) (if (not (message-check-news-syntax)) (progn @@ -2133,7 +2133,7 @@ to find out how to use this." (concat "^" (regexp-quote mail-header-separator) "\n")) (replace-match "\n") (backward-char 1)) - (run-hooks 'message-send-news-hook) + (gnus-run-hooks 'message-send-news-hook) ;;(require (car method)) ;;(funcall (intern (format "%s-open-server" (car method))) ;;(cadr method) (cddr method)) @@ -2265,8 +2265,12 @@ to find out how to use this." (let* ((case-fold-search t) (message-id (message-fetch-field "message-id" t))) (or (not message-id) + ;; Is there an @ in the ID? (and (string-match "@" message-id) - (string-match "@[^\\.]*\\." message-id)) + ;; Is there a dot in the ID? + (string-match "@[^.]*\\." message-id) + ;; Does the ID end with a dot? + (not (string-match "\\.>" message-id))) (y-or-n-p (format "The Message-ID looks strange: \"%s\". Really post? " message-id))))) @@ -3095,14 +3099,14 @@ Headers already prepared in the buffer are not modified." (delq 'Lines (delq 'Subject (copy-sequence message-required-mail-headers)))))) - (run-hooks 'message-signature-setup-hook) + (gnus-run-hooks 'message-signature-setup-hook) (message-insert-signature) (save-restriction (message-narrow-to-headers) - (run-hooks 'message-header-setup-hook)) + (gnus-run-hooks 'message-header-setup-hook)) (set-buffer-modified-p nil) (setq buffer-undo-list nil) - (run-hooks 'message-setup-hook) + (gnus-run-hooks 'message-setup-hook) (message-position-point) (undo-boundary)) diff --git a/lisp/messagexmas.el b/lisp/messagexmas.el index 31fc6bf..73f4cd4 100644 --- a/lisp/messagexmas.el +++ b/lisp/messagexmas.el @@ -1,5 +1,5 @@ ;;; messagexmas.el --- XEmacs extensions to message -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news diff --git a/lisp/messcompat.el b/lisp/messcompat.el index ca29462..d363700 100644 --- a/lisp/messcompat.el +++ b/lisp/messcompat.el @@ -1,5 +1,5 @@ ;;; messcompat.el --- making message mode compatible with mail mode -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news diff --git a/lisp/nnagent.el b/lisp/nnagent.el index 9f762aa..76d4390 100644 --- a/lisp/nnagent.el +++ b/lisp/nnagent.el @@ -1,5 +1,5 @@ ;;; nnagent.el --- offline backend for Gnus -;; Copyright (C) 1997 Free Software Foundation, Inc. +;; Copyright (C) 1997,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail @@ -104,6 +104,9 @@ (deffoo nnagent-request-newgroups (date server) nil) +(deffoo nnagent-request-update-info (group info &optional server) + nil) + (deffoo nnagent-request-post (&optional server) (gnus-request-accept-article "nndraft:queue")) diff --git a/lisp/nnbabyl.el b/lisp/nnbabyl.el index 67fa4ba..34f3c2c 100644 --- a/lisp/nnbabyl.el +++ b/lisp/nnbabyl.el @@ -1,5 +1,5 @@ ;;; nnbabyl.el --- rmail mbox access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA @@ -503,7 +503,7 @@ (nnbabyl-insert-lines) (nnmail-insert-xref group-art) (nnbabyl-insert-newsgroup-line group-art) - (run-hooks 'nnbabyl-prepare-save-mail-hook) + (gnus-run-hooks 'nnbabyl-prepare-save-mail-hook) group-art) (defun nnbabyl-insert-newsgroup-line (group-art) diff --git a/lisp/nndb.el b/lisp/nndb.el index 679376b..088b5c6 100644 --- a/lisp/nndb.el +++ b/lisp/nndb.el @@ -1,5 +1,5 @@ ;;; nndb.el --- nndb access for Gnus -;; Copyright (C) 1997 Free Software Foundation, Inc. +;; Copyright (C) 1997,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Kai Grossjohann diff --git a/lisp/nndir.el b/lisp/nndir.el index 89d4954..968637d 100644 --- a/lisp/nndir.el +++ b/lisp/nndir.el @@ -1,5 +1,5 @@ ;;; nndir.el --- single directory newsgroup access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nndoc.el b/lisp/nndoc.el index 1727d18..e823ead 100644 --- a/lisp/nndoc.el +++ b/lisp/nndoc.el @@ -1,5 +1,5 @@ ;;; nndoc.el --- single file access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA @@ -285,7 +285,7 @@ from the document.") (if (stringp nndoc-address) (nnheader-insert-file-contents nndoc-address) (insert-buffer-substring nndoc-address)) - (run-hooks 'nndoc-open-document-hook)))) + (gnus-run-hooks 'nndoc-open-document-hook)))) ;; Initialize the nndoc structures according to this new document. (when (and nndoc-current-buffer (not nndoc-dissection-alist)) diff --git a/lisp/nndraft.el b/lisp/nndraft.el index 4c7181b..be653df 100644 --- a/lisp/nndraft.el +++ b/lisp/nndraft.el @@ -1,5 +1,5 @@ ;;; nndraft.el --- draft article access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nneething.el b/lisp/nneething.el index af38dfa..be3bcbd 100644 --- a/lisp/nneething.el +++ b/lisp/nneething.el @@ -1,5 +1,5 @@ ;;; nneething.el --- random file access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index 0863a94..9945b2f 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -1,5 +1,5 @@ ;;; nnfolder.el --- mail folder access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Scott Byer ;; Lars Magne Ingebrigtsen @@ -572,8 +572,8 @@ time saver for large mailboxes.") (setq save-list group-art-list) (nnmail-insert-lines) (nnmail-insert-xref group-art-list) - (run-hooks 'nnmail-prepare-save-mail-hook) - (run-hooks 'nnfolder-prepare-save-mail-hook) + (gnus-run-hooks 'nnmail-prepare-save-mail-hook) + (gnus-run-hooks 'nnfolder-prepare-save-mail-hook) ;; Insert the mail into each of the destination groups. (while (setq group-art (pop group-art-list)) @@ -783,7 +783,7 @@ time saver for large mailboxes.") (defun nnfolder-save-buffer () "Save the buffer." (when (buffer-modified-p) - (run-hooks 'nnfolder-save-buffer-hook) + (gnus-run-hooks 'nnfolder-save-buffer-hook) (gnus-make-directory (file-name-directory (buffer-file-name))) (save-buffer))) diff --git a/lisp/nngateway.el b/lisp/nngateway.el index 28fd245..6dd6361 100644 --- a/lisp/nngateway.el +++ b/lisp/nngateway.el @@ -1,5 +1,5 @@ ;;; nngateway.el --- posting news via mail gateways -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail diff --git a/lisp/nnheader.el b/lisp/nnheader.el index 6a99b9d..c16bdef 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -1,5 +1,5 @@ ;;; nnheader.el --- header access macros for Gnus and its backends -;; Copyright (C) 1987,88,89,90,93,94,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -751,7 +751,6 @@ If FILE, find the \".../etc/PACKAGE\" file instead." (when (string-match (car ange-ftp-path-format) path) (ange-ftp-re-read-dir path))))) -;; 1997/5/4 by MORIOKA Tomohiko (defvar nnheader-file-coding-system 'raw-text "Coding system used in file backends of Gnus.") @@ -765,7 +764,6 @@ find-file-hooks, etc. (auto-mode-alist (nnheader-auto-mode-alist)) (default-major-mode 'fundamental-mode) (after-insert-file-functions nil) - ;; 1997/5/4 by MORIOKA Tomohiko (coding-system-for-read nnheader-file-coding-system)) (insert-file-contents filename visit beg end replace))) @@ -775,7 +773,6 @@ find-file-hooks, etc. (default-major-mode 'fundamental-mode) (enable-local-variables nil) (after-insert-file-functions nil) - ;; 1997/5/16 by MORIOKA Tomohiko (coding-system-for-read nnheader-file-coding-system)) (apply 'find-file-noselect args))) diff --git a/lisp/nnheaderxm.el b/lisp/nnheaderxm.el index 0a5fc99..869ed69 100644 --- a/lisp/nnheaderxm.el +++ b/lisp/nnheaderxm.el @@ -1,5 +1,5 @@ ;;; nnheaderxm.el --- making Gnus backends work under XEmacs -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnkiboze.el b/lisp/nnkiboze.el index 2d8de2e..54c3ee0 100644 --- a/lisp/nnkiboze.el +++ b/lisp/nnkiboze.el @@ -1,5 +1,5 @@ ;;; nnkiboze.el --- select virtual news access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnlistserv.el b/lisp/nnlistserv.el index b307fd2..e74b6a2 100644 --- a/lisp/nnlistserv.el +++ b/lisp/nnlistserv.el @@ -1,5 +1,5 @@ -;;; nnlsitserv.el --- retrieving articles via web mailing list archives -;; Copyright (C) 1997 Free Software Foundation, Inc. +;;; nnlistserv.el --- retrieving articles via web mailing list archives +;; Copyright (C) 1997,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail diff --git a/lisp/nnmail.el b/lisp/nnmail.el index c6cb367..3a5297c 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -1,5 +1,5 @@ ;;; nnmail.el --- mail support functions for the Gnus mail backends -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail @@ -74,7 +74,7 @@ (defcustom nnmail-split-methods '(("mail.misc" "")) - "Incoming mail will be split according to this variable. + "*Incoming mail will be split according to this variable. If you'd like, for instance, one mail group for mail from the \"4ad-l\" mailing list, one group for junk mail and one for everything @@ -106,14 +106,14 @@ This variable can also have a function as its value." ;; Suggested by Erik Selberg . (defcustom nnmail-crosspost t - "If non-nil, do crossposting if several split methods match the mail. + "*If non-nil, do crossposting if several split methods match the mail. If nil, the first match found will be used." :group 'nnmail-split :type 'boolean) ;; Added by gord@enci.ucalgary.ca (Gordon Matzigkeit). (defcustom nnmail-keep-last-article nil - "If non-nil, nnmail will never delete/move a group's last article. + "*If non-nil, nnmail will never delete/move a group's last article. It can be marked expirable, so it will be deleted when it is no longer last. You may need to set this variable if other programs are putting @@ -123,14 +123,14 @@ new mail into folder numbers that Gnus has marked as expired." :type 'boolean) (defcustom nnmail-use-long-file-names nil - "If non-nil the mail backends will use long file and directory names. + "*If non-nil the mail backends will use long file and directory names. If nil, groups like \"mail.misc\" will end up in directories like \"mail/misc/\"." :group 'nnmail-files :type 'boolean) (defcustom nnmail-default-file-modes 384 - "Set the mode bits of all new mail files to this integer." + "*Set the mode bits of all new mail files to this integer." :group 'nnmail-files :type 'integer) @@ -145,7 +145,7 @@ can also be `immediate' and `never'." (const never))) (defcustom nnmail-expiry-wait-function nil - "Variable that holds function to specify how old articles should be before they are expired. + "*Variable that holds function to specify how old articles should be before they are expired. The function will be called with the name of the group that the expiry is to be performed in, and it should return an integer that says how many days an article can be stored before it is considered @@ -164,14 +164,14 @@ Eg.: (function :format "%v" nnmail-))) (defcustom nnmail-cache-accepted-message-ids nil - "If non-nil, put Message-IDs of Gcc'd articles into the duplicate cache." + "*If non-nil, put Message-IDs of Gcc'd articles into the duplicate cache." :group 'nnmail :type 'boolean) (defcustom nnmail-spool-file (or (getenv "MAIL") (concat "/usr/spool/mail/" (user-login-name))) - "Where the mail backends will look for incoming mail. + "*Where the mail backends will look for incoming mail. This variable is \"/usr/spool/mail/$user\" by default. If this variable is nil, no mail backends will read incoming mail. If this variable is a list, all files mentioned in this list will be @@ -182,7 +182,7 @@ treat all files in that directory as incoming spool files." :type 'file) (defcustom nnmail-crash-box "~/.gnus-crash-box" - "File where Gnus will store mail while processing it." + "*File where Gnus will store mail while processing it." :group 'nnmail-files :type 'file) @@ -211,7 +211,7 @@ several files - eg. \".spool[0-9]*\"." :type 'boolean) (defcustom nnmail-delete-file-function 'delete-file - "Function called to delete files in some mail backends." + "*Function called to delete files in some mail backends." :group 'nnmail-files :type 'function) @@ -219,7 +219,7 @@ several files - eg. \".spool[0-9]*\"." (if (string-match "windows-nt\\|emx" (format "%s" system-type)) 'copy-file 'add-name-to-file) - "Function called to create a copy of a file. + "*Function called to create a copy of a file. This is `add-name-to-file' by default, which means that crossposts will use hard links. If your file system doesn't allow hard links, you could set this variable to `copy-file' instead." @@ -248,7 +248,7 @@ to be moved to." (if (eq system-type 'windows-nt) '(nnheader-ms-strip-cr) nil) - "Hook that will be run after the incoming mail has been transferred. + "*Hook that will be run after the incoming mail has been transferred. The incoming mail is moved from `nnmail-spool-file' (which normally is something like \"/usr/spool/mail/$user\") to the user's home directory. This hook is called after the incoming mail box has been @@ -278,25 +278,25 @@ If you use `display-time', you could use something like this: ;; Suggested by Erik Selberg . (defcustom nnmail-prepare-incoming-hook nil - "Hook called before treating incoming mail. + "*Hook called before treating incoming mail. The hook is run in a buffer with all the new, incoming mail." :group 'nnmail-prepare :type 'hook) (defcustom nnmail-prepare-incoming-header-hook nil - "Hook called narrowed to the headers of each message. + "*Hook called narrowed to the headers of each message. This can be used to remove excessive spaces (and stuff like that) from the headers before splitting and saving the messages." :group 'nnmail-prepare :type 'hook) (defcustom nnmail-prepare-incoming-message-hook nil - "Hook called narrowed to each message." + "*Hook called narrowed to each message." :group 'nnmail-prepare :type 'hook) (defcustom nnmail-list-identifiers nil - "Regexp that matches list identifiers to be removed. + "*Regexp that matches list identifiers to be removed. This can also be a list of regexps." :group 'nnmail-prepare :type '(choice (const :tag "none" nil) @@ -304,17 +304,17 @@ This can also be a list of regexps." (repeat :value (".*") regexp))) (defcustom nnmail-pre-get-new-mail-hook nil - "Hook called just before starting to handle new incoming mail." + "*Hook called just before starting to handle new incoming mail." :group 'nnmail-retrieve :type 'hook) (defcustom nnmail-post-get-new-mail-hook nil - "Hook called just after finishing handling new incoming mail." + "*Hook called just after finishing handling new incoming mail." :group 'nnmail-retrieve :type 'hook) (defcustom nnmail-split-hook nil - "Hook called before deciding where to split an article. + "*Hook called before deciding where to split an article. The functions in this hook are free to modify the buffer contents in any way they choose -- the buffer contents are discarded after running the split process." @@ -338,7 +338,7 @@ messages will be shown to indicate the current status." :type 'integer) (defcustom nnmail-split-fancy "mail.misc" - "Incoming mail can be split according to this fancy variable. + "*Incoming mail can be split according to this fancy variable. To enable this, set `nnmail-split-methods' to `nnmail-split-fancy'. The format is this variable is SPLIT, where SPLIT can be one of @@ -401,7 +401,7 @@ Example: (from . "from\\|sender\\|resent-from") (nato . "to\\|cc\\|resent-to\\|resent-cc") (naany . "from\\|to\\|cc\\|sender\\|resent-from\\|resent-to\\|resent-cc")) - "Alist of abbreviations allowed in `nnmail-split-fancy'." + "*Alist of abbreviations allowed in `nnmail-split-fancy'." :group 'nnmail-split :type '(repeat (cons :format "%v" symbol regexp))) @@ -476,7 +476,6 @@ parameter. It should return nil, `warn' or `delete'." (defun nnmail-request-post (&optional server) (mail-send-and-exit nil)) -;; 1997/5/4 by MORIOKA Tomohiko (defvar nnmail-file-coding-system 'raw-text "Coding system used in nnmail.") @@ -487,16 +486,12 @@ parameter. It should return nil, `warn' or `delete'." (let ((format-alist nil) (after-insert-file-functions nil)) (condition-case () - ;; 1997/5/4 by MORIOKA Tomohiko (let ((coding-system-for-read nnmail-file-coding-system) - ;; 1997/8/12 by MORIOKA Tomohiko - ;; for XEmacs/mule. (pathname-coding-system 'binary)) (insert-file-contents file) t) (file-error nil)))) -;; 1997/8/10 by MORIOKA Tomohiko (defvar nnmail-pathname-coding-system 'iso-8859-1 "*Coding system for pathname.") @@ -693,7 +688,6 @@ nn*-request-list should have been called before calling this function." group-assoc))) group-assoc)) -;; 1997/8/12 by MORIOKA Tomohiko (defvar nnmail-active-file-coding-system 'iso-8859-1 "*Coding system for active file.") @@ -740,8 +734,8 @@ is a spool. If not using procmail, return GROUP." (defun nnmail-process-babyl-mail-format (func artnum-func) (let ((case-fold-search t) start message-id content-length do-search end) - (goto-char (point-min)) (while (not (eobp)) + (goto-char (point-min)) (re-search-forward " \n0, *unseen,+\n\\(\\*\\*\\* EOOH \\*\\*\\*\n\\)?" nil t) (goto-char (match-end 0)) @@ -758,7 +752,7 @@ is a spool. If not using procmail, return GROUP." (goto-char (point-min)) (when (looking-at ">From ") (replace-match "X-From-Line: ") ) - (run-hooks 'nnmail-prepare-incoming-header-hook) + (gnus-run-hooks 'nnmail-prepare-incoming-header-hook) (goto-char (point-max)) ;; Find the Message-ID header. (save-excursion @@ -918,7 +912,7 @@ is a spool. If not using procmail, return GROUP." ;; having a (possibly) faulty header. (beginning-of-line) (insert "X-")) - (run-hooks 'nnmail-prepare-incoming-header-hook) + (gnus-run-hooks 'nnmail-prepare-incoming-header-hook) ;; Find the end of this article. (goto-char (point-max)) (widen) @@ -993,7 +987,7 @@ is a spool. If not using procmail, return GROUP." (insert "Original-"))) (forward-line 1) (insert "Message-ID: " (setq message-id (nnmail-message-id)) "\n")) - (run-hooks 'nnmail-prepare-incoming-header-hook) + (gnus-run-hooks 'nnmail-prepare-incoming-header-hook) ;; Find the end of this article. (goto-char (point-max)) (widen) @@ -1030,7 +1024,7 @@ FUNC will be called with the buffer narrowed to each mail." (nnheader-insert-file-contents incoming) (unless (zerop (buffer-size)) (goto-char (point-min)) - (save-excursion (run-hooks 'nnmail-prepare-incoming-hook)) + (save-excursion (gnus-run-hooks 'nnmail-prepare-incoming-hook)) ;; Handle both babyl, MMDF and unix mail formats, since movemail will ;; use the former when fetching from a mailbox, the latter when ;; fetching from a file. @@ -1052,7 +1046,8 @@ FUNC will be called with the group name to determine the article number." (obuf (current-buffer)) (beg (point-min)) end group-art method regrepp) - (if (and (sequencep methods) (= (length methods) 1)) + (if (and (sequencep methods) + (= (length methods) 1)) ;; If there is only just one group to put everything in, we ;; just return a list with just this one method in. (setq group-art @@ -1071,7 +1066,7 @@ FUNC will be called with the group name to determine the article number." (while (re-search-forward "\\(\r?\n[ \t]+\\)+" nil t) (replace-match " " t t)) ;; Allow washing. - (run-hooks 'nnmail-split-hook) + (gnus-run-hooks 'nnmail-split-hook) (if (and (symbolp nnmail-split-methods) (fboundp nnmail-split-methods)) (let ((split @@ -1086,6 +1081,7 @@ FUNC will be called with the group name to determine the article number." "Error in `nnmail-split-methods'; using `bogus' mail group") (sit-for 1) '("bogus"))))) + (setq split (remove-duplicates split :test 'equal)) ;; The article may be "cross-posted" to `junk'. What ;; to do? Just remove the `junk' spec. Don't really ;; see anything else to do... @@ -1498,7 +1494,7 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." (message-fetch-field header)))) (defun nnmail-check-duplication (message-id func artnum-func) - (run-hooks 'nnmail-prepare-incoming-message-hook) + (gnus-run-hooks 'nnmail-prepare-incoming-message-hook) ;; If this is a duplicate message, then we do not save it. (let* ((duplication (nnmail-cache-id-exists-p message-id)) (case-fold-search t) @@ -1555,7 +1551,7 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." ;; We first activate all the groups. (nnmail-activate method) ;; Allow the user to hook. - (run-hooks 'nnmail-pre-get-new-mail-hook) + (gnus-run-hooks 'nnmail-pre-get-new-mail-hook) ;; Open the message-id cache. (nnmail-cache-open) ;; The we go through all the existing spool files and split the @@ -1600,12 +1596,12 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." (nnmail-get-value "%s-active-file" method)) (when exit-func (funcall exit-func)) - (run-hooks 'nnmail-read-incoming-hook) + (gnus-run-hooks 'nnmail-read-incoming-hook) (nnheader-message 3 "%s: Reading incoming mail...done" method)) ;; Close the message-id cache. (nnmail-cache-close) ;; Allow the user to hook. - (run-hooks 'nnmail-post-get-new-mail-hook) + (gnus-run-hooks 'nnmail-post-get-new-mail-hook) ;; Delete all the temporary files. (while incomings (setq incoming (pop incomings)) @@ -1663,10 +1659,7 @@ If ARGS, PROMPT is used as an argument to `format'." (defun nnmail-write-region (start end filename &optional append visit lockname) "Do a `write-region', and then set the file modes." - ;; 1997/5/4 by MORIOKA Tomohiko (let ((coding-system-for-write nnmail-file-coding-system) - ;; 1997/8/12 by MORIOKA Tomohiko - ;; for XEmacs/mule. (pathname-coding-system 'binary)) (write-region start end filename append visit lockname) (set-file-modes filename nnmail-default-file-modes))) diff --git a/lisp/nnmbox.el b/lisp/nnmbox.el index a5c4676..92c4da8 100644 --- a/lisp/nnmbox.el +++ b/lisp/nnmbox.el @@ -1,5 +1,5 @@ ;;; nnmbox.el --- mail mbox access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA @@ -463,8 +463,8 @@ (nnmail-insert-lines) (nnmail-insert-xref group-art) (nnmbox-insert-newsgroup-line group-art) - (run-hooks 'nnmail-prepare-save-mail-hook) - (run-hooks 'nnmbox-prepare-save-mail-hook) + (gnus-run-hooks 'nnmail-prepare-save-mail-hook) + (gnus-run-hooks 'nnmbox-prepare-save-mail-hook) group-art)) (defun nnmbox-insert-newsgroup-line (group-art) diff --git a/lisp/nnmh.el b/lisp/nnmh.el index b0c1cb8..0001703 100644 --- a/lisp/nnmh.el +++ b/lisp/nnmh.el @@ -1,5 +1,5 @@ ;;; nnmh.el --- mhspool access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA @@ -250,7 +250,7 @@ (directory-files nnmh-current-directory nil "^[0-9]+$" t))) (is-old t) article rest mod-time) - (nnmail-activate 'nnmh) + (nnheader-init-server-buffer) (while (and articles is-old) (setq article (concat nnmh-current-directory @@ -303,22 +303,19 @@ (nnmail-check-syntax) (when nnmail-cache-accepted-message-ids (nnmail-cache-insert (nnmail-fetch-field "message-id"))) + (nnheader-init-server-buffer) (prog1 (if (stringp group) - (and - (nnmail-activate 'nnmh) - (if noinsert - (nnmh-active-number group) - (car (nnmh-save-mail - (list (cons group (nnmh-active-number group))) - noinsert)))) - (and - (nnmail-activate 'nnmh) - (let ((res (nnmail-article-group 'nnmh-active-number))) - (if (and (null res) - (yes-or-no-p "Moved to `junk' group; delete article? ")) - 'junk - (car (nnmh-save-mail res noinsert)))))) + (if noinsert + (nnmh-active-number group) + (car (nnmh-save-mail + (list (cons group (nnmh-active-number group))) + noinsert))) + (let ((res (nnmail-article-group 'nnmh-active-number))) + (if (and (null res) + (yes-or-no-p "Moved to `junk' group; delete article? ")) + 'junk + (car (nnmh-save-mail res noinsert))))) (when (and last nnmail-cache-accepted-message-ids) (nnmail-cache-close)))) @@ -335,7 +332,7 @@ t))) (deffoo nnmh-request-create-group (group &optional server args) - (nnmail-activate 'nnmh) + (nnheader-init-server-buffer) (unless (assoc group nnmh-group-alist) (let (active) (push (list group (setq active (cons 1 0))) @@ -432,8 +429,8 @@ (unless noinsert (nnmail-insert-lines) (nnmail-insert-xref group-art)) - (run-hooks 'nnmail-prepare-save-mail-hook) - (run-hooks 'nnmh-prepare-save-mail-hook) + (gnus-run-hooks 'nnmail-prepare-save-mail-hook) + (gnus-run-hooks 'nnmh-prepare-save-mail-hook) (goto-char (point-min)) (while (looking-at "From ") (replace-match "X-From-Line: ") diff --git a/lisp/nnml.el b/lisp/nnml.el index ea36ca8..d208e26 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -1,5 +1,5 @@ ;;; nnml.el --- mail spool access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA @@ -163,8 +163,6 @@ all. This may very well take some time.") (deffoo nnml-request-article (id &optional group server buffer) (nnml-possibly-change-directory group server) (let* ((nntp-server-buffer (or buffer nntp-server-buffer)) - ;; 1997/8/12 by MORIOKA Tomohiko - ;; for XEmacs/mule. (pathname-coding-system 'binary) path gpath group-num) (if (stringp id) @@ -250,8 +248,6 @@ all. This may very well take some time.") (deffoo nnml-request-list (&optional server) (save-excursion - ;; 1997/8/12 by MORIOKA Tomohiko - ;; for XEmacs/mule. (let ((nnmail-file-coding-system nnmail-active-file-coding-system) (pathname-coding-system 'binary)) ; for XEmacs/mule (nnmail-find-file nnml-active-file) @@ -590,8 +586,8 @@ all. This may very well take some time.") (let (chars headers) (setq chars (nnmail-insert-lines)) (nnmail-insert-xref group-art) - (run-hooks 'nnmail-prepare-save-mail-hook) - (run-hooks 'nnml-prepare-save-mail-hook) + (gnus-run-hooks 'nnmail-prepare-save-mail-hook) + (gnus-run-hooks 'nnml-prepare-save-mail-hook) (goto-char (point-min)) (while (looking-at "From ") (replace-match "X-From-Line: ") diff --git a/lisp/nnoo.el b/lisp/nnoo.el index 28f9f98..37ac4bb 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -1,5 +1,5 @@ ;;; nnoo.el --- OO Gnus Backends -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnsoup.el b/lisp/nnsoup.el index 195cd81..39db45f 100644 --- a/lisp/nnsoup.el +++ b/lisp/nnsoup.el @@ -1,5 +1,5 @@ ;;; nnsoup.el --- SOUP access for Gnus -;; Copyright (C) 1995,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnspool.el b/lisp/nnspool.el index 967a4c8..eec8578 100644 --- a/lisp/nnspool.el +++ b/lisp/nnspool.el @@ -1,5 +1,5 @@ ;;; nnspool.el --- spool access for GNU Emacs -;; Copyright (C) 1988,89,90,93,94,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1988,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -82,7 +82,6 @@ there.") (defvoo nnspool-rejected-article-hook nil "*A hook that will be run when an article has been rejected by the server.") -;; 1997/8/14 by MORIOKA Tomohiko (defvoo nnspool-file-coding-system nnheader-file-coding-system "Coding system for nnspool.") @@ -346,7 +345,7 @@ there.") (nnheader-report 'nnspool "%s" (buffer-string)) (message "nnspool: %s" nnspool-status-string) (ding) - (run-hooks 'nnspool-rejected-article-hook)))) + (gnus-run-hooks 'nnspool-rejected-article-hook)))) (defun nnspool-retrieve-headers-with-nov (articles &optional fetch-old) (if (or gnus-nov-is-evil nnspool-nov-is-evil) diff --git a/lisp/nntp.el b/lisp/nntp.el index 0e9c402..ec0aaa0 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -179,6 +179,7 @@ server there that you can connect to. See also `nntp-open-connection-function'" (defvar nntp-inside-change-function nil) (defvoo nntp-last-command-time nil) (defvoo nntp-last-command nil) +(defvoo nntp-authinfo-password nil) (defvar nntp-connection-list nil) @@ -703,6 +704,27 @@ It will make innd servers spawn an nnrpd process to allow actual article reading." (nntp-send-command "^.*\r?\n" "MODE READER")) +(defun nntp-send-authinfo () + "Send the AUTHINFO to the nntp server. +This function is supposed to be called from `nntp-server-opened-hook'. +It will look in the \"~/.netrc\" file for matching entries. If +nothing suitable is found there, it will prompt for a user name +and a password." + (let* ((list (gnus-parse-netrc "~/.netrc")) + (alist (gnus-netrc-machine list nntp-address)) + (user (gnus-netrc-get alist "login")) + (passwd (gnus-netrc-get alist "password"))) + (nntp-send-command + "^3.*\r?\n" "AUTHINFO USER" + (or user (read-string (format "NNTP (%s) user name: " nntp-address)))) + (nntp-send-command + "^2.*\r?\n" "AUTHINFO PASS" + (or passwd + nntp-authinfo-password + (setq nntp-authinfo-password + (nnmail-read-passwd (format "NNTP (%s) password: " + nntp-address))))))) + (defun nntp-send-nosy-authinfo () "Send the AUTHINFO to the nntp server. This function is supposed to be called from `nntp-server-opened-hook'. @@ -714,18 +736,12 @@ It will prompt for a password." "^2.*\r?\n" "AUTHINFO PASS" (nnmail-read-passwd "NNTP (%s) password: " nntp-address))) -(defun nntp-send-authinfo () +(defun nntp-send-authinfo-from-file () "Send the AUTHINFO to the nntp server. This function is supposed to be called from `nntp-server-opened-hook'. -It will prompt for a password." - (nntp-send-command "^3.*\r?\n" "AUTHINFO USER" (user-login-name)) - (nntp-send-command - "^2.*\r?\n" "AUTHINFO PASS" - (nnmail-read-passwd (format "NNTP (%s) password: " nntp-address)))) -(defun nntp-send-authinfo-from-file () - "Send the AUTHINFO to the nntp server. -This function is supposed to be called from `nntp-server-opened-hook'." +The authinfo login name is taken from the user's login name and the +password contained in '~/.nntp-authinfo'." (when (file-exists-p "~/.nntp-authinfo") (nnheader-temp-write nil (insert-file-contents "~/.nntp-authinfo") @@ -767,7 +783,7 @@ This function is supposed to be called from `nntp-server-opened-hook'." (defun nntp-open-connection (buffer) "Open a connection to PORT on ADDRESS delivering output to BUFFER." - (run-hooks 'nntp-prepare-server-hook) + (gnus-run-hooks 'nntp-prepare-server-hook) (let* ((pbuffer (nntp-make-process-buffer buffer)) (process (condition-case () @@ -788,7 +804,7 @@ This function is supposed to be called from `nntp-server-opened-hook'." (erase-buffer) (set-buffer nntp-server-buffer) (let ((nnheader-callback-function nil)) - (run-hooks 'nntp-server-opened-hook)))) + (gnus-run-hooks 'nntp-server-opened-hook)))) (when (buffer-name (process-buffer process)) (kill-buffer (process-buffer process))) nil)))) diff --git a/lisp/nnvirtual.el b/lisp/nnvirtual.el index b44caae..556b318 100644 --- a/lisp/nnvirtual.el +++ b/lisp/nnvirtual.el @@ -1,5 +1,5 @@ ;;; nnvirtual.el --- virtual newsgroups access for Gnus -;; Copyright (C) 1994,95,96,97 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. ;; Author: David Moore ;; Lars Magne Ingebrigtsen diff --git a/lisp/nnweb.el b/lisp/nnweb.el index 543c3d8..2f2817e 100644 --- a/lisp/nnweb.el +++ b/lisp/nnweb.el @@ -1,5 +1,5 @@ ;;; nnweb.el --- retrieving articles via web search engines -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/pop3.el b/lisp/pop3.el index 035fe64..d749c2c 100644 --- a/lisp/pop3.el +++ b/lisp/pop3.el @@ -1,6 +1,6 @@ ;;; pop3.el --- Post Office Protocol (RFC 1460) interface -;; Copyright (C) 1996,1997 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Richard L. Pieri ;; Keywords: mail, pop3 diff --git a/lisp/score-mode.el b/lisp/score-mode.el index fdb8d71..c0b475b 100644 --- a/lisp/score-mode.el +++ b/lisp/score-mode.el @@ -60,7 +60,7 @@ This mode is an extended emacs-lisp mode. (setq mode-name "Score") (lisp-mode-variables nil) (make-local-variable 'gnus-score-edit-exit-function) - (run-hooks 'emacs-lisp-mode-hook 'gnus-score-mode-hook)) + (gnus-run-hooks 'emacs-lisp-mode-hook 'gnus-score-mode-hook)) (defun gnus-score-make-menu-bar () (unless (boundp 'gnus-score-menu) @@ -70,7 +70,7 @@ This mode is an extended emacs-lisp mode. ["Exit" gnus-score-edit-exit t] ["Insert date" gnus-score-edit-insert-date t] ["Format" gnus-score-pretty-print t])) - (run-hooks 'gnus-score-menu-hook))) + (gnus-run-hooks 'gnus-score-menu-hook))) (defun gnus-score-edit-insert-date () "Insert date in numerical format." diff --git a/lisp/smiley.el b/lisp/smiley.el index ac9566c..f82ac2d 100644 --- a/lisp/smiley.el +++ b/lisp/smiley.el @@ -1,5 +1,5 @@ ;;; smiley.el --- displaying smiley faces -;; Copyright (C) 1996,97 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. ;; Author: Wes Hardaker ;; Keywords: fun @@ -45,7 +45,7 @@ :group 'gnus-visual) (defcustom smiley-data-directory (message-xmas-find-glyph-directory "smilies") - "Location of the smiley faces files." + "*Location of the smiley faces files." :type 'directory :group 'smiley) @@ -76,7 +76,7 @@ ("\\(;-*[>)}»]+\\)\\W" 1 "FaceWinking.xpm") ("\\(:-*[Vvµ]\\)\\W" 1 "FaceWry.xpm") ("\\([:|]-*P\\)\\W" 1 "FaceYukky.xpm")) - "Normal and deformed faces for smilies." + "*Normal and deformed faces for smilies." :type '(repeat (list regexp (integer :tag "Match") (string :tag "Image"))) @@ -102,14 +102,14 @@ ("\\(:-+[Vvµ]\\)\\W" 1 "FaceWry.xpm") ("\\(][:8B]-[)>]\\)\\W" 1 "FaceDevilish.xpm") ("\\([:|]-+P\\)\\W" 1 "FaceYukky.xpm")) - "Smileys with noses. These get less false matches." + "*Smileys with noses. These get less false matches." :type '(repeat (list regexp (integer :tag "Match") (string :tag "Image"))) :group 'smiley) (defcustom smiley-regexp-alist smiley-deformed-regexp-alist - "A list of regexps to map smilies to real images. + "*A list of regexps to map smilies to real images. Defaults to the contents of `smiley-deformed-regexp-alist'. An alternative is `smiley-nosey-regexp-alist' that matches less aggressively. @@ -123,27 +123,27 @@ If this is a symbol, take its value." :group 'smiley) (defcustom smiley-flesh-color "yellow" - "Flesh color." + "*Flesh color." :type 'string :group 'smiley) (defcustom smiley-features-color "black" - "Features color." + "*Features color." :type 'string :group 'smiley) (defcustom smiley-tongue-color "red" - "Tongue color." + "*Tongue color." :type 'string :group 'smiley) (defcustom smiley-circle-color "black" - "Circle color." + "*Circle color." :type 'string :group 'smiley) (defcustom smiley-mouse-face 'highlight - "Face used for mouse highlighting in the smiley buffer. + "*Face used for mouse highlighting in the smiley buffer. Smiley buttons will be displayed in this face when the cursor is above them." diff --git a/texi/ChangeLog b/texi/ChangeLog index c16dce1..a3f2538 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,9 @@ +Sat Feb 14 17:46:33 1998 Lars Magne Ingebrigtsen + + * gnus.texi (Virtual Groups): Fix. + (NNTP): Addition. + (Really Various Summary Commands): Addition. + Fri Feb 13 18:23:19 1998 Lars Magne Ingebrigtsen * gnus.texi (Mail Group Commands): Typo. diff --git a/texi/gnus.texi b/texi/gnus.texi index 6c6db39..34fa45d 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Quassia Gnus 0.25 Manual +@settitle Quassia Gnus 0.26 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -313,7 +313,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Quassia Gnus 0.25 Manual +@title Quassia Gnus 0.26 Manual @author by Lars Magne Ingebrigtsen @page @@ -349,7 +349,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Quassia Gnus 0.25. +This manual corresponds to Quassia Gnus 0.26. @end ifinfo @@ -7370,6 +7370,12 @@ to have truncation switched off while reading articles. Expand the summary buffer window (@code{gnus-summary-expand-window}). If given a prefix, force an @code{article} window configuration. +@item M-C-e +@kindex M-C-e (Summary) +@findex gnus-summary-edit-parameters +Edit the group parameters (@pxref{Group Parameters}) of the current +group (@code{gnus-summary-edit-parameters}). + @end table @@ -8850,24 +8856,39 @@ present in this hook. @item nntp-authinfo-function @vindex nntp-authinfo-function +@findex nntp-send-authinfo This function will be used to send @samp{AUTHINFO} to the @sc{nntp} -server. Available functions include: +server. The default function is @code{nntp-send-authinfo}, which looks +through your @file{~/.netrc} for applicable entries. If none are found, +it will prompt you for a login name and a password. The format of the +@file{~/.netrc} file is defined in the @code{ftp} manual page, but here +are the salient facts: -@table @code -@item nntp-send-authinfo -@findex nntp-send-authinfo -This function will use your current login name as the user name and will -prompt you for the password. This is the default. +@enumerate +@item +The file contains one or more line, each of which define one server. -@item nntp-send-nosy-authinfo -@findex nntp-send-nosy-authinfo -This function will prompt you for both user name and password. +@item +Each line may contain an arbitrary number of token/value pairs. The +valid tokens include @samp{machine}, @samp{login}, and @samp{password}. -@item nntp-send-authinfo-from-file -@findex nntp-send-authinfo-from-file -This function will use your current login name as the user name and will -read the @sc{nntp} password from @file{~/.nntp-authinfo}. -@end table +@end enumerate + +Here's an example file: + +@example +machine news.uio.no login larsi password geheimnis +machine nntp.ifi.uio.no login larsi +@end example + +The token/value pairs may appear in any order; @samp{machine} doesn't +have to be first, for instance. + +In this example, both login name and password have been supplied for the +former server, while the latter has only the login name listed, and the +user will be prompted for the password. + +Remember to not leave the @file{~/.netrc} world-readable. @item nntp-server-action-alist @vindex nntp-server-action-alist @@ -10983,9 +11004,13 @@ If you would like to read @samp{soc.motss} both from a server in Japan and a server in Norway, you could use the following as the group regexp: @example -"^nntp+some.server.jp:soc.motss$\\|^nntp+some.server.no:soc.motss$" +"^nntp\\+some\\.server\\.jp:soc\\.motss$\\|^nntp\\+some\\.server\\.no:soc\\.motss$" @end example +(Remember, though, that if you're creating the group with @kbd{G m}, you +shouldn't double the backslashes, and you should leave off the quote +characters at the beginning and the end of the string.) + This should work kinda smoothly---all articles from both groups should end up in this one, and there should be no duplicates. Threading (and the rest) will still work as usual, but there might be problems with the @@ -13416,7 +13441,7 @@ default. @item gnus-expert-user @vindex gnus-expert-user -If this variable is non-@code{nil}, you will never ever be asked any +If this variable is non-@code{nil}, you will seldom be asked any questions by Gnus. It will simply assume you know what you're doing, no matter how strange. @@ -14455,7 +14480,7 @@ over your shoulder as you read news. * Picon Requirements:: Don't go further if you aren't using XEmacs. * Easy Picons:: Displaying Picons---the easy way. * Hard Picons:: The way you should do it. You'll learn something. -* Picon Configuration:: Other variables you can trash/tweak/munge/play with. +* Picon Useless Configuration:: Other variables you can trash/tweak/munge/play with. @end menu @@ -14480,12 +14505,17 @@ in either monochrome @code{XBM} format or color @code{XPM} and @code{GIF} formats. @end quotation -For instructions on obtaining and installing the picons databases, point -your Web browser at -@file{http://www.cs.indiana.edu/picons/ftp/index.html}. +@vindex gnus-picons-piconsearch-url +If you have a permanent connection to the Internet you can use Steve +Kinzler's Picons Search engine by setting +@code{gnus-picons-piconsearch-url} to the string +@file{http://www.cs.indiana.edu/picons/search.html}. @vindex gnus-picons-database -Gnus expects picons to be installed into a location pointed to by +Otherwise you need a local copy of his database. For instructions on +obtaining and installing the picons databases, point your Web browser at +@file{http://www.cs.indiana.edu/picons/ftp/index.html}. Gnus expects +picons to be installed into a location pointed to by @code{gnus-picons-database}. @@ -14496,10 +14526,13 @@ To have Gnus display Picons for you, you must be running XEmacs 19.13 or greater since all other versions of Emacs aren't yet able to display images. -Additionally, you must have @code{xpm} support compiled into XEmacs. +Additionally, you must have @code{x} support compiled into XEmacs. To +display color picons which are much nicer than the black & white one, +you also need one of @code{xpm} or @code{gif} compiled into XEmacs. @vindex gnus-picons-convert-x-face -If you want to display faces from @code{X-Face} headers, you must have +If you want to display faces from @code{X-Face} headers, you should have +the @code{xface} support compiled into XEmacs. Otherwise you must have the @code{netpbm} utilities installed, or munge the @code{gnus-picons-convert-x-face} variable to use something else. @@ -14517,6 +14550,15 @@ To enable displaying picons, simply put the following line in your (add-hook 'gnus-article-display-hook 'gnus-picons-article-display-x-face) @end lisp +and make sure @code{gnus-picons-database} points to the directory +containing the Picons databases. + +Alternatively if you want to use the web piconsearch engine add this: + +@lisp +(setq gnus-picons-piconsearch-url "http://www.cs.indiana.edu:800/piconsearch") +@end lisp + @node Hard Picons @subsubsection Hard Picons @@ -14531,10 +14573,27 @@ Gnus can display picons for you as you enter and leave groups and articles. It knows how to interact with three sections of the picons database. Namely, it can display the picons newsgroup pictures, author's face picture(s), and the authors domain. To enable this -feature, you need to first decide where to display them. +feature, you need to select where to get the picons from, and where to +display them. @table @code +@item gnus-picons-database +@vindex gnus-picons-database +The location of the picons database. Should point to a directory +containing the @file{news}, @file{domains}, @file{users} (and so on) +subdirectories. This is only useful if +@code{gnus-picons-piconsearch-url} is @code{nil}. Defaults to +@file{/usr/local/faces/}. + +@item gnus-picons-piconsearch-url +@vindex gnus-picons-piconsearch-url +The URL for the web picons search engine. The only currently known +engine is @file{http://www.cs.indiana.edu:800/piconsearch}. To +workaround network delays, icons will be fetched in the background. If +this is @code{nil} 'the default), then picons are fetched from local +database indicated by @code{gnus-picons-database}. + @item gnus-picons-display-where @vindex gnus-picons-display-where Where the picon images should be displayed. It is @code{picons} by @@ -14554,9 +14613,9 @@ displayed. Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your window configuration for you to include the @code{picons} buffer. -Now that you've made that decision, you need to add the following -functions to the appropriate hooks so these pictures will get -displayed at the right time. +Now that you've made those decision, you need to add the following +functions to the appropriate hooks so these pictures will get displayed +at the right time. @vindex gnus-article-display-hook @vindex gnus-picons-display-where @@ -14589,8 +14648,8 @@ for the append flag of @code{add-hook}: @end lisp -@node Picon Configuration -@subsubsection Picon Configuration +@node Picon Useless Configuration +@subsubsection Picon Useless Configuration @iftex @iflatex @@ -14603,16 +14662,11 @@ done, where things are located, and other useless stuff you really don't need to worry about. @table @code -@item gnus-picons-database -@vindex gnus-picons-database -The location of the picons database. Should point to a directory -containing the @file{news}, @file{domains}, @file{users} (and so on) -subdirectories. Defaults to @file{/usr/local/faces/}. -@item gnus-picons-news-directory -@vindex gnus-picons-news-directory -Sub-directory of the faces database containing the icons for -newsgroups. +@item gnus-picons-news-directories +@vindex gnus-picons-news-directories +List of subdirectories to search in @code{gnus-picons-database} for +newsgroups faces. @code{("news")} is the default. @item gnus-picons-user-directories @vindex gnus-picons-user-directories @@ -14623,11 +14677,12 @@ faces. @code{("local" "users" "usenix" "misc")} is the default. @vindex gnus-picons-domain-directories List of subdirectories to search in @code{gnus-picons-database} for domain name faces. Defaults to @code{("domains")}. Some people may -want to add @samp{unknown} to this list. +want to add @samp{"unknown"} to this list. @item gnus-picons-convert-x-face @vindex gnus-picons-convert-x-face -The command to use to convert the @code{X-Face} header to an X bitmap +If you don't have @code{xface} support builtin XEmacs, this is the +command to use to convert the @code{X-Face} header to an X bitmap (@code{xbm}). Defaults to @code{(format "@{ echo '/* Width=48, Height=48 */'; uncompface; @} | icontopbm | pbmtoxbm > %s" gnus-picons-x-face-file-name)} @@ -14637,17 +14692,49 @@ gnus-picons-x-face-file-name)} Names a temporary file to store the @code{X-Face} bitmap in. Defaults to @code{(format "/tmp/picon-xface.%s.xbm" (user-login-name))}. +@item gnus-picons-has-modeline-p +@vindex gnus-picons-has-modeline-p +If you have set @code{gnus-picons-display-where} to @code{picons}, your +XEmacs frame will become really cluttered. To alleviate this a bit you +can set @code{gnus-picons-has-modeline-p} to @code{nil}; this will +remove the mode line from the Picons buffer. This is only useful if +@code{gnus-picons-display-where} is @code{picons}. + +@item gnus-picons-refresh-before-display +@vindex gnus-picons-refresh-before-display +If non-nil, display the article buffer before computing the picons. +Defaults to @code{nil}. + +@item gnus-picons-display-as-address +@vindex gnus-picons-display-as-address +If @code{t} display textual email addresses along with pictures. +Defaults to @code{t}. + +@item gnus-picons-file-suffixes +@vindex gnus-picons-file-suffixes +Ordered list of suffixes on picon file names to try. Defaults to +@code{("xpm" "gif" "xbm")} minus those not builtin your XEmacs. + +@item gnus-picons-display-article-move-p +@vindex gnus-picons-display-article-move-p +Whether to move point to first empty line when displaying picons. This +has only an effect if `gnus-picons-display-where' has value `article'. + +@item gnus-picons-clear-cache-on-shutdown +@vindex gnus-picons-clear-cache-on-shutdown +Whether to clear the picons cache when exiting gnus. Gnus caches every +picons it finds while it is running. This saves some time in the search +process but eats some memory. If this variable is set to @code{nil}, +Gnus will never clear the cache itself; you will have to manually call +@code{gnus-picons-clear-cache} to clear it. Otherwise the cache will be +cleared every time you exit Gnus. Defaults to @code{t}. + @iftex @iflatex \margindex{} @end iflatex @end iftex -@item gnus-picons-buffer -@vindex gnus-picons-buffer -The name of the buffer that @code{picons} points to. Defaults to -@samp{*Icon Buffer*}. - @end table @node Smileys @@ -17151,9 +17238,6 @@ X characters in the body. Move all prompting to the new `M-n' default style. @item - have nntp cache the authinfo passwords. - -@item command to display all dormant articles. @item @@ -17185,6 +17269,10 @@ expired, e.g. (read), (age > 14 days), or the more interesting (read & age > 14 days)? @item +New limit command---limit to articles that have a certain string +in the head or body. + +@item Solve the halting problem. @c TODO diff --git a/texi/message.texi b/texi/message.texi index 6a973b7..75be131 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 0.25 Manual +@settitle Message 0.26 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 0.25 Manual +@title Message 0.26 Manual @author by Lars Magne Ingebrigtsen @page @@ -80,7 +80,7 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 0.25. Message is distributed with +This manual corresponds to Message 0.26. Message is distributed with the Gnus distribution bearing the same version number as this manual has.