*** pub/rgnus/lisp/article.el Sun Sep 22 10:21:12 1996 --- rgnus/lisp/article.el Mon Sep 23 21:48:19 1996 *************** *** 221,227 **** (props (nconc (list 'article-type 'headers) gnus-hidden-properties)) (max (1+ (length gnus-sorted-header-list))) ! (ignored (when (not (stringp gnus-visible-headers)) (cond ((stringp gnus-ignored-headers) gnus-ignored-headers) ((listp gnus-ignored-headers) --- 221,227 ---- (props (nconc (list 'article-type 'headers) gnus-hidden-properties)) (max (1+ (length gnus-sorted-header-list))) ! (ignored (when (not gnus-visible-headers) (cond ((stringp gnus-ignored-headers) gnus-ignored-headers) ((listp gnus-ignored-headers) *** pub/rgnus/lisp/gnus-art.el Sun Sep 22 10:21:13 1996 --- rgnus/lisp/gnus-art.el Wed Sep 25 19:40:54 1996 *************** *** 32,60 **** (require 'gnus-int) (require 'browse-url) ! (defvar gnus-article-save-directory gnus-directory ! "*Name of the directory articles will be saved in (default \"~/News\").") ! (defvar gnus-save-all-headers t ! "*If non-nil, don't remove any headers before saving.") ! ! (defvar gnus-prompt-before-saving 'always "*This variable says how much prompting is to be done when saving articles. If it is nil, no prompting will be done, and the articles will be saved to the default files. If this variable is `always', each and every article that is saved will be preceded by a prompt, even when saving large batches of articles. If this variable is neither nil not `always', there the user will be prompted once for a file name for ! each invocation of the saving commands.") ! (defvar gnus-saved-headers gnus-visible-headers ! "*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.") ! (defvar gnus-default-article-saver 'gnus-summary-save-in-rmail ! "*A function to save articles in your favourite format. The function must be interactively callable (in other words, it must be an Emacs command). --- 32,70 ---- (require 'gnus-int) (require 'browse-url) ! (defcustom gnus-article-save-directory gnus-directory ! "*Name of the directory articles will be saved in (default \"~/News\")." ! :group 'article ! :type 'directory) ! ! (defcustom gnus-save-all-headers t ! "*If non-nil, don't remove any headers before saving." ! :group 'article ! :type 'boolean) ! (defcustom gnus-prompt-before-saving 'always "*This variable says how much prompting is to be done when saving articles. If it is nil, no prompting will be done, and the articles will be saved to the default files. If this variable is `always', each and every article that is saved will be preceded by a prompt, even when saving large batches of articles. If this variable is neither nil not `always', there the user will be prompted once for a file name for ! each invocation of the saving commands." ! :group 'article ! :type '(choice (item always) ! (item :tag "never" nil) ! (sexp :tag "once" :format "%t"))) ! (defcustom gnus-saved-headers gnus-visible-headers ! "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." ! :group 'article ! :type '(repeat string)) ! (defcustom gnus-default-article-saver 'gnus-summary-save-in-rmail ! "A function to save articles in your favourite format. The function must be interactively callable (in other words, it must be an Emacs command). *************** *** 64,91 **** * gnus-summary-save-in-mail (Unix mail format) * gnus-summary-save-in-folder (MH folder) * gnus-summary-save-in-file (article format). ! * gnus-summary-save-in-vm (use VM's folder format).") ! ! (defvar gnus-rmail-save-name 'gnus-plain-save-name ! "*A function generating a file name to save articles in Rmail format. ! The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE.") ! ! (defvar gnus-mail-save-name 'gnus-plain-save-name ! "*A function generating a file name to save articles in Unix mail format. ! The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE.") ! ! (defvar gnus-folder-save-name 'gnus-folder-save-name ! "*A function generating a file name to save articles in MH folder. ! The function is called with NEWSGROUP, HEADERS, and optional LAST-FOLDER.") ! (defvar gnus-file-save-name 'gnus-numeric-save-name ! "*A function generating a file name to save articles in article format. The function is called with NEWSGROUP, HEADERS, and optional ! LAST-FILE.") ! (defvar gnus-split-methods '((gnus-article-archive-name)) ! "*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: --- 74,115 ---- * gnus-summary-save-in-mail (Unix mail format) * gnus-summary-save-in-folder (MH folder) * gnus-summary-save-in-file (article format). ! * gnus-summary-save-in-vm (use VM's folder format)." ! :group 'article ! :type '(radio (function-item gnus-summary-save-in-rmail) ! (function-item gnus-summary-save-in-mail) ! (function-item gnus-summary-save-in-folder) ! (function-item gnus-summary-save-in-file) ! (function-item gnus-summary-save-in-vm))) ! ! (defcustom gnus-rmail-save-name 'gnus-plain-save-name ! "A function generating a file name to save articles in Rmail format. ! The function is called with NEWSGROUP, HEADERS, and optional LAST-FILE." ! :group 'article ! :type 'function) ! ! (defcustom gnus-mail-save-name 'gnus-plain-save-name ! "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 'article ! :type 'function) ! ! (defcustom gnus-folder-save-name 'gnus-folder-save-name ! "A function generating a file name to save articles in MH folder. ! The function is called with NEWSGROUP, HEADERS, and optional LAST-FOLDER." ! :group 'article ! :type 'function) ! (defcustom gnus-file-save-name 'gnus-numeric-save-name ! "A function generating a file name to save articles in article format. The function is called with NEWSGROUP, HEADERS, and optional ! LAST-FILE." ! :group 'article ! :type 'function) ! (defcustom gnus-split-methods '((gnus-article-archive-name)) ! "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: *************** *** 103,209 **** If this form or function returns a string, this string will be used as a possible file name; and if it returns a non-nil list, that list will ! be used as possible file names.") ! ! (defvar gnus-strict-mime t ! "*If nil, MIME-decode even if there is no Mime-Version header in the article.") ! (defvar gnus-show-mime-method 'metamail-buffer ! "*Function to process a MIME message. ! The function is called from the article buffer.") ! ! (defvar gnus-decode-encoded-word-method (lambda ()) "*Function to decode a MIME encoded-words. ! The function is called from the article buffer.") ! (defvar gnus-page-delimiter "^\^L" "*Regexp describing what to use as article page delimiters. The default value is \"^\^L\", which is a form linefeed at the ! beginning of a line.") ! (defvar gnus-article-mode-line-format "Gnus: %%b %S" "*The format specification for the article mode line. ! See `gnus-summary-mode-line-format' for a closer description.") ! ! (defvar gnus-article-mode-hook nil ! "*A hook for Gnus article mode.") ! (defvar gnus-article-menu-hook nil ! "*Hook run after the creation of the article mode menu.") ! ! (defvar gnus-article-prepare-hook nil "*A hook called after an article has been prepared in the article buffer. ! If you want to run a special decoding program like nkf, use this hook.") ! (defvar gnus-article-button-face 'bold "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.") ! (defvar gnus-article-mouse-face 'highlight "Face used for mouse highlighting in the article buffer. Article buttons will be displayed in this face when the cursor is ! above them.") ! ! (defvar gnus-signature-face 'italic ! "Face used for highlighting a signature in the article buffer.") ! ! (defvar gnus-header-face-alist ! (cond ! ((not (eq gnus-display-type 'color)) ! '(("" bold italic))) ! ((eq gnus-background-mode 'dark) ! (list ! (list "From" nil ! (custom-face-lookup "light blue" nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup "pink" nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup "yellow" nil nil t t nil)) ! (list ! "" ! (custom-face-lookup "cyan" nil nil t nil nil) ! (custom-face-lookup "forestgreen" nil nil nil t ! nil)))) ! (t ! (list ! (list "From" nil ! (custom-face-lookup "MidnightBlue" nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup "firebrick" nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup "indianred" nil nil t t nil)) ! (list "" ! (custom-face-lookup ! "DarkGreen" nil nil t nil nil) ! (custom-face-lookup "DarkGreen" nil nil ! nil t nil))))) "Controls highlighting of article header. ! [ This needs to be rewritten in lisp-talk ] ! Below is a list of article header names, and the faces used for ! displaying the name and content of the header. The `Header' field ! should contain the name of the header. The field actually contains a ! regular expression that should match the beginning of the header line, ! but if you don't know what a regular expression is, just write the ! name of the header. The second field is the `Name' field, which ! determines how the header name (i. e., the part of the header left ! of the `:') is displayed. The third field is the `Content' field, ! which determines how the content (i. e., the part of the header right of ! the `:') is displayed. ! ! If you leave the last `Header' field in the list empty, the `Name' and ! `Content' fields will determine how headers not listed above are ! displayed. ! ! If you only want to change the display of the name part for a specific ! header, specify `None' in the `Content' field. Similarly, specify ! `None' in the `Name' field if you only want to leave the name part ! alone.") ;;; Internal variables --- 127,288 ---- If this form or function returns a string, this string will be used as a possible file name; and if it returns a non-nil list, that list will ! be used as possible file names." ! :group 'article ! :type '(repeat (choice (list function) ! (cons regexp (repeat string)) ! sexp))) ! ! (defcustom gnus-strict-mime t ! "*If nil, MIME-decode even if there is no Mime-Version header." ! :group 'article ! :type 'boolean) ! ! (defcustom gnus-show-mime-method 'metamail-buffer ! "Function to process a MIME message. ! The function is called from the article buffer." ! :group 'article ! :type 'function) ! (defcustom gnus-decode-encoded-word-method (lambda ()) "*Function to decode a MIME encoded-words. ! The function is called from the article buffer." ! :group 'article ! :type 'function) ! (defcustom gnus-page-delimiter "^\^L" "*Regexp describing what to use as article page delimiters. The default value is \"^\^L\", which is a form linefeed at the ! beginning of a line." ! :type 'regexp ! :group 'article) ! (defcustom gnus-article-mode-line-format "Gnus: %%b %S" "*The format specification for the article mode line. ! See `gnus-summary-mode-line-format' for a closer description." ! :type 'string ! :group 'article) ! ! (defcustom gnus-article-mode-hook nil ! "*A hook for Gnus article mode." ! :type 'hook ! :group 'article) ! ! (defcustom gnus-article-menu-hook nil ! "*Hook run after the creation of the article mode menu." ! :type 'hook ! :group 'article) ! (defcustom gnus-article-prepare-hook nil "*A hook called after an article has been prepared in the article buffer. ! If you want to run a special decoding program like nkf, use this hook." ! :type 'hook ! :group 'article) ! (defcustom gnus-article-button-face 'bold "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." ! :type 'face ! :group 'article) ! (defcustom gnus-article-mouse-face 'highlight "Face used for mouse highlighting in the article buffer. Article buttons will be displayed in this face when the cursor is ! above them." ! :type 'face ! :group 'article) ! ! (defcustom gnus-signature-face 'italic ! "Face used for highlighting a signature in the article buffer." ! :type 'face ! :group 'article) ! ! (defface gnus-header-from-face ! '((((class color) ! (background dark)) ! (:foreground "light-blue" :bold t :italic t)) ! (((class color) ! (background light)) ! (:foreground "MidnightBlue" :bold t :italic t)) ! (t ! (:bold t :italic t))) ! "Face used for displaying from headers." ! :group 'article) ! ! (defface gnus-header-subject-face ! '((((class color) ! (background dark)) ! (:foreground "pink" :bold t :italic t)) ! (((class color) ! (background light)) ! (:foreground "firebrick" :bold t :italic t)) ! (t ! (:bold t :italic t))) ! "Face used for displaying subject headers." ! :group 'article) ! ! (defface gnus-header-newsgroups-face ! '((((class color) ! (background dark)) ! (:foreground "yellow" :bold t :italic t)) ! (((class color) ! (background light)) ! (:foreground "indianred" :bold t :italic t)) ! (t ! (:bold t :italic t))) ! "Face used for displaying newsgroups headers." ! :group 'article) ! ! (defface gnus-header-name-face ! '((((class color) ! (background dark)) ! (:foreground "cyan" :bold t)) ! (((class color) ! (background light)) ! (:foreground "DarkGreen" :bold t)) ! (t ! (:bold t))) ! "Face used for displaying header names." ! :group 'article) ! ! (defface gnus-header-content-face ! '((((class color) ! (background dark)) ! (:foreground "foerestgreen" :italic t)) ! (((class color) ! (background light)) ! (:foreground "DarkGreen" :italic t)) ! (t ! (:italic t))) "Face used for displaying header content." ! :group 'article) ! ! (defcustom gnus-header-face-alist ! '(("From" nil gnus-header-from-face) ! ("Subejct" nil gnus-header-subject-face) ! ("Newsgroups:.*," nil gnus-header-newsgroups-face) ! ("" gnus-header-name-face gnus-header-content-face)) "Controls highlighting of article header. ! An alist of the form (HEADER NAME CONTENT). ! HEADER is a regular expression which should match the name of an ! header header and NAME and CONTENT are either face names or nil. + The name of each header field will be displayed using the face + specified by the first element in the list where HEADER match the + header name and NAME is non-nil. Similarly, the content will be + displayed by the first non-nil matching CONTENT face." + :group 'article + :type '(repeat (list (regexp :tag "Header") + (choice :tag "Name" + (item :tag "skip" nil) + (face :value default)) + (choice :tag "Content" + (item :tag "skip" nil) + (face :value default))))) ;;; Internal variables *************** *** 1253,1260 **** ;;; Article editing ;;; ! (defvar gnus-article-edit-mode-hook nil ! "*Hook run in article edit mode buffers.") (defvar gnus-article-edit-done-function nil) --- 1332,1341 ---- ;;; Article editing ;;; ! (defcustom gnus-article-edit-mode-hook nil ! "Hook run in article edit mode buffers." ! :group 'article ! :type 'hook) (defvar gnus-article-edit-done-function nil) *************** *** 1378,1387 **** ;;; Internal Variables: ! (defvar gnus-button-url-regexp "\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-\\wa-zA-Z0-9_=!?#$@~`%&*+|\\/:;.,]*[-\\wa-zA-Z0-9_=#$@~`%&*+|\\/]" ! "*Regular expression that matches URLs.") ! (defvar gnus-button-alist `(("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) ("\\(\n\t ]*\\)>?\\)" 1 t --- 1459,1470 ---- ;;; Internal Variables: ! (defcustom gnus-button-url-regexp "\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-\\wa-zA-Z0-9_=!?#$@~`%&*+|\\/:;.,]*[-\\wa-zA-Z0-9_=#$@~`%&*+|\\/]" ! "Regular expression that matches URLs." ! :group 'article ! :type 'regexp) ! (defcustom gnus-button-alist `(("\\bin\\( +article\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 t gnus-button-message-id 3) ("\\(\n\t ]*\\)>?\\)" 1 t *************** *** 1405,1413 **** PAR: is a number of a regexp grouping whose text will be passed to CALLBACK. CALLBACK can also be a variable, in that case the value of that ! variable it the real callback function.") ! (defvar gnus-header-button-alist `(("^\\(References\\|Message-I[Dd]\\):" "<[^>]+>" 0 t gnus-button-message-id 0) ("^\\(From\\|Reply-To\\):" ": *\\(.+\\)$" 1 t gnus-button-reply 1) --- 1488,1504 ---- PAR: is a number of a regexp grouping whose text will be passed to CALLBACK. CALLBACK can also be a variable, in that case the value of that ! variable it the real callback function." ! :group 'article ! :type '(repeat (list regexp ! (integer :tag "Button") ! (sexp :tag "Form") ! (function :tag "Callback") ! (repeat :tag "Par" ! :inline t ! (integer :tag "Regexp group"))))) ! (defcustom gnus-header-button-alist `(("^\\(References\\|Message-I[Dd]\\):" "<[^>]+>" 0 t gnus-button-message-id 0) ("^\\(From\\|Reply-To\\):" ": *\\(.+\\)$" 1 t gnus-button-reply 1) *************** *** 1425,1431 **** \(HEADER REGEXP BUTTON FORM CALLBACK PAR) HEADER is a regexp to match a header. For a fuller explanation, see ! `gnus-button-alist'.") (defvar gnus-button-regexp nil) (defvar gnus-button-marker-list nil) --- 1516,1531 ---- \(HEADER REGEXP BUTTON FORM CALLBACK PAR) HEADER is a regexp to match a header. For a fuller explanation, see ! `gnus-button-alist'." ! :group 'article ! :type '(repeat (list (regexp :tag "Header") ! regexp ! (integer :tag "Button") ! (sexp :tag "Form") ! (function :tag "Callback") ! (repeat :tag "Par" ! :inline t ! (integer :tag "Regexp group"))))) (defvar gnus-button-regexp nil) (defvar gnus-button-marker-list nil) *** pub/rgnus/lisp/gnus-group.el Mon Sep 23 18:47:32 1996 --- rgnus/lisp/gnus-group.el Wed Sep 25 19:24:41 1996 *************** *** 1459,1487 **** (when (equal group "") (error "Empty group name")) ! (when (string-match "[\000-\032]" group) ! (error "Control characters in group: %s" group)) ! ! (let ((b (text-property-any ! (point-min) (point-max) ! 'gnus-group (gnus-intern-safe group gnus-active-hashtb)))) ! (unless (gnus-ephemeral-group-p group) ! (if b ! ;; Either go to the line in the group buffer... ! (goto-char b) ! ;; ... or insert the line. ! (or ! t;; Don't activate group. ! (gnus-active group) ! (gnus-activate-group group) ! (error "%s error: %s" group (gnus-status-message group))) ! ! (gnus-group-update-group group) ! (goto-char (text-property-any ! (point-min) (point-max) ! 'gnus-group (gnus-intern-safe group gnus-active-hashtb))))) ! ;; Adjust cursor point. ! (gnus-group-position-point))) (defun gnus-group-goto-group (group &optional far) "Goto to newsgroup GROUP. --- 1459,1472 ---- (when (equal group "") (error "Empty group name")) ! (unless (gnus-ephemeral-group-p group) ! ;; Either go to the line in the group buffer... ! (unless (gnus-group-goto-group group) ! ;; ... or insert the line. ! (gnus-group-update-group group) ! (gnus-group-goto-group group))) ! ;; Adjust cursor point. ! (gnus-group-position-point)) (defun gnus-group-goto-group (group &optional far) "Goto to newsgroup GROUP. *** pub/rgnus/lisp/gnus-load.el Mon Sep 23 18:47:30 1996 --- rgnus/lisp/gnus-load.el Wed Sep 25 19:43:46 1996 *************** *** 469,481 **** (or gnus-mouse-face 'highlight) 'highlight) 'default) ! (error nil)) "Face used for group or summary buffer mouse highlighting. The line beneath the mouse pointer will be highlighted with this face.") (defvar gnus-article-display-hook ! (if (and (string-match "xemacs" emacs-version) (featurep 'xface)) '(gnus-article-hide-headers-if-wanted gnus-article-hide-boring-headers --- 469,481 ---- (or gnus-mouse-face 'highlight) 'highlight) 'default) ! (error 'highlight)) "Face used for group or summary buffer mouse highlighting. The line beneath the mouse pointer will be highlighted with this face.") (defvar gnus-article-display-hook ! (if (and (string-match "XEmacs" emacs-version) (featurep 'xface)) '(gnus-article-hide-headers-if-wanted gnus-article-hide-boring-headers *** pub/rgnus/lisp/gnus-nocem.el Thu Sep 19 02:45:59 1996 --- rgnus/lisp/gnus-nocem.el Wed Sep 25 17:54:54 1996 *************** *** 51,57 **** (defvar gnus-nocem-expiry-wait 15 "*Number of days to keep NoCeM headers in the cache.") ! (defvar gnus-nocem-verifyer nil "*Function called to verify that the NoCeM message is valid. One likely value is `mc-verify'. If the function in this variable isn't bound, the message will be used unconditionally.") --- 51,57 ---- (defvar gnus-nocem-expiry-wait 15 "*Number of days to keep NoCeM headers in the cache.") ! (defvar gnus-nocem-verifyer 'mc-verify "*Function called to verify that the NoCeM message is valid. One likely value is `mc-verify'. If the function in this variable isn't bound, the message will be used unconditionally.") *************** *** 147,159 **** ;; We get the name of the issuer. (narrow-to-region b e) (setq issuer (mail-fetch-field "issuer")) (and (member issuer gnus-nocem-issuers) ; We like her... (gnus-nocem-verify-issuer issuer) ; She is who she says she is.. (gnus-nocem-enter-article)))))) ; We gobble the message. (defun gnus-nocem-verify-issuer (person) "Verify using PGP that the canceler is who she says she is." - (widen) (if (fboundp gnus-nocem-verifyer) (funcall gnus-nocem-verifyer) ;; If we don't have Mailcrypt, then we use the message anyway. --- 147,159 ---- ;; We get the name of the issuer. (narrow-to-region b e) (setq issuer (mail-fetch-field "issuer")) + (widen) (and (member issuer gnus-nocem-issuers) ; We like her... (gnus-nocem-verify-issuer issuer) ; She is who she says she is.. (gnus-nocem-enter-article)))))) ; We gobble the message. (defun gnus-nocem-verify-issuer (person) "Verify using PGP that the canceler is who she says she is." (if (fboundp gnus-nocem-verifyer) (funcall gnus-nocem-verifyer) ;; If we don't have Mailcrypt, then we use the message anyway. *** pub/rgnus/lisp/gnus-start.el Thu Sep 19 02:45:59 1996 --- rgnus/lisp/gnus-start.el Wed Sep 25 17:54:56 1996 *************** *** 546,552 **** (gnus-read-init-file) (setq gnus-slave slave) ! (when (string-match "xemacs" (emacs-version)) (gnus-splash)) (let ((level (and (numberp arg) (> arg 0) arg)) --- 546,552 ---- (gnus-read-init-file) (setq gnus-slave slave) ! (when (string-match "XEmacs" (emacs-version)) (gnus-splash)) (let ((level (and (numberp arg) (> arg 0) arg)) *** pub/rgnus/lisp/gnus-sum.el Mon Sep 23 19:17:56 1996 --- rgnus/lisp/gnus-sum.el Wed Sep 25 17:55:00 1996 *************** *** 6544,6551 **** (goto-char (point-min)) (search-forward "\n\n") (narrow-to-region (point-min) (point)) ! (pp-eval-expression ! (list 'quote (mapcar 'car (nnmail-article-group 'identity))))))) ;; Summary marking commands. --- 6544,6551 ---- (goto-char (point-min)) (search-forward "\n\n") (narrow-to-region (point-min) (point)) ! (message "This message would go to %s" ! (mapconcat 'car (nnmail-article-group 'identity) ", "))))) ;; Summary marking commands. *** pub/rgnus/lisp/gnus-xmas.el Sun Sep 8 12:09:37 1996 --- rgnus/lisp/gnus-xmas.el Wed Sep 25 20:18:13 1996 *************** *** 788,801 **** chop) (if (not (stringp line)) (list line) ! (if (setq chop (string-match ":" line)) ! (incf chop) ! (setq chop (/ (length line) 2))) ! (list ! (if gnus-xmas-modeline-glyph ! (cons gnus-xmas-modeline-left-extent gnus-xmas-modeline-glyph) ! (cons gnus-xmas-modeline-left-extent (substring line 0 chop))) ! (cons gnus-xmas-modeline-right-extent (substring line chop)))))) (provide 'gnus-xmas) --- 788,800 ---- chop) (if (not (stringp line)) (list line) ! (when (string-match "^Gnus:" line) ! (setq chop (match-end 0)) ! (list ! (if gnus-xmas-modeline-glyph ! (cons gnus-xmas-modeline-left-extent gnus-xmas-modeline-glyph) ! (cons gnus-xmas-modeline-left-extent (substring line 0 chop))) ! (cons gnus-xmas-modeline-right-extent (substring line chop))))))) (provide 'gnus-xmas) *** pub/rgnus/lisp/gnus.el Mon Sep 23 18:47:29 1996 --- rgnus/lisp/gnus.el Wed Sep 25 17:57:47 1996 *************** *** 42,48 **** "Score and kill file handling." :group 'gnus ) ! (defconst gnus-version-number "0.41" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) --- 42,48 ---- "Score and kill file handling." :group 'gnus ) ! (defconst gnus-version-number "0.42" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) *************** *** 51,62 **** (defcustom gnus-inhibit-startup-message nil "*If non-nil, the startup message will not be displayed." :group 'gnus-start ! :type 'toggle) (defcustom gnus-play-startup-jingle nil "If non-nil, play the Gnus jingle at startup." :group 'gnus-start ! :type 'toggle) ;;; Kludges to help the transition from the old `custom.el'. --- 51,62 ---- (defcustom gnus-inhibit-startup-message nil "*If non-nil, the startup message will not be displayed." :group 'gnus-start ! :type 'boolean) (defcustom gnus-play-startup-jingle nil "If non-nil, play the Gnus jingle at startup." :group 'gnus-start ! :type 'boolean) ;;; Kludges to help the transition from the old `custom.el'. *** pub/rgnus/lisp/message.el Fri Sep 20 04:58:37 1996 --- rgnus/lisp/message.el Wed Sep 25 19:25:08 1996 *************** *** 119,129 **** ;;;###autoload (defvar message-ignored-news-headers ! "^NNTP-Posting-Host:\\|^Xref:\\|^Bcc:\\|^Gcc:\\|^Fcc:" "*Regexp of headers to be removed unconditionally before posting.") ;;;###autoload ! (defvar message-ignored-mail-headers "^Gcc:\\|^Fcc:" "*Regexp of headers to be removed unconditionally before mailing.") ;;;###autoload --- 119,129 ---- ;;;###autoload (defvar message-ignored-news-headers ! "^NNTP-Posting-Host:\\|^Xref:\\|^Bcc:\\|^Gcc:\\|^Fcc:\\|^Resent-Fcc:" "*Regexp of headers to be removed unconditionally before posting.") ;;;###autoload ! (defvar message-ignored-mail-headers "^Gcc:\\|^Fcc:\\|^Resent-Fcc:" "*Regexp of headers to be removed unconditionally before mailing.") ;;;###autoload *** pub/rgnus/lisp/nnmail.el Mon Sep 23 18:47:32 1996 --- rgnus/lisp/nnmail.el Wed Sep 25 17:55:01 1996 *************** *** 1147,1152 **** --- 1147,1153 ---- (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) (action (when duplication (cond ((memq nnmail-treat-duplicates '(warn delete)) *** pub/rgnus/lisp/ChangeLog Mon Sep 23 19:17:56 1996 --- rgnus/lisp/ChangeLog Wed Sep 25 19:40:55 1996 *************** *** 1,3 **** --- 1,33 ---- + Wed Sep 25 19:40:34 1996 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-header-newsgroups-face): Yucky on light + backgrounds. + + Wed Sep 25 19:25:27 1996 Michael R. Cook + + * message.el (message-ignored-news-headers): Strip Resent-Fcc. + + Wed Sep 25 19:12:59 1996 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-jump-to-group): Use + `gnus-group-goto-group'. + + * gnus-xmas.el (gnus-xmas-mode-line-buffer-identification): Don't + chop off half line when no colon. + + Mon Sep 23 22:12:10 1996 Lars Magne Ingebrigtsen + + * gnus-nocem.el (gnus-nocem-verifyer): Change to `mc-verify'. + + Mon Sep 23 21:43:47 1996 Lars Magne Ingebrigtsen + + * gnus.el: Red Gnus v0.41 is released. + + Mon Sep 23 21:10:37 1996 Lars Magne Ingebrigtsen + + * article.el (article-hide-headers): Don't ignore + gnus-visible-headers. + Mon Sep 23 19:10:20 1996 Lars Magne Ingebrigtsen * gnus-sum.el (gnus-summary-goto-subject): Made into command. *************** *** 5,10 **** --- 35,52 ---- Mon Sep 23 18:26:47 1996 Tonny Madsen * nnmail.el (nnmail-default-file-modes): Use integer. + + Tue Sep 24 18:39:41 1996 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-respool-query): Better message. + + Sun Sep 22 15:12:54 1996 Per Abrahamsen + + * gnus-art.el: Customized. + + * gnus.el (gnus-inhibit-startup-message): Changed type to + boolean. + (gnus-play-startup-jingle): Ditto. Sun Sep 22 12:58:57 1996 Lars Magne Ingebrigtsen *** pub/rgnus/texi/Makefile Sun Sep 22 13:07:18 1996 --- rgnus/texi/Makefile Wed Sep 25 17:55:02 1996 *************** *** 16,31 **** message: message.texi $(MAKEINFO) message.texi $(INFOSWI) ! dvi: gnus.texi ! $(PERL) -n -e 'if (/\@iflatex/) { $$latex=1; } if (!$$latex) { print; } if (/\@end iflatex/) { $$latex=0; }' gnus.texi > gnus.tmptexi ! $(TEXI2DVI) gnus.tmptexi refcard.dvi: refcard.tex gnuslogo.refcard gnusref.tex $(LATEX) refcard.tex sclean: ! rm -f gnus.*.bak gnus.ky gnus.cp gnus.fn gnus.cps gnus.kys *.log \ ! gnus.log gnus.pg gnus.tp gnus.vr gnus.toc *.aux gnus.[cgk]idx \ gnus.ilg gnus.ind gnus.[cgk]ind gnus.idx \ gnus.tmptexi gnus.tmplatexi gnus.tmplatexi1 texput.log *.orig *.rej \ gnus.latexi*~* --- 16,34 ---- message: message.texi $(MAKEINFO) message.texi $(INFOSWI) ! dvi: gnus.dvi message.dvi ! ! .texi.dvi : ! $(PERL) -n -e 'print unless (/\@iflatex/ .. /\@end iflatex/)' $< > gnustmp.texi ! $(TEXI2DVI) gnustmp.texi refcard.dvi: refcard.tex gnuslogo.refcard gnusref.tex $(LATEX) refcard.tex sclean: ! rm -f gnus.*.bak *.ky *.cp *.fn *.cps *.kys *.log *.aux *.dvi *.vr \ ! *.tp *.toc \ ! *.pg gnus.latexi *.aux *.[cgk]idx \ gnus.ilg gnus.ind gnus.[cgk]ind gnus.idx \ gnus.tmptexi gnus.tmplatexi gnus.tmplatexi1 texput.log *.orig *.rej \ gnus.latexi*~* *** pub/rgnus/texi/gnus.texi Mon Sep 23 21:32:40 1996 --- rgnus/texi/gnus.texi Wed Sep 25 21:15:00 1996 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus 0.41 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus 0.42 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 287,293 **** @tex @titlepage ! @title Red Gnus 0.41 Manual @author by Lars Magne Ingebrigtsen @page --- 287,293 ---- @tex @titlepage ! @title Red Gnus 0.42 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 527,534 **** @code{gnus-no-server} command to start Gnus. That might come in handy if you're in a hurry as well. This command will not attempt to contact your primary server---instead, it will just activate all groups on level ! @code{1} and @code{2}. (You should preferably keep no native groups on ! those two levels.) @node Slave Gnusae --- 527,534 ---- @code{gnus-no-server} command to start Gnus. That might come in handy if you're in a hurry as well. This command will not attempt to contact your primary server---instead, it will just activate all groups on level ! 1 and 2. (You should preferably keep no native groups on those two ! levels.) @node Slave Gnusae *************** *** 545,551 **** To work around that problem some, we here at the Think-Tank at the Gnus Towers have come up with a new concept: @dfn{Masters} and ! @dfn{servants}. (We have applied for a patent on this concept, and have taken out a copyright on those words. If you wish to use those words in conjunction with each other, you have to send $1 per usage instance to me. Usage of the patent (@dfn{Master/Slave Relationships In Computer --- 545,551 ---- To work around that problem some, we here at the Think-Tank at the Gnus Towers have come up with a new concept: @dfn{Masters} and ! @dfn{slaves}. (We have applied for a patent on this concept, and have taken out a copyright on those words. If you wish to use those words in conjunction with each other, you have to send $1 per usage instance to me. Usage of the patent (@dfn{Master/Slave Relationships In Computer *************** *** 644,652 **** @item gnus-subscribe-zombies @vindex gnus-subscribe-zombies ! Make all new groups zombies. You can browse the zombies later (with ! @kbd{A z}) and either kill them all off properly, or subscribe to them. ! This is the default. @item gnus-subscribe-randomly @vindex gnus-subscribe-randomly --- 644,652 ---- @item gnus-subscribe-zombies @vindex gnus-subscribe-zombies ! Make all new groups zombies. This is the default. You can browse the ! zombies later (with @kbd{A z}) and either kill them all off properly ! (with @kbd{S z}), or subscribe to them (with @kbd{u}). @item gnus-subscribe-randomly @vindex gnus-subscribe-randomly *************** *** 914,920 **** Note that if you subscribe to lots and lots of groups, setting this variable to @code{nil} will probably make Gnus slower, not faster. At present, having this variable @code{nil} will slow Gnus down ! considerably, unless you read news over a @code{2400} baud modem. This variable can also have the value @code{some}. Gnus will then attempt to read active info only on the subscribed groups. On some --- 914,920 ---- Note that if you subscribe to lots and lots of groups, setting this variable to @code{nil} will probably make Gnus slower, not faster. At present, having this variable @code{nil} will slow Gnus down ! considerably, unless you read news over a 2400 baud modem. This variable can also have the value @code{some}. Gnus will then attempt to read active info only on the subscribed groups. On some *************** *** 1025,1031 **** Quite simple, huh? ! You can see that there are @code{25} unread articles in @samp{news.announce.newusers}. There are no unread articles, but some ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little asterisk at the beginning of the line?) --- 1025,1031 ---- Quite simple, huh? ! You can see that there are 25 unread articles in @samp{news.announce.newusers}. There are no unread articles, but some ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little asterisk at the beginning of the line?) *************** *** 1076,1082 **** @item t Estimated total number of articles. (This is really @var{max-number} ! minus @var{min-number} plus @code{1}.) @item y Number of unread, unticked, non-dormant articles. --- 1076,1082 ---- @item t Estimated total number of articles. (This is really @var{max-number} ! minus @var{min-number} plus 1.) @item y Number of unread, unticked, non-dormant articles. *************** *** 1116,1122 **** @vindex gnus-group-uncollapsed-levels Short (collapsed) group name. The @code{gnus-group-uncollapsed-levels} variable says how many levels to leave at the end of the group name. ! The default is @code{1}---this will mean that group names like @samp{gnu.emacs.gnus} will be shortened to @samp{g.emacs.gnus}. @item u --- 1116,1122 ---- @vindex gnus-group-uncollapsed-levels Short (collapsed) group name. The @code{gnus-group-uncollapsed-levels} variable says how many levels to leave at the end of the group name. ! The default is 1---this will mean that group names like @samp{gnu.emacs.gnus} will be shortened to @samp{g.emacs.gnus}. @item u *************** *** 1329,1335 **** minimum amount of fuzz (@code{gnus-group-quick-select-group}). No scoring/killing will be performed, there will be no highlights and no expunging. This might be useful if you're in a real hurry and have to ! enter some humongous group. If you give a @code{0} prefix to this command (i.e., @kbd{0 M-RET}), Gnus won't even generate the summary buffer. This might be useful if you want to toggle threading before entering the group. --- 1329,1335 ---- minimum amount of fuzz (@code{gnus-group-quick-select-group}). No scoring/killing will be performed, there will be no highlights and no expunging. This might be useful if you're in a real hurry and have to ! enter some humongous group. If you give a 0 prefix to this command (i.e., @kbd{0 M-RET}), Gnus won't even generate the summary buffer. This might be useful if you want to toggle threading before entering the group. *************** *** 1345,1352 **** @vindex gnus-large-newsgroup The @code{gnus-large-newsgroup} variable says what Gnus should consider ! to be a big group. This is @code{200} by default. If the group has ! more (unread and/or ticked) articles than this, Gnus will query the user before entering the group. The user can then specify how many articles should be fetched from the server. If the user specifies a negative number (@code{-n}), the @code{n} oldest articles will be fetched. If it --- 1345,1352 ---- @vindex gnus-large-newsgroup The @code{gnus-large-newsgroup} variable says what Gnus should consider ! to be a big group. This is 200 by default. If the group has more ! (unread and/or ticked) articles than this, Gnus will query the user before entering the group. The user can then specify how many articles should be fetched from the server. If the user specifies a negative number (@code{-n}), the @code{n} oldest articles will be fetched. If it *************** *** 1441,1447 **** These groups can't be yanked back after killing, so this command should be used with some caution. The only time where this command comes in really handy is when you have a @file{.newsrc} with lots of unsubscribed ! groups that you want to get rid off. @kbd{S C-k} on level @code{7} will kill off all unsubscribed groups that do not have message numbers in the @file{.newsrc} file. --- 1441,1447 ---- These groups can't be yanked back after killing, so this command should be used with some caution. The only time where this command comes in really handy is when you have a @file{.newsrc} with lots of unsubscribed ! groups that you want to get rid off. @kbd{S C-k} on level 7 will kill off all unsubscribed groups that do not have message numbers in the @file{.newsrc} file. *************** *** 1493,1499 **** @cindex level All groups have a level of @dfn{subscribedness}. For instance, if a ! group is on level @code{2}, it is more subscribed than a group on level @code{5}. You can ask Gnus to just list groups on a given level or lower (@pxref{Listing Groups}), or to just check for new articles in groups on a given level or lower (@pxref{Scanning New Messages}). --- 1493,1499 ---- @cindex level All groups have a level of @dfn{subscribedness}. For instance, if a ! group is on level 2, it is more subscribed than a group on level 5. You can ask Gnus to just list groups on a given level or lower (@pxref{Listing Groups}), or to just check for new articles in groups on a given level or lower (@pxref{Scanning New Messages}). *************** *** 1514,1525 **** @vindex gnus-level-zombie @vindex gnus-level-unsubscribed @vindex gnus-level-subscribed ! Gnus considers groups on between levels @code{1} and ! @code{gnus-level-subscribed} (inclusive) (default @code{5}) to be subscribed, @code{gnus-level-subscribed} (exclusive) and ! @code{gnus-level-unsubscribed} (inclusive) (default @code{7}) to be unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) ! (default @code{8}) and @code{gnus-level-killed} to be killed (default @code{9}), completely dead. Gnus treats subscribed and unsubscribed groups exactly the same, but zombie and killed groups have no information on what articles you have read, etc, stored. This distinction between dead and --- 1514,1525 ---- @vindex gnus-level-zombie @vindex gnus-level-unsubscribed @vindex gnus-level-subscribed ! Gnus considers groups on between levels 1 and ! @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed, @code{gnus-level-subscribed} (exclusive) and ! @code{gnus-level-unsubscribed} (inclusive) (default 7) to be unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) ! (default 8) and @code{gnus-level-killed} to be killed (default 9), completely dead. Gnus treats subscribed and unsubscribed groups exactly the same, but zombie and killed groups have no information on what articles you have read, etc, stored. This distinction between dead and *************** *** 1527,1533 **** for reasons of efficiency. It is recommended that you keep all your mail groups (if any) on quite ! low levels (e.g. @code{1} or @code{2}). If you want to play with the level variables, you should show some care. Set them once, and don't touch them ever again. Better yet, don't touch --- 1527,1533 ---- for reasons of efficiency. It is recommended that you keep all your mail groups (if any) on quite ! low levels (e.g. 1 or 2). If you want to play with the level variables, you should show some care. Set them once, and don't touch them ever again. Better yet, don't touch *************** *** 1536,1542 **** @vindex gnus-level-default-unsubscribed @vindex gnus-level-default-subscribed Two closely related variables are @code{gnus-level-default-subscribed} ! (default @code{3}) and @code{gnus-level-default-unsubscribed} (default @code{6}), which are the levels that new groups will be put on if they are (un)subscribed. These two variables should, of course, be inside the relevant legal ranges. --- 1536,1542 ---- @vindex gnus-level-default-unsubscribed @vindex gnus-level-default-subscribed Two closely related variables are @code{gnus-level-default-subscribed} ! (default 3) and @code{gnus-level-default-unsubscribed} (default 6), which are the levels that new groups will be put on if they are (un)subscribed. These two variables should, of course, be inside the relevant legal ranges. *************** *** 1569,1575 **** Gnus will normally just activate groups that are on level @code{gnus-activate-level} or less. If you don't want to activate unsubscribed groups, for instance, you might set this variable to ! @code{5}. The default is @code{6}. @node Group Score --- 1569,1575 ---- Gnus will normally just activate groups that are on level @code{gnus-activate-level} or less. If you don't want to activate unsubscribed groups, for instance, you might set this variable to ! 5. The default is 6. @node Group Score *************** *** 1585,1592 **** group. You can then sort the group buffer based on this score. Alternatively, you can sort on score and then level. (Taken together, the level and the score is called the @dfn{rank} of the group. A group ! that is on level @code{4} and has a score of @code{1} has a higher rank than a group ! on level @code{5} that has a score of @code{300}. (The level is the most significant part and the score is the least significant part.)) @findex gnus-summary-bubble-group --- 1585,1592 ---- group. You can then sort the group buffer based on this score. Alternatively, you can sort on score and then level. (Taken together, the level and the score is called the @dfn{rank} of the group. A group ! that is on level 4 and has a score of 1 has a higher rank than a group ! on level 5 that has a score of 300. (The level is the most significant part and the score is the least significant part.)) @findex gnus-summary-bubble-group *************** *** 2009,2015 **** List absolutely all groups that are in the active file(s) of the server(s) you are connected to (@code{gnus-group-list-active}). This might very well take quite a while. It might actually be a better idea ! to do a @kbd{A m} to list all matching, and just give @samp{.} as the thing to match on. Also note that this command may list group that don't exist (yet)---these will be listed as if they are killed groups. Take the output with some grains of salt. --- 2009,2015 ---- List absolutely all groups that are in the active file(s) of the server(s) you are connected to (@code{gnus-group-list-active}). This might very well take quite a while. It might actually be a better idea ! to do a @kbd{A M} to list all matching, and just give @samp{.} as the thing to match on. Also note that this command may list group that don't exist (yet)---these will be listed as if they are killed groups. Take the output with some grains of salt. *************** *** 2319,2325 **** Note: @quotation ! Miss Lisa Cannifax, while sitting in English class, feels her feet go numbly heavy and herself fall into a hazy trance as the boy sitting behind her drew repeated lines with his pencil across the back of her plastic chair. --- 2319,2325 ---- Note: @quotation ! Miss Lisa Cannifax, while sitting in English class, felt her feet go numbly heavy and herself fall into a hazy trance as the boy sitting behind her drew repeated lines with his pencil across the back of her plastic chair. *************** *** 2412,2418 **** @vindex gnus-topic-indent-level Each sub-topic (and the groups in the sub-topics) will be indented with @code{gnus-topic-indent-level} times the topic level number of spaces. ! The default is @code{2}. @vindex gnus-topic-mode-hook @code{gnus-topic-mode-hook} is called in topic minor mode buffers. --- 2412,2418 ---- @vindex gnus-topic-indent-level Each sub-topic (and the groups in the sub-topics) will be indented with @code{gnus-topic-indent-level} times the topic level number of spaces. ! The default is 2. @vindex gnus-topic-mode-hook @code{gnus-topic-mode-hook} is called in topic minor mode buffers. *************** *** 2504,2516 **** @item C-k @kindex C-k (Topic) @findex gnus-topic-kill-group ! Kill a group or topic (@code{gnus-topic-kill-group}). @item C-y @kindex C-y (Topic) @findex gnus-topic-yank-group ! Yank the previously killed group or topic (@code{gnus-topic-yank-group}). ! Note that all topics will be yanked before all groups. @item T r @kindex T r (Topic) --- 2504,2518 ---- @item C-k @kindex C-k (Topic) @findex gnus-topic-kill-group ! Kill a group or topic (@code{gnus-topic-kill-group}). All groups in the ! topic will be removed along with the topic. @item C-y @kindex C-y (Topic) @findex gnus-topic-yank-group ! Yank the previously killed group or topic ! (@code{gnus-topic-yank-group}). Note that all topics will be yanked ! before all groups. @item T r @kindex T r (Topic) *************** *** 2610,2618 **** 13: comp.sources.unix @end example ! So, here we have one top-level topic, two topics under that, and one ! sub-topic under one of the sub-topics. (There is always just one (@code{1}) ! top-level topic). This topology can be expressed as follows: @lisp (("Gnus" visible) --- 2612,2621 ---- 13: comp.sources.unix @end example ! So, here we have one top-level topic (@samp{Gnus}), two topics under ! that, and one sub-topic under one of the sub-topics. (There is always ! just one (1) top-level topic). This topology can be expressed as ! follows: @lisp (("Gnus" visible) *************** *** 2883,2888 **** --- 2886,2896 ---- A line for each article is displayed in the summary buffer. You can move around, read articles, post articles and reply to articles. + The most common way to a summary buffer is to select a group from the + group buffer (@pxref{Selecting a Group}). + + You can have as many summary buffers open as you wish. + @menu * Summary Buffer Format:: Deciding how the summary buffer is to look. * Summary Maneuvering:: Moving around the summary buffer. *************** *** 2969,2976 **** The name (from the @code{From} header). @item a The name (from the @code{From} header). This differs from the @code{n} ! spec in that it uses @code{gnus-extract-address-components}, which is ! slower, but may be more thorough. @item A The address (from the @code{From} header). This works the same way as the @code{a} spec. --- 2977,2985 ---- The name (from the @code{From} header). @item a The name (from the @code{From} header). This differs from the @code{n} ! spec in that it uses the function designated by the ! @code{gnus-extract-address-components} variable, which is slower, but ! may be more thorough. @item A The address (from the @code{From} header). This works the same way as the @code{a} spec. *************** *** 3494,3500 **** ship a mail to a different account of yours. (If you're both @code{root} and @code{postmaster} and get a mail for @code{postmaster} to the @code{root} account, you may want to resend it to ! @code{postmaster}. Ordnung muss sein! @item S O m @kindex S O m (Summary) --- 3503,3509 ---- ship a mail to a different account of yours. (If you're both @code{root} and @code{postmaster} and get a mail for @code{postmaster} to the @code{root} account, you may want to resend it to ! @code{postmaster}. Ordnung muß sein! @item S O m @kindex S O m (Summary) *************** *** 3526,3532 **** @cindex post @cindex composing news ! Commands for posting an article: @table @kbd @item S p --- 3535,3541 ---- @cindex post @cindex composing news ! Commands for posting a news article: @table @kbd @item S p *************** *** 3777,3783 **** long thesis on cats' urinary tracts, and have to go home for dinner before you've finished reading the thesis. You can then set a bookmark in the article, and Gnus will jump to this bookmark the next time it ! encounters the article. @item @vindex gnus-replied-mark --- 3786,3792 ---- long thesis on cats' urinary tracts, and have to go home for dinner before you've finished reading the thesis. You can then set a bookmark in the article, and Gnus will jump to this bookmark the next time it ! encounters the article. @xref{Setting Marks} @item @vindex gnus-replied-mark *************** *** 4226,4233 **** subjects of the loose threads before gathering them into one big super-thread. This might be too strict a requirement, what with the presence of stupid newsreaders that chop off long subjects lines. If ! you think so, set this variable to, say, @code{20} to require that only the ! first @code{20} characters of the subjects have to match. If you set this variable to a really low number, you'll find that Gnus will gather everything in sight into one thread, which isn't very helpful. --- 4235,4242 ---- subjects of the loose threads before gathering them into one big super-thread. This might be too strict a requirement, what with the presence of stupid newsreaders that chop off long subjects lines. If ! you think so, set this variable to, say, 20 to require that only the ! first 20 characters of the subjects have to match. If you set this variable to a really low number, you'll find that Gnus will gather everything in sight into one thread, which isn't very helpful. *************** *** 4244,4250 **** @item gnus-simplify-ignored-prefixes @vindex gnus-simplify-ignored-prefixes If you set @code{gnus-summary-gather-subject-limit} to something as low ! as @code{10}, you might consider setting this variable to something sensible: @c Written by Michael Ernst @lisp --- 4253,4259 ---- @item gnus-simplify-ignored-prefixes @vindex gnus-simplify-ignored-prefixes If you set @code{gnus-summary-gather-subject-limit} to something as low ! as 10, you might consider setting this variable to something sensible: @c Written by Michael Ernst @lisp *************** *** 4374,4380 **** @item gnus-thread-indent-level @vindex gnus-thread-indent-level This is a number that says how much each sub-thread should be indented. ! The default is @code{4}. @end table --- 4383,4389 ---- @item gnus-thread-indent-level @vindex gnus-thread-indent-level This is a number that says how much each sub-thread should be indented. ! The default is 4. @end table *************** *** 4606,4615 **** First, some caveats. There are some pitfalls to using asynchronous article fetching, especially the way Gnus does it. ! Let's say you are reading article @code{1}, which is short, and article @code{2} is quite long, and you are not interested in reading that. Gnus does not ! know this, so it goes ahead and fetches article @code{2}. You decide to read ! article @code{3}, but since Gnus is in the process of fetching article @code{2}, the connection is blocked. To avoid these situations, Gnus will open two (count 'em two) --- 4615,4624 ---- First, some caveats. There are some pitfalls to using asynchronous article fetching, especially the way Gnus does it. ! Let's say you are reading article 1, which is short, and article 2 is quite long, and you are not interested in reading that. Gnus does not ! know this, so it goes ahead and fetches article 2. You decide to read ! article 3, but since Gnus is in the process of fetching article 2, the connection is blocked. To avoid these situations, Gnus will open two (count 'em two) *************** *** 4632,4640 **** @vindex gnus-use-article-prefetch You can control how many articles that are to be pre-fetched by setting ! @code{gnus-use-article-prefetch}. This is @code{30} by default, which means that when you read an article in the group, the backend will pre-fetch ! the next @code{30} articles. If this variable is @code{t}, the backend will pre-fetch all the articles that it can without bound. If it is @code{nil}, no pre-fetching will be made. --- 4641,4649 ---- @vindex gnus-use-article-prefetch You can control how many articles that are to be pre-fetched by setting ! @code{gnus-use-article-prefetch}. This is 30 by default, which means that when you read an article in the group, the backend will pre-fetch ! the next 30 articles. If this variable is @code{t}, the backend will pre-fetch all the articles that it can without bound. If it is @code{nil}, no pre-fetching will be made. *************** *** 4649,4655 **** data structure as the only parameter. If, for instance, you wish to pre-fetch only unread articles that are ! shorter than @code{100} lines, you could say something like: @lisp (defun my-async-short-unread-p (data) --- 4658,4664 ---- data structure as the only parameter. If, for instance, you wish to pre-fetch only unread articles that are ! shorter than 100 lines, you could say something like: @lisp (defun my-async-short-unread-p (data) *************** *** 4730,4738 **** So where does the massive article-fetching and storing come into the picture? The @code{gnus-jog-cache} command will go through all subscribed newsgroups, request all unread articles, and store them in ! the cache. You should only ever, ever ever ever, use this command if @code{1}) your connection to the @sc{nntp} server is really, really, really slow ! and @code{2}) you have a really, really, really huge disk. Seriously. @vindex gnus-uncacheable-groups It is likely that you do not want caching on some groups. For instance, --- 4739,4747 ---- So where does the massive article-fetching and storing come into the picture? The @code{gnus-jog-cache} command will go through all subscribed newsgroups, request all unread articles, and store them in ! the cache. You should only ever, ever ever ever, use this command if 1) your connection to the @sc{nntp} server is really, really, really slow ! and 2) you have a really, really, really huge disk. Seriously. @vindex gnus-uncacheable-groups It is likely that you do not want caching on some groups. For instance, *************** *** 5811,5817 **** @item button-par Gnus has to know which parts of the match is to be highlighted. This is a number that says what sub-expression of the regexp that is to be ! highlighted. If you want it all highlighted, you use @code{0} here. @item use-p This form will be @code{eval}ed, and if the result is non-@code{nil}, --- 5820,5826 ---- @item button-par Gnus has to know which parts of the match is to be highlighted. This is a number that says what sub-expression of the regexp that is to be ! highlighted. If you want it all highlighted, you use 0 here. @item use-p This form will be @code{eval}ed, and if the result is non-@code{nil}, *************** *** 6336,6342 **** @item B M-C-e @kindex B M-C-e (Summary) @findex gnus-summary-expire-articles-now ! Expunge all the expirable articles in the group (@code{gnus-summary-expire-articles-now}). This means that @strong{all} articles that are eligible for expiry in the current group will disappear forever into that big @file{/dev/null} in the sky. --- 6345,6351 ---- @item B M-C-e @kindex B M-C-e (Summary) @findex gnus-summary-expire-articles-now ! Delete all the expirable articles in the group (@code{gnus-summary-expire-articles-now}). This means that @strong{all} articles that are eligible for expiry in the current group will disappear forever into that big @file{/dev/null} in the sky. *************** *** 7624,7630 **** These select methods specifications can sometimes become quite complicated---say, for instance, that you want to read from the ! @sc{nntp} server @samp{news.funet.fi} on port number @code{13}, which hangs if queried for @sc{nov} headers and has a buggy select. Ahem. Anyways, if you had to specify that for each group that used this server, that would be too much work, so Gnus offers a way of naming --- 7633,7639 ---- These select methods specifications can sometimes become quite complicated---say, for instance, that you want to read from the ! @sc{nntp} server @samp{news.funet.fi} on port number 13, which hangs if queried for @sc{nov} headers and has a buggy select. Ahem. Anyways, if you had to specify that for each group that used this server, that would be too much work, so Gnus offers a way of naming *************** *** 7765,7771 **** @var{(variable form)} pairs. To go back to the first example---imagine that you want to read from ! port @code{15} from that machine. This is what the select method should look like then: @lisp --- 7774,7780 ---- @var{(variable form)} pairs. To go back to the first example---imagine that you want to read from ! port 15 from that machine. This is what the select method should look like then: @lisp *************** *** 12433,12439 **** @vindex gnus-demon-timestep (When I say ``minute'' here, I really mean @code{gnus-demon-timestep} ! seconds. This is @code{60} by default. If you change that variable, all the timings in the handlers will be affected.) @vindex gnus-use-demon --- 12442,12448 ---- @vindex gnus-demon-timestep (When I say ``minute'' here, I really mean @code{gnus-demon-timestep} ! seconds. This is 60 by default. If you change that variable, all the timings in the handlers will be affected.) @vindex gnus-use-demon *************** *** 12902,12908 **** @item nnheader-max-head-length @vindex nnheader-max-head-length When the backends read straight heads of articles, they all try to read ! as little as possible. This variable (default @code{4096}) specifies the absolute max length the backends will try to read before giving up on finding a separator line between the head and the body. If this variable is @code{nil}, there is no upper read bound. If it is --- 12911,12917 ---- @item nnheader-max-head-length @vindex nnheader-max-head-length When the backends read straight heads of articles, they all try to read ! as little as possible. This variable (default 4096) specifies the absolute max length the backends will try to read before giving up on finding a separator line between the head and the body. If this variable is @code{nil}, there is no upper read bound. If it is *************** *** 14608,14614 **** 211 56 1000 1059 ifi.discussion @end example ! The first number is the status, which should be @code{211}. Next is the total number of articles in the group, the lowest article number, the highest article number, and finally the group name. Note that the total number of articles may be less than one might think while just --- 14617,14623 ---- 211 56 1000 1059 ifi.discussion @end example ! The first number is the status, which should be 211. Next is the total number of articles in the group, the lowest article number, the highest article number, and finally the group name. Note that the total number of articles may be less than one might think while just *** pub/rgnus/texi/ChangeLog Mon Sep 23 18:47:31 1996 --- rgnus/texi/ChangeLog Mon Sep 23 22:52:20 1996 *************** *** 1,3 **** --- 1,7 ---- + Mon Sep 23 22:17:44 1996 Lars Magne Ingebrigtsen + + * gnus.texi (The Summary Buffer): Addition. + Mon Sep 23 18:25:38 1996 Lars Magne Ingebrigtsen * gnus.texi (Thread Commands): Correction.