*** pub/sgnus/lisp/gnus.el Sun Jun 30 23:10:44 1996 --- sgnus/lisp/gnus.el Thu Jul 4 06:40:44 1996 *************** *** 540,554 **** "*If non-nil, the \\\\[gnus-group-get-new-news-this-group] command will advance point to the next group.") (defvar gnus-check-new-newsgroups t ! "*Non-nil means that Gnus will add new newsgroups at startup. ! If this variable is `ask-server', Gnus will ask the server for new ! groups since the last time it checked. This means that the killed list ! is no longer necessary, so you could set `gnus-save-killed-list' to ! nil. ! ! A variant is to have this variable be a list of select methods. Gnus ! will then use the `ask-server' method on all these select methods to ! query for new groups from all those servers. Eg. (setq gnus-check-new-newsgroups --- 540,565 ---- "*If non-nil, the \\\\[gnus-group-get-new-news-this-group] command will advance point to the next group.") (defvar gnus-check-new-newsgroups t ! "*Non-nil means that Gnus will run gnus-find-new-newsgroups at startup. ! This normally finds new newsgroups by comparing the active groups the ! servers have already reported with those Gnus already knows, either alive ! or killed. ! ! When any of the following are true, gnus-find-new-newsgroups will instead ! ask the servers (primary, secondary, and archive servers) to list new ! groups since the last time it checked: ! 1. This variable is `ask-server'. ! 2. This variable is a list of select methods (see below). ! 3. `gnus-read-active-file' is nil or `some'. ! 4. A prefix argument is given to gnus-find-new-newsgroups interactively. ! ! Thus, if this variable is `ask-server' or a list of select methods or ! `gnus-read-active-file' is nil or `some', then the killed list is no ! longer necessary, so you could safely set `gnus-save-killed-list' to nil. ! ! This variable can be a list of select methods which Gnus will query with ! the `ask-server' method in addition to the primary, secondary, and archive ! servers. Eg. (setq gnus-check-new-newsgroups *************** *** 1761,1767 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version-number "5.2.32" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) --- 1772,1778 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version-number "5.2.33" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) *************** *** 1981,1987 **** gnus-newsgroup-history gnus-newsgroup-ancient gnus-newsgroup-sparse (gnus-newsgroup-adaptive . gnus-use-adaptive-scoring) ! gnus-newsgroup-adaptive-score-file (gnus-newsgroup-expunged-tally . 0) gnus-cache-removable-articles gnus-newsgroup-cached gnus-newsgroup-data gnus-newsgroup-data-reverse --- 1992,1998 ---- gnus-newsgroup-history gnus-newsgroup-ancient gnus-newsgroup-sparse (gnus-newsgroup-adaptive . gnus-use-adaptive-scoring) ! gnus-newsgroup-adaptive-score-file (gnus-reffed-article-number . -1) (gnus-newsgroup-expunged-tally . 0) gnus-cache-removable-articles gnus-newsgroup-cached gnus-newsgroup-data gnus-newsgroup-data-reverse *************** *** 7166,7171 **** --- 7177,7183 ---- "s" gnus-article-hide-signature "c" gnus-article-hide-citation "p" gnus-article-hide-pgp + "P" gnus-article-hide-pem "\C-c" gnus-article-hide-citation-maybe) (gnus-define-keys (gnus-summary-wash-highlight-map "H" gnus-summary-wash-map) *************** *** 7612,7617 **** --- 7624,7630 ---- (article-buffer gnus-article-buffer) (original gnus-original-article-buffer) (gac gnus-article-current) + (reffed gnus-reffed-article-number) (score-file gnus-current-score-file)) (save-excursion (set-buffer gnus-group-buffer) *************** *** 7624,7629 **** --- 7637,7643 ---- (setq gnus-summary-buffer summary) (setq gnus-article-buffer article-buffer) (setq gnus-original-article-buffer original) + (setq gnus-reffed-article-number reffed) (setq gnus-current-score-file score-file))))) (defun gnus-summary-last-article-p (&optional article) *************** *** 8620,8627 **** ;; If the article lies outside the current limit, ;; then we do not display it. ((and (not (memq number gnus-newsgroup-limit)) ! ;(not gnus-tmp-dummy-line) ! ) (setq gnus-tmp-gathered (nconc (mapcar (lambda (h) (mail-header-number (car h))) --- 8634,8640 ---- ;; If the article lies outside the current limit, ;; then we do not display it. ((and (not (memq number gnus-newsgroup-limit)) ! (not gnus-tmp-dummy-line)) (setq gnus-tmp-gathered (nconc (mapcar (lambda (h) (mail-header-number (car h))) *************** *** 8907,8913 **** gnus-newsgroup-end (mail-header-number (gnus-last-element gnus-newsgroup-headers)))) - (setq gnus-reffed-article-number -1) ;; GROUP is successfully selected. (or gnus-newsgroup-headers t))))) --- 8920,8925 ---- *************** *** 11252,11258 **** (gnus-summary-select-article) (gnus-configure-windows 'article) (gnus-eval-in-buffer-window gnus-article-buffer ! (goto-char (point-min)) (isearch-forward regexp-p))) (defun gnus-summary-search-article-forward (regexp &optional backward) --- 11264,11270 ---- (gnus-summary-select-article) (gnus-configure-windows 'article) (gnus-eval-in-buffer-window gnus-article-buffer ! ;;(goto-char (point-min)) (isearch-forward regexp-p))) (defun gnus-summary-search-article-forward (regexp &optional backward) *************** *** 13615,13620 **** --- 13627,13633 ---- (set-buffer (get-buffer-create gnus-original-article-buffer)) (buffer-disable-undo (current-buffer)) (setq major-mode 'gnus-original-article-mode) + (gnus-add-current-to-buffer-list) (make-local-variable 'gnus-original-article)) (if (get-buffer name) (save-excursion *************** *** 14349,14354 **** --- 14362,14396 ---- (while (re-search-forward "^- " nil t) (gnus-hide-text (match-beginning 0) (match-end 0) props)) (widen)))))) + + (defun gnus-article-hide-pem (&optional arg) + "Toggle hiding of any PEM headers and signatures in the current article. + If given a negative prefix, always show; if given a positive prefix, + always hide." + (interactive (gnus-hidden-arg)) + (unless (gnus-article-check-hidden-text 'pem arg) + (save-excursion + (set-buffer gnus-article-buffer) + (let ((props (nconc (list 'gnus-type 'pem) gnus-hidden-properties)) + buffer-read-only end) + (widen) + (goto-char (point-min)) + ;; hide the horrendously ugly "header". + (and (search-forward "\n-----BEGIN PRIVACY-ENHANCED MESSAGE-----\n" + nil + t) + (setq end (1+ (match-beginning 0))) + (gnus-hide-text + end + (if (search-forward "\n\n" nil t) + (match-end 0) + (point-max)) + props)) + ;; hide the trailer as well + (and (search-forward "\n-----END PRIVACY-ENHANCED MESSAGE-----\n" + nil + t) + (gnus-hide-text (match-beginning 0) (match-end 0) props)))))) (defun gnus-article-hide-signature (&optional arg) "Hide the signature in the current article. *** pub/sgnus/lisp/message.el Sun Jun 30 21:45:37 1996 --- sgnus/lisp/message.el Wed Jul 3 03:58:00 1996 *************** *** 515,527 **** \",\" is used as the separator." (let ((regexp (format "[%s]+" (or separator ","))) (beg 1) quoted elems) (save-excursion (message-set-work-buffer) (insert header) (goto-char (point-min)) (while (not (eobp)) ! (forward-char 1) (cond ((and (> (point) beg) (or (eobp) (and (looking-at regexp) --- 515,530 ---- \",\" is used as the separator." (let ((regexp (format "[%s]+" (or separator ","))) (beg 1) + (first t) quoted elems) (save-excursion (message-set-work-buffer) (insert header) (goto-char (point-min)) (while (not (eobp)) ! (if first ! (setq first nil) ! (forward-char 1)) (cond ((and (> (point) beg) (or (eobp) (and (looking-at regexp) *************** *** 2468,2477 **** (message-set-work-buffer) (unless never-mct (insert (or reply-to from ""))) ! (insert ! (if (bolp) "" ", ") (or to "") ! (if mct (concat (if (bolp) "" ", ") mct) "") ! (if cc (concat (if (bolp) "" ", ") cc) "")) ;; Remove addresses that match `rmail-dont-reply-to-names'. (insert (prog1 (rmail-dont-reply-to (buffer-string)) (erase-buffer))) --- 2471,2479 ---- (message-set-work-buffer) (unless never-mct (insert (or reply-to from ""))) ! (insert (if (bolp) "" ", ") (or to "")) ! (insert (if mct (concat (if (bolp) "" ", ") mct) "")) ! (insert (if cc (concat (if (bolp) "" ", ") cc) "")) ;; Remove addresses that match `rmail-dont-reply-to-names'. (insert (prog1 (rmail-dont-reply-to (buffer-string)) (erase-buffer))) *************** *** 2480,2486 **** (mapcar (lambda (addr) (cons (mail-strip-quoted-names addr) addr)) ! (nreverse (mail-parse-comma-list)))) (let ((s ccalist)) (while s (setq ccalist (delq (assoc (car (pop s)) s) ccalist))))) --- 2482,2488 ---- (mapcar (lambda (addr) (cons (mail-strip-quoted-names addr) addr)) ! (message-tokenize-header (buffer-string)))) (let ((s ccalist)) (while s (setq ccalist (delq (assoc (car (pop s)) s) ccalist))))) *** pub/sgnus/lisp/messcompat.el Thu Jul 4 07:45:49 1996 --- sgnus/lisp/messcompat.el Tue Jul 2 08:42:10 1996 *************** *** 0 **** --- 1,89 ---- + ;;; messcompat.el --- making message mode compatible with mail mode + ;; Copyright (C) 1996 Free Software Foundation, Inc. + + ;; Author: Lars Magne Ingebrigtsen + ;; Keywords: mail, news + + ;; 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) + ;; any later version. + + ;; GNU Emacs is distributed in the hope that it will be useful, + ;; but WITHOUT ANY WARRANTY; without even the implied warranty of + ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ;; GNU General Public License for more details. + + ;; You should have received a copy of the GNU General Public License + ;; along with GNU Emacs; see the file COPYING. If not, write to the + ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, + ;; Boston, MA 02111-1307, USA. + + ;;; Commentary: + + ;; This file tries to provide backward compatability with sendmail.el + ;; for Message mode. It should be used by simply adding + ;; + ;; (require 'messcompat) + ;; + ;; to the .emacs file. Loading it after Message mode has been + ;; loaded will have no effect. + + ;;; Code: + + (require 'sendmail) + + (defvar message-from-style mail-from-style + "*Specifies how \"From\" headers look. + + If `nil', they contain just the return address like: + king@grassland.com + If `parens', they look like: + king@grassland.com (Elvis Parsley) + If `angles', they look like: + Elvis Parsley + + Otherwise, most addresses look like `angles', but they look like + `parens' if `angles' would need quoting and `parens' would not.") + + (defvar message-interactive mail-interactive + "Non-nil means when sending a message wait for and display errors. + nil means let mailer mail back a message to report errors.") + + (defvar message-setup-hook mail-setup-hook + "Normal hook, run each time a new outgoing message is initialized. + The function `message-setup' runs this hook.") + + (defvar message-mode-hook mail-mode-hook + "Hook run in message mode buffers.") + + (defvar message-indentation-spaces mail-indentation-spaces + "*Number of spaces to insert at the beginning of each cited line. + Used by `message-yank-original' via `message-yank-cite'.") + + (defvar message-cite-function (car mail-citation-hook) + "*Function for citing an original message.") + + (defvar message-signature mail-signature + "*String to be inserted at the end of the message buffer. + If t, the `message-signature-file' file will be inserted instead. + If a function, the result from the function will be used instead. + If a form, the result from the form will be used instead.") + + ;;;###autoload + (defvar message-signature-file mail-signature-file + "*File containing the text inserted at end of message. buffer.") + + (defvar message-default-headers mail-default-headers + "*A string containing header lines to be inserted in outgoing messages. + It is inserted before you edit the message, so you can edit or delete + these lines.") + + (defvar message-send-hook mail-send-hook + "Hook run before sending messages.") + + (provide 'messcompat) + + ;;; messcompat.el ends here *** pub/sgnus/lisp/nnheader.el Sat Jun 29 00:11:17 1996 --- sgnus/lisp/nnheader.el Wed Jul 3 01:30:36 1996 *************** *** 597,608 **** (defvar efs-path-regexp) (defun nnheader-re-read-dir (path) "Re-read directory PATH if PATH is on a remote system." ! (if (boundp 'ange-ftp-path-format) ! (when (string-match (car ange-ftp-path-format) path) ! (ange-ftp-re-read-dir path)) ! (if (boundp 'efs-path-regexp) (when (string-match efs-path-regexp path) ! (efs-re-read-dir path))))) (fset 'nnheader-run-at-time 'run-at-time) (fset 'nnheader-cancel-timer 'cancel-timer) --- 597,608 ---- (defvar efs-path-regexp) (defun nnheader-re-read-dir (path) "Re-read directory PATH if PATH is on a remote system." ! (if (or (fboundp 'efs-re-read-dir) (boundp 'efs-path-regexp)) (when (string-match efs-path-regexp path) ! (efs-re-read-dir path)) ! (if (or (fboundp 'ange-ftp-re-read-dir) (boundp 'ange-ftp-path-format)) ! (when (string-match (car ange-ftp-path-format) path) ! (ange-ftp-re-read-dir path))))) (fset 'nnheader-run-at-time 'run-at-time) (fset 'nnheader-cancel-timer 'cancel-timer) *** pub/sgnus/lisp/nntp.el Sat Jun 22 14:00:32 1996 --- sgnus/lisp/nntp.el Thu Jul 4 07:39:17 1996 *************** *** 92,104 **** NNTP server available there (see nntp-rlogin-parameters).") (defvoo nntp-rlogin-parameters '("telnet" "${NNTPSERVER:=localhost}" "nntp") ! "*Parameters to `nntp-open-login'. That function may be used as `nntp-open-server-function'. In that case, this list will be used as the parameter list given to rsh.") (defvoo nntp-rlogin-user-name nil "*User name on remote system when using the rlogin connect method.") (defvoo nntp-address nil "*The name of the NNTP server.") --- 92,116 ---- NNTP server available there (see nntp-rlogin-parameters).") (defvoo nntp-rlogin-parameters '("telnet" "${NNTPSERVER:=localhost}" "nntp") ! "*Parameters to `nntp-open-rlogin'. That function may be used as `nntp-open-server-function'. In that case, this list will be used as the parameter list given to rsh.") (defvoo nntp-rlogin-user-name nil "*User name on remote system when using the rlogin connect method.") + (defvoo nntp-telnet-parameters '("exec" "telnet" "${NNTPSERVER:=localhost}" "nntp") + "*Parameters to `nntp-open-telnet'. + That function may be used as `nntp-open-server-function'. In that + case, this list will be executed as a command after logging in + via telnet.") + + (defvoo nntp-telnet-user-name nil + "User name to log in via telnet with.") + + (defvoo nntp-telnet-passwd nil + "Password to use to log in via telnet with.") + (defvoo nntp-address nil "*The name of the NNTP server.") *************** *** 1088,1094 **** (condition-case nil (nntp-wait-for-response "^[23].*\r?\n" 'slow) (error nil) ! (quit nil))) (unless status (nntp-close-server-internal server) (nnheader-report --- 1100,1107 ---- (condition-case nil (nntp-wait-for-response "^[23].*\r?\n" 'slow) (error nil) ! ;(quit nil) ! )) (unless status (nntp-close-server-internal server) (nnheader-report *************** *** 1105,1112 **** ((null server) (nnheader-report 'nntp "NNTP server is not specified.")) (t ; We couldn't open the server. ! (nnheader-report ! 'nntp (buffer-substring (point-min) (point-max))))) (when timer (nnheader-cancel-timer timer)) (message "") --- 1118,1124 ---- ((null server) (nnheader-report 'nntp "NNTP server is not specified.")) (t ; We couldn't open the server. ! (nnheader-report 'nntp (buffer-string)))) (when timer (nnheader-cancel-timer timer)) (message "") *************** *** 1186,1208 **** nntp-rlogin-parameters " "))))) proc)) ! (defun nntp-telnet-to-machine () ! (let (b) ! (telnet "localhost") (goto-char (point-min)) ! (while (not (re-search-forward "^login: *" nil t)) ! (sit-for 1) ! (goto-char (point-min))) ! (goto-char (point-max)) ! (insert "larsi") ! (telnet-send-input) ! (setq b (point)) ! (while (not (re-search-forward ">" nil t)) (sit-for 1) ! (goto-char b)) ! (goto-char (point-max)) ! (insert "ls") ! (telnet-send-input))) (defun nntp-close-server-internal (&optional server) "Close connection to news server." --- 1198,1249 ---- nntp-rlogin-parameters " "))))) proc)) ! (defun nntp-wait-for-string (regexp) ! "Wait until string arrives in the buffer." ! (let ((buf (current-buffer))) (goto-char (point-min)) ! (while (not (re-search-forward regexp nil t)) ! (accept-process-output) (sit-for 1) ! (set-buffer buf) ! (goto-char (point-min))))) ! ! (defun nntp-open-telnet (server) ! (save-excursion ! (set-buffer nntp-server-buffer) ! (erase-buffer) ! (let ((proc (start-process ! "nntpd" nntp-server-buffer "telnet")) ! (case-fold-search t)) ! (when (memq (process-status proc) '(open run)) ! (process-send-string proc "set escape \^X\n") ! (process-send-string proc (concat "open " server "\n")) ! (nntp-wait-for-string "^\r*login:") ! (process-send-string ! proc (concat ! (or nntp-telnet-user-name ! (setq nntp-telnet-user-name (read-string "login: "))) ! "\n")) ! (nntp-wait-for-string "^\r*password:") ! (process-send-string ! proc (concat ! (or nntp-telnet-passwd ! (setq nntp-telnet-passwd ! (nnmail-read-passwd "Password: "))) ! "\n")) ! (erase-buffer) ! (nntp-wait-for-string "bash\\|\$ *\r?$\\|> *\r?") ! (process-send-string ! proc (concat (mapconcat 'identity nntp-telnet-parameters " ") "\n")) ! (nntp-wait-for-string "^\r*200") ! (beginning-of-line) ! (delete-region (point-min) (point)) ! (process-send-string proc "\^]") ! (process-send-string proc "mode character\n") ! (sit-for 2) ! (forward-line 1) ! (delete-region (point) (point-max))) ! proc))) (defun nntp-close-server-internal (&optional server) "Close connection to news server." *************** *** 1210,1216 **** (if nntp-server-process (delete-process nntp-server-process)) (setq nntp-server-process nil) ! (setq nntp-address "")) (defun nntp-accept-response () "Read response of server. --- 1251,1258 ---- (if nntp-server-process (delete-process nntp-server-process)) (setq nntp-server-process nil) ! ;(setq nntp-address "") ! ) (defun nntp-accept-response () "Read response of server. *** pub/sgnus/lisp/ChangeLog Sun Jun 30 22:45:06 1996 --- sgnus/lisp/ChangeLog Thu Jul 4 06:40:42 1996 *************** *** 1,3 **** --- 1,50 ---- + Thu Jul 4 06:08:11 1996 Lars Magne Ingebrigtsen + + * nntp.el (nntp-open-telnet): Working function. + (nntp-telnet-parameters, (nntp-telnet-user-name, + nntp-telnet-passwd): New variables. + + * gnus.el (gnus-summary-prepare-threads): Would infloop. + (gnus-summary-isearch-article): Don't go to the start of the + article. + + Thu Jul 4 05:44:22 1996 Steven L. Baur + + * gnus.el (gnus-article-hide-pem): New command and keystroke. + + Thu Jul 4 05:00:58 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-summary-local-variables): Init reffed to 0. + (gnus-set-global-variables): Set reffed. + + Wed Jul 3 06:15:28 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-reffed-article-number): Make buffer-local. + + Wed Jul 3 03:17:42 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-article-setup-buffer): Make the original buffer go + away on exit. + + * message.el (message-reply): Insert proper number of commas. + (message-tokenize-header): Tokenize properly. + + Wed Jul 3 03:01:59 1996 Joe Wells + + * gnus.el (gnus-check-new-newsgroups): Doc fix. + + Wed Jul 3 02:58:09 1996 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.2.33 is released. + + Wed Jul 3 00:27:35 1996 Jan Vroonhof + + * nnheader.el (nnheader-re-read-dir): Prefer efs over ange-ftp. + + Sun Jun 30 23:19:38 1996 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.2.32 is released. + Sun Jun 30 21:57:31 1996 Lars Magne Ingebrigtsen * gnus.el (gnus-check-bogus-groups-hook): New hook. *** pub/sgnus/texi/gnus.texi Fri Jun 28 00:50:07 1996 --- sgnus/texi/gnus.texi Thu Jul 4 06:06:38 1996 *************** *** 5051,5056 **** --- 5051,5062 ---- @findex gnus-article-hide-pgp Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}). + @item W W P + @kindex W W P (Summary) + @findex gnus-article-hide-pem + Hide @sc{pem} (privacy enhavnced hessages) gruft + (@code{gnus-article-hide-pem}). + @item W W c @kindex W W c (Summary) @findex gnus-article-hide-citation *************** *** 5168,5174 **** @item W w @kindex W w (Summary) @findex gnus-article-fill-cited-article ! Do word wrap (@code{gnus-article-fill-cited-article}). @item W c @kindex W c (Summary) --- 5174,5182 ---- @item W w @kindex W w (Summary) @findex gnus-article-fill-cited-article ! Do word wrap (@code{gnus-article-fill-cited-article}). If you use this ! function in @code{gnus-article-display-hook}, it should be run fairly ! late and certainly after any highlighting. @item W c @kindex W c (Summary) *************** *** 9586,9593 **** @vindex gnus-inews-article-hook These two functions are both primarily meant to be used in hooks like ! @code{gnus-inews-article-hook}. ! @node Scoring Tips @section Scoring Tips --- 9594,9600 ---- @vindex gnus-inews-article-hook These two functions are both primarily meant to be used in hooks like ! @code{message-send-hook}. @node Scoring Tips @section Scoring Tips *** pub/sgnus/texi/ChangeLog Wed Jun 19 16:31:04 1996 --- sgnus/texi/ChangeLog Thu Jul 4 06:06:38 1996 *************** *** 1,3 **** --- 1,11 ---- + Thu Jul 4 05:45:32 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Article Hiding): Addition. + + Wed Jul 3 03:07:08 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Followups To Yourself): Deletia. + Wed Jun 19 16:30:55 1996 Lars Magne Ingebrigtsen * gnus.texi (Censorship): Removed.