*** pub/rgnus/lisp/article.el Wed Aug 28 01:56:59 1996 --- rgnus/lisp/article.el Thu Aug 29 02:59:28 1996 *************** *** 135,140 **** --- 135,152 ---- (put-text-property (max (1- b) (point-min)) b 'intangible nil))) + (defun article-hide-text-of-type (type) + "Hide text of TYPE in the current buffer." + (save-excursion + (let ((b (point-min)) + (e (point-max))) + (while (setq b (text-property-any b e 'article-type type)) + (add-text-properties b (incf b) gnus-hidden-properties))))) + + (defun article-text-type-exists-p (type) + "Say whether any text of type TYPE exists in the buffer." + (text-property-any (point-min) (point-max) 'article-type type)) + (defsubst article-header-rank () "Give the rank of the string HEADER as given by `article-sorted-header-list'." (let ((list gnus-sorted-header-list) *************** *** 540,546 **** (gnus-delete-line)))))) (defun article-strip-multiple-blank-lines () ! "Replace consequtive blank lines with one empty line." (interactive) (save-excursion (let (buffer-read-only) --- 552,558 ---- (gnus-delete-line)))))) (defun article-strip-multiple-blank-lines () ! "Replace consecutive blank lines with one empty line." (interactive) (save-excursion (let (buffer-read-only) *** pub/rgnus/lisp/dgnushack.el Sun Aug 25 01:28:06 1996 --- rgnus/lisp/dgnushack.el Thu Aug 29 03:49:21 1996 *************** *** 41,46 **** --- 41,47 ---- ;(setq byte-compile-dynamic t) (let ((files (directory-files "." nil ".el$")) (xemacs (string-match "XEmacs" emacs-version)) + ;;(byte-compile-generate-call-tree t) byte-compile-warnings file) (condition-case () (require 'w3-forms) *** pub/rgnus/lisp/earcon.el Sat Jun 29 00:11:56 1996 --- rgnus/lisp/earcon.el Wed Aug 28 23:03:55 1996 *************** *** 51,57 **** ("sob\\|boohoo" 1 "cry.wav") ("drum[ \t]*roll" 1 "drumroll.au") ("blast" 1 "explosion.au") ! ("flush" 1 "flush.au") ("kiss" 1 "kiss.wav") ("tee[ \t]*hee" 1 "laugh.au") ("shoot" 1 "shotgun.wav") --- 51,57 ---- ("sob\\|boohoo" 1 "cry.wav") ("drum[ \t]*roll" 1 "drumroll.au") ("blast" 1 "explosion.au") ! ("flush\\|plonk!*" 1 "flush.au") ("kiss" 1 "kiss.wav") ("tee[ \t]*hee" 1 "laugh.au") ("shoot" 1 "shotgun.wav") *** pub/rgnus/lisp/gnus-async.el Wed Aug 28 01:17:31 1996 --- rgnus/lisp/gnus-async.el Wed Aug 28 23:03:55 1996 *************** *** 136,142 **** (gnus-async-release-semaphore 'gnus-async-article-semaphore)) ! (when article ;; We want to fetch some more articles. (save-excursion (set-buffer summary) --- 136,142 ---- (gnus-async-release-semaphore 'gnus-async-article-semaphore)) ! (when (and do-fetch article) ;; We want to fetch some more articles. (save-excursion (set-buffer summary) *** pub/rgnus/lisp/gnus-cite.el Fri Aug 2 18:50:09 1996 --- rgnus/lisp/gnus-cite.el Thu Aug 29 02:59:28 1996 *************** *** 304,316 **** (setq gnus-cited-text-button-line-format-spec (gnus-parse-format gnus-cited-text-button-line-format gnus-cited-text-button-line-format-alist t)) ! (unless (article-check-hidden-text 'cite arg) ! (save-excursion ! (set-buffer gnus-article-buffer) (let ((buffer-read-only nil) (marks (gnus-dissect-cited-text)) (inhibit-point-motion-hooks t) ! (props (nconc (list 'gnus-type 'cite) gnus-hidden-properties)) beg end) (while marks --- 304,322 ---- (setq gnus-cited-text-button-line-format-spec (gnus-parse-format gnus-cited-text-button-line-format gnus-cited-text-button-line-format-alist t)) ! (save-excursion ! (set-buffer gnus-article-buffer) ! (cond ! ((article-check-hidden-text 'cite arg) ! t) ! ((article-text-type-exists-p 'cite) ! (let ((buffer-read-only nil)) ! (article-hide-text-of-type 'cite))) ! (t (let ((buffer-read-only nil) (marks (gnus-dissect-cited-text)) (inhibit-point-motion-hooks t) ! (props (nconc (list 'article-type 'cite) gnus-hidden-properties)) beg end) (while marks *************** *** 340,346 **** (point) (progn (eval gnus-cited-text-button-line-format-spec) (point)) `gnus-article-toggle-cited-text (cons beg end)) ! (set-marker beg (point)))))))) (defun gnus-article-toggle-cited-text (region) "Toggle hiding the text in REGION." --- 346,352 ---- (point) (progn (eval gnus-cited-text-button-line-format-spec) (point)) `gnus-article-toggle-cited-text (cons beg end)) ! (set-marker beg (point))))))))) (defun gnus-article-toggle-cited-text (region) "Toggle hiding the text in REGION." *************** *** 396,402 **** (or (assq hiden gnus-cite-attribution-alist) (gnus-add-text-properties (point) (progn (forward-line 1) (point)) ! (nconc (list 'gnus-type 'cite) gnus-hidden-properties))))))))))) (defun gnus-article-hide-citation-in-followups () --- 402,408 ---- (or (assq hiden gnus-cite-attribution-alist) (gnus-add-text-properties (point) (progn (forward-line 1) (point)) ! (nconc (list 'article-type 'cite) gnus-hidden-properties))))))))))) (defun gnus-article-hide-citation-in-followups () *************** *** 704,710 **** (t (gnus-add-text-properties (point) (progn (forward-line 1) (point)) ! (nconc (list 'gnus-type 'cite) gnus-hidden-properties)))))))) (defun gnus-cite-find-prefix (line) --- 710,716 ---- (t (gnus-add-text-properties (point) (progn (forward-line 1) (point)) ! (nconc (list 'article-type 'cite) gnus-hidden-properties)))))))) (defun gnus-cite-find-prefix (line) *** pub/rgnus/lisp/gnus-dup.el Sun Aug 25 02:45:58 1996 --- rgnus/lisp/gnus-dup.el Thu Aug 29 02:31:46 1996 *************** *** 99,105 **** ;; Enter the Message-IDs of all read articles into the list ;; and hash table. (while data ! (when (gnus-data-read-p (car data)) (intern (car (push (mail-header-id (gnus-data-header (car data))) gnus-dup-list)) gnus-dup-hashtb)) --- 99,106 ---- ;; Enter the Message-IDs of all read articles into the list ;; and hash table. (while data ! (when (and (not (gnus-data-pseudo-p data)) ! (gnus-data-read-p (car data))) (intern (car (push (mail-header-id (gnus-data-header (car data))) gnus-dup-list)) gnus-dup-hashtb)) *** pub/rgnus/lisp/gnus-group.el Wed Aug 28 03:20:14 1996 --- rgnus/lisp/gnus-group.el Wed Aug 28 23:03:56 1996 *************** *** 1246,1256 **** auto-selected upon group entry. If GROUP is non-nil, fetch that group." (interactive "P") ! (let ((group (or group (gnus-group-group-name))) number active marked entry) ! (or group (error "No group on current line")) ! (setq marked (nth 3 (nth 2 (setq entry (gnus-gethash ! group gnus-newsrc-hashtb))))) ;; This group might be a dead group. In that case we have to get ;; the number of unread articles from `gnus-active-hashtb'. (setq number --- 1246,1261 ---- auto-selected upon group entry. If GROUP is non-nil, fetch that group." (interactive "P") ! (let ((no-display (eq all 0)) ! (group (or group (gnus-group-group-name))) number active marked entry) ! (when (eq all 0) ! (setq all nil)) ! (unless group ! (error "No group on current line")) ! (setq marked (gnus-info-marks ! (nth 2 (setq entry (gnus-gethash ! group gnus-newsrc-hashtb))))) ;; This group might be a dead group. In that case we have to get ;; the number of unread articles from `gnus-active-hashtb'. (setq number *************** *** 1264,1270 **** (cdr (assq 'tick marked))) (gnus-range-length (cdr (assq 'dormant marked))))))) ! no-article))) (defun gnus-group-select-group (&optional all) "Select this newsgroup. --- 1269,1275 ---- (cdr (assq 'tick marked))) (gnus-range-length (cdr (assq 'dormant marked))))))) ! no-article nil no-display))) (defun gnus-group-select-group (&optional all) "Select this newsgroup. *************** *** 1276,1282 **** (defun gnus-group-quick-select-group (&optional all) "Select the current group \"quickly\". ! This means that no highlighting or scoring will be performed." (interactive "P") (let (gnus-visual gnus-score-find-score-files-function --- 1281,1289 ---- (defun gnus-group-quick-select-group (&optional all) "Select the current group \"quickly\". ! This means that no highlighting or scoring will be performed. ! If ALL (the prefix argument) is 0, don't even generate the summary ! buffer." (interactive "P") (let (gnus-visual gnus-score-find-score-files-function *** pub/rgnus/lisp/gnus-srvr.el Sat Aug 17 13:11:56 1996 --- rgnus/lisp/gnus-srvr.el Wed Aug 28 23:03:57 1996 *************** *** 78,83 **** --- 78,84 ---- '("Server" ["Add" gnus-server-add-server t] ["Browse" gnus-server-read-server t] + ["Scan" gnus-server-scan-server t] ["List" gnus-server-list-servers t] ["Kill" gnus-server-kill-server t] ["Yank" gnus-server-yank-server t] *************** *** 119,124 **** --- 120,126 ---- "c" gnus-server-copy-server "a" gnus-server-add-server "e" gnus-server-edit-server + "s" gnus-server-scan-server "O" gnus-server-open-server "\M-o" gnus-server-open-all-servers *************** *** 444,449 **** --- 446,458 ---- (gnus-server-set-info ,server form) (gnus-server-list-servers) (gnus-server-position-point))))) + + (defun gnus-server-scan-server (server) + "Request a scan from the current server." + (interactive (list (gnus-server-server-name))) + (gnus-message 3 "Scanning %s...done" server) + (gnus-request-scan nil (gnus-server-to-method server)) + (gnus-message 3 "Scanning %s...done" server)) (defun gnus-server-read-server (server) "Browse a server." *** pub/rgnus/lisp/gnus-sum.el Wed Aug 28 02:17:53 1996 --- rgnus/lisp/gnus-sum.el Thu Aug 29 03:36:02 1996 *************** *** 892,897 **** --- 892,898 ---- "\M-*" gnus-cache-remove-article "\M-&" gnus-summary-universal-argument "\C-l" gnus-recenter + "\M-\C-g" gnus-summary-prepare "I" gnus-summary-increase-score "L" gnus-summary-lower-score *************** *** 1450,1455 **** --- 1451,1457 ---- ["Expire expirable articles" gnus-summary-expire-articles (gnus-check-backend-function 'request-expire-articles gnus-newsgroup-name)] + ["Regenerate buffer" gnus-summary-prepare t] ["Edit local kill file" gnus-summary-edit-local-kill t] ["Edit main kill file" gnus-summary-edit-global-kill t] ("Exit" *************** *** 2287,2292 **** --- 2289,2295 ---- (defun gnus-summary-prepare () "Generate the summary buffer." + (interactive) (let ((buffer-read-only nil)) (erase-buffer) (setq gnus-newsgroup-data nil *************** *** 2377,2385 **** ids references id gthread gid entered) (while threads (when (setq references (mail-header-references (caar threads))) ! (setq id (mail-header-id (caar threads))) ! (setq ids (gnus-split-references references)) ! (setq entered nil) (while ids (if (not (setq gid (gnus-gethash (car ids) idhashtb))) (progn --- 2380,2388 ---- ids references id gthread gid entered) (while threads (when (setq references (mail-header-references (caar threads))) ! (setq id (mail-header-id (caar threads)) ! ids (gnus-split-references references) ! entered nil) (while ids (if (not (setq gid (gnus-gethash (car ids) idhashtb))) (progn *************** *** 3759,3764 **** --- 3762,3769 ---- (goto-char p) (and (search-forward "\nxref: " nil t) (gnus-header-value))))) + (when (equal id ref) + (setq ref nil)) ;; We do the threading while we read the headers. The ;; message-id and the last reference are both entered into ;; the same hash table. Some tippy-toeing around has to be *************** *** 3889,3894 **** --- 3894,3902 ---- ;; We build the thread tree. (when header + (when (equal id ref) + ;; This article refers back to itself. Naughty, naughty. + (setq ref nil)) (if (boundp (setq id-dep (intern id dependencies))) (if (and (car (symbol-value id-dep)) (not force-new)) *************** *** 4471,4478 **** (defvar gnus-dead-summary-mode-map nil) ! (if gnus-dead-summary-mode-map ! nil (setq gnus-dead-summary-mode-map (make-keymap)) (suppress-keymap gnus-dead-summary-mode-map) (substitute-key-definition --- 4479,4485 ---- (defvar gnus-dead-summary-mode-map nil) ! (unless gnus-dead-summary-mode-map (setq gnus-dead-summary-mode-map (make-keymap)) (suppress-keymap gnus-dead-summary-mode-map) (substitute-key-definition *************** *** 4740,4746 **** (funcall gnus-summary-display-article-function article all-header) (gnus-article-prepare article all-header)) (run-hooks 'gnus-select-article-hook) ! (unless (zerop gnus-current-article) (gnus-summary-goto-subject gnus-current-article)) (gnus-summary-recenter) (when gnus-use-trees --- 4747,4754 ---- (funcall gnus-summary-display-article-function article all-header) (gnus-article-prepare article all-header)) (run-hooks 'gnus-select-article-hook) ! (when (and gnus-current-article ! (not (zerop gnus-current-article))) (gnus-summary-goto-subject gnus-current-article)) (gnus-summary-recenter) (when gnus-use-trees *** pub/rgnus/lisp/gnus-util.el Sun Aug 25 02:45:57 1996 --- rgnus/lisp/gnus-util.el Thu Aug 29 03:36:02 1996 *************** *** 410,417 **** (defun gnus-parent-id (references &optional n) "Return the last Message-ID in REFERENCES. If N, return the Nth ancestor instead." ! (let ((ids (gnus-split-references references))) ! (car (last ids (or n 1))))) (defun gnus-split-references (references) "Return a list of Message-IDs in REFERENCES." --- 410,418 ---- (defun gnus-parent-id (references &optional n) "Return the last Message-ID in REFERENCES. If N, return the Nth ancestor instead." ! (when references ! (let ((ids (gnus-split-references references))) ! (car (last ids (or n 1)))))) (defun gnus-split-references (references) "Return a list of Message-IDs in REFERENCES." *** pub/rgnus/lisp/gnus.el Wed Aug 28 00:50:19 1996 --- rgnus/lisp/gnus.el Wed Aug 28 23:03:59 1996 *************** *** 28,34 **** (eval '(run-hooks 'gnus-load-hook)) ! (defconst gnus-version-number "0.18" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) --- 28,34 ---- (eval '(run-hooks 'gnus-load-hook)) ! (defconst gnus-version-number "0.19" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) *** pub/rgnus/lisp/message.el Wed Aug 28 02:17:56 1996 --- rgnus/lisp/message.el Wed Aug 28 23:04:01 1996 *************** *** 2280,2286 **** (goto-char (point-max)) (insert "Posted-To: " newsgroups "\n")))) (forward-line 1) ! (insert message-courtesy-message))) ;;; ;;; Setting up a message buffer --- 2280,2287 ---- (goto-char (point-max)) (insert "Posted-To: " newsgroups "\n")))) (forward-line 1) ! (when message-courtesy-message ! (insert message-courtesy-message)))) ;;; ;;; Setting up a message buffer *** pub/rgnus/lisp/nndoc.el Sun Aug 25 23:35:25 1996 --- rgnus/lisp/nndoc.el Thu Aug 29 05:11:49 1996 *************** *** 380,386 **** (defun nndoc-babyl-body-begin () (re-search-forward "^\n" nil t) (when (looking-at "\*\*\* EOOH \*\*\*") ! (re-search-forward "^\n" nil t))) (defun nndoc-babyl-head-begin () (when (re-search-forward "^[0-9].*\n" nil t) --- 380,393 ---- (defun nndoc-babyl-body-begin () (re-search-forward "^\n" nil t) (when (looking-at "\*\*\* EOOH \*\*\*") ! (let ((next (or (save-excursion ! (re-search-forward nndoc-article-begin nil t)) ! (point-max)))) ! (unless (re-search-forward "^\n" next t) ! (goto-char next) ! (forward-line -1) ! (insert "\n") ! (forward-line -1))))) (defun nndoc-babyl-head-begin () (when (re-search-forward "^[0-9].*\n" nil t) *** pub/rgnus/lisp/nntp.el Tue Aug 27 00:06:30 1996 --- rgnus/lisp/nntp.el Thu Aug 29 04:19:27 1996 *************** *** 41,54 **** (defvoo nntp-port-number "nntp" "Port number on the physical nntp server.") ! (defvoo nntp-server-opened-hook nil "*Hook used for sending commands to the server at startup. The default value is `nntp-send-mode-reader', which makes an innd server spawn an nnrpd server. Another useful function to put in this hook might be `nntp-send-authinfo', which will prompt for a password to allow posting from the server. Note that this is only necessary to do on servers that use strict access control.") - (add-hook 'nntp-server-opened-hook 'nntp-send-mode-reader) (defvoo nntp-authinfo-function 'nntp-send-authinfo "Function used to send AUTHINFO to the server.") --- 41,53 ---- (defvoo nntp-port-number "nntp" "Port number on the physical nntp server.") ! (defvoo nntp-server-opened-hook '(nntp-send-mode-reader) "*Hook used for sending commands to the server at startup. The default value is `nntp-send-mode-reader', which makes an innd server spawn an nnrpd server. Another useful function to put in this hook might be `nntp-send-authinfo', which will prompt for a password to allow posting from the server. Note that this is only necessary to do on servers that use strict access control.") (defvoo nntp-authinfo-function 'nntp-send-authinfo "Function used to send AUTHINFO to the server.") *************** *** 279,286 **** (re-search-backward "^[0-9]" nil t) (when (looking-at "^[23]") (while (progn ! (goto-char (- (point-max) 3)) ! (not (looking-at "^\\.\r?\n"))) (nntp-accept-response)))) ;; Now all replies are received. We remove CRs. --- 278,287 ---- (re-search-backward "^[0-9]" nil t) (when (looking-at "^[23]") (while (progn ! (goto-char (point-max)) ! (if (equal command "GROUP") ! (not (re-search-backward "\r?\n" (- (point) 3) t)) ! (not (re-search-backward "^\\.\r?\n" (- (point) 4) t)))) (nntp-accept-response)))) ;; Now all replies are received. We remove CRs. *************** *** 627,633 **** (let ((process (or (nntp-find-connection buffer) (nntp-open-connection buffer)))) (if (not process) ! (nnheader-report 'nntp "Couldn't open connection to %a" address) (unless (or nntp-inhibit-erase nnheader-callback-function) (save-excursion (set-buffer (process-buffer process)) --- 628,634 ---- (let ((process (or (nntp-find-connection buffer) (nntp-open-connection buffer)))) (if (not process) ! (nnheader-report 'nntp "Couldn't open connection to %s" address) (unless (or nntp-inhibit-erase nnheader-callback-function) (save-excursion (set-buffer (process-buffer process)) *** pub/rgnus/lisp/ChangeLog Wed Aug 28 03:10:28 1996 --- rgnus/lisp/ChangeLog Thu Aug 29 05:11:49 1996 *************** *** 1,3 **** --- 1,57 ---- + Thu Aug 29 02:04:35 1996 Lars Magne Ingebrigtsen + + * nndoc.el (nndoc-babyl-body-begin): Would skip empty messages. + + * nntp.el (nntp-retrieve-groups): Would infloop on some servers. + + * gnus-sum.el (gnus-nov-parse-line): Don't let messages refer back + to themselves. + + * gnus-util.el (gnus-parent-id): Don't bug out on nil references. + + * gnus-cite.el (gnus-article-hide-citation): Hide/unhide better. + + * article.el (article-hide-text-of-type): New function. + (article-hidden-text-type-p): New function. + + * gnus-cite.el (gnus-article-hide-citation): Marked the hidden + text with wrong type. + (gnus-article-hide-citation-maybe): Ditto. + (gnus-article-hide-citation): Toggle. + + * gnus-dup.el (gnus-dup-enter-articles): Would bug out on + pseudo-articles. + + * nntp.el (nntp-server-opened-hook): Send mode reader as a + default. + (nntp-retrieve-data): Format error. + + Thu Aug 29 01:52:19 1996 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-display-article): Check whether + `gnus-current-article' is nil. + + Wed Aug 28 08:44:22 1996 Lars Magne Ingebrigtsen + + * gnus-async.el (gnus-async-prefetch-article): Would clobber + fetches in progress. + + * gnus-sum.el (gnus-summary-prepare): Made into command. + + * gnus-srvr.el (gnus-server-scan-server): New command and + keystroke. + + * gnus-group.el (gnus-group-read-group): Accept a 0 prefix to not + generate buffer. + + Sun Jul 21 14:56:28 1996 Steven L Baur + + * earcon.el (earcon-regexp-alist): Plonk! + + Wed Aug 28 04:14:36 1996 Lars Magne Ingebrigtsen + + * gnus.el: Red Gnus v0.18 is released. + Wed Aug 28 02:09:20 1996 Lars Magne Ingebrigtsen * nnweb.el (nnweb-dejanews-create-mapping): Would just fetch the *** pub/rgnus/texi/gnus.texi Wed Aug 28 04:14:20 1996 --- rgnus/texi/gnus.texi Thu Aug 29 02:15:57 1996 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus 0.18 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus VERSION Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 230,236 **** @tex @titlepage ! @title Red Gnus 0.18 Manual @author by Lars Magne Ingebrigtsen @page --- 230,236 ---- @tex @titlepage ! @title Red Gnus VERSION Manual @author by Lars Magne Ingebrigtsen @page *************** *** 1237,1246 **** minimum amount off 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. @item M-SPACE ! @kindex M-RET (Group) @findex gnus-group-visible-select-group This is yet one more command that does the same as the one above, but this one does it without expunging and hiding dormants --- 1237,1249 ---- minimum amount off 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. @item M-SPACE ! @kindex M-SPACE (Group) @findex gnus-group-visible-select-group This is yet one more command that does the same as the one above, but this one does it without expunging and hiding dormants *************** *** 6305,6310 **** --- 6308,6319 ---- @findex gnus-summary-expand-window Expand the summary buffer window (@code{gnus-summary-expand-window}). If given a prefix, force an @code{article} window configuration. + + @item M-C-g + @kindex M-C-g (Summary) + @findex gnus-summary-prepare + Regenerate the current summary buffer (@code{gnus-summary-prepare}). + @end table *************** *** 7445,7450 **** --- 7454,7466 ---- @findex gnus-server-list-servers List all servers (@code{gnus-server-list-servers}). + @item s + @kindex s (Server) + @findex gnus-server-scan-server + Request that the server scan its sources for new articles + (@code{gnus-server-scan-server}). This is mainly sensible with mail + servers. + @end table *************** *** 8104,8110 **** Hook run in the buffer where the mail headers of each message is kept just before the splitting based on these headers is done. The hook is free to modify the buffer contents in any way it sees fit---the buffer ! is discarded after the splitting has been done, and no changes perfromed in the buffer will show up in any files. @code{article-decode-rfc1522} is one likely function to add to this hook. --- 8120,8126 ---- Hook run in the buffer where the mail headers of each message is kept just before the splitting based on these headers is done. The hook is free to modify the buffer contents in any way it sees fit---the buffer ! is discarded after the splitting has been done, and no changes performed in the buffer will show up in any files. @code{article-decode-rfc1522} is one likely function to add to this hook. *************** *** 9356,9362 **** If the search engine changes its output substantially, @code{nnweb} won't be able to parse it and will fail. One could hardly fault the Web ! providers if they were to do this---their @emph{raison d'etre} is to make money off of advertisements, not to provide services to the community. Since @code{nnweb} washes the ads off all the articles, one might think that the providers might be somewhat miffed. We'll see. --- 9372,9378 ---- If the search engine changes its output substantially, @code{nnweb} won't be able to parse it and will fail. One could hardly fault the Web ! providers if they were to do this---their @emph{raison d'être} is to make money off of advertisements, not to provide services to the community. Since @code{nnweb} washes the ads off all the articles, one might think that the providers might be somewhat miffed. We'll see. *** pub/rgnus/texi/ChangeLog Mon Aug 26 22:26:37 1996 --- rgnus/texi/ChangeLog Thu Aug 29 02:15:57 1996 *************** *** 1,3 **** --- 1,12 ---- + Thu Aug 29 02:09:24 1996 François Pinard + + * gnus.texi (Web Searches): Typo. + + Wed Aug 28 08:21:36 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Server Commands): Addition. + (Really Various Summary Commands): Addition. + Mon Aug 26 18:29:23 1996 Lars Magne Ingebrigtsen * gnus.texi (Optional Backend Functions): Deletia. *** pub/rgnus/GNUS-NEWS Mon Aug 26 22:26:38 1996 --- rgnus/GNUS-NEWS Thu Aug 29 02:15:55 1996 *************** *** 68,81 **** *** A new mail-to-news backend makes it possible to post even when the NNTP server doesn't allow posting. - *** Process mark sets can be pushed and popped. - - *** A new mail-to-news backend makes it possible to post - even when the NNTP server doesn't allow posting. - *** Process mark sets can be pushed and popped. - - *** A new mail-to-news backend makes it possible to post - even when the NNTP server doesn't allow posting. *** A new backend for reading searches from Web search engines (DejaNews, Alta Vista, InReference) has been added. --- 68,73 ----