From 60365529f4f4b8daa08ff2c07d12a8d14c1a7f2b Mon Sep 17 00:00:00 2001 From: shuhei-k Date: Mon, 17 Aug 1998 03:43:23 +0000 Subject: [PATCH] Importing gnus-5.6.37 --- lisp/ChangeLog | 41 +++++++++++++++++++ lisp/gnus-agent.el | 18 ++++++--- lisp/gnus-art.el | 1 + lisp/gnus-group.el | 1 + lisp/gnus-msg.el | 2 +- lisp/gnus-score.el | 4 +- lisp/gnus-sum.el | 8 ++-- lisp/gnus.el | 3 +- lisp/nndoc.el | 16 ++++---- lisp/nntp.el | 20 ++++++++- make.bat | 114 ++++++++++++++++++++++++++-------------------------- texi/ChangeLog | 9 +++++ texi/gnus.texi | 45 +++++++++++++-------- texi/message.texi | 7 ++++ 14 files changed, 192 insertions(+), 97 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5435e3d..18236cd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,44 @@ +Sun Aug 16 18:59:41 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.37 is released. + +1998-08-16 14:52:43 Lars Magne Ingebrigtsen + + * gnus.el: Autoload gnus-summary-wide-reply. + + * gnus-sum.el (gnus-get-newsgroup-headers): Return the value of + In-Reply-To. + + * gnus-msg.el (gnus-setup-message): Posting styles have to be + configured in message-mode-hook. + + * nntp.el (nntp-connection-timeout): Restored. + (nntp-open-connection): Use it. + +1998-08-15 22:46:49 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-make-useful-group): Doc fix. + + * gnus-art.el (gnus-article-push-button): Place point where you + click. + +1998-08-15 Mike McEwan + + * gnus-agent.el (gnus-agent-save-group-info): Update "groups" file + if `nntp-server-list-active-group' is nil. + +1998-08-15 00:35:03 Lars Magne Ingebrigtsen + + * gnus-score.el (gnus-summary-increase-score): Swap t and r. + + * gnus-sum.el (gnus-remove-thread): Didn't work with sparse + threads. + +1998-08-14 François Pinard + + * nndoc.el (nndoc-generate-mime-parts-head): Use original Subject, + Message-ID, and References in fully blown articles. + Fri Aug 14 23:03:51 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.36 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index a67b708..4fc231f 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -532,16 +532,24 @@ the actual number of articles toggled is returned." (defun gnus-agent-save-group-info (method group active) (when (gnus-agent-method-p method) (let* ((gnus-command-method method) - (file (gnus-agent-lib-file "active"))) + (file (if nntp-server-list-active-group + (gnus-agent-lib-file "active") + (gnus-agent-lib-file "groups")))) (gnus-make-directory (file-name-directory file)) (nnheader-temp-write file (when (file-exists-p file) (insert-file-contents file)) (goto-char (point-min)) - (when (re-search-forward (concat "^" (regexp-quote group) " ") nil t) - (gnus-delete-line)) - (insert group " " (number-to-string (cdr active)) " " - (number-to-string (car active)) "\n"))))) + (if nntp-server-list-active-group + (progn + (when (re-search-forward + (concat "^" (regexp-quote group) " ") nil t) + (gnus-delete-line)) + (insert group " " (number-to-string (cdr active)) " " + (number-to-string (car active)) "\n")) + (when (re-search-forward (concat (regexp-quote group) " ") nil t) + (gnus-delete-line)) + (insert-buffer-substring nntp-server-buffer)))))) (defun gnus-agent-group-path (group) "Translate GROUP into a path." diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 6ac7752..49c3228 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2807,6 +2807,7 @@ call it with the value of the `gnus-data' text property." (let* ((pos (posn-point (event-start event))) (data (get-text-property pos 'gnus-data)) (fun (get-text-property pos 'gnus-callback))) + (goto-char pos) (when fun (funcall fun data)))) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 10a9bd9..029a2a0 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1980,6 +1980,7 @@ and NEW-NAME will be prompted for." (gnus-group-position-point))) (defun gnus-group-make-useful-group (group method) + "Create one of the groups described in `gnus-useful-groups'." (interactive (let ((entry (assoc (completing-read "Create group: " gnus-useful-groups nil t) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 236a6a7..bf00d4a 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -188,7 +188,7 @@ Thank you for your help in stamping out bugs. (copy-sequence message-header-setup-hook))) (add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc) (add-hook 'message-header-setup-hook 'gnus-inews-insert-archive-gcc) - (add-hook 'message-setup-hook 'gnus-configure-posting-styles) + (add-hook 'message-mode-hook 'gnus-configure-posting-styles) (unwind-protect (progn ,@forms) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 4bdbcb6..8cff072 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -500,12 +500,12 @@ used as score." (?b "body" "" nil body-string) (?h "head" "" nil body-string) (?i "message-id" nil t string) - (?t "references" "message-id" nil string) + (?r "references" "message-id" nil string) (?x "xref" nil nil string) (?l "lines" nil nil number) (?d "date" nil nil date) (?f "followup" nil nil string) - (?r "thread" nil nil string))) + (?t "thread" nil nil string))) (char-to-type '((?s s "substring" string) (?e e "exact string" string) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index d75fa0c..d01d28b 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3337,9 +3337,8 @@ If LINE, insert the rebuilt thread starting on line LINE." "Remove the thread that has ID in it." (let (headers thread last-id) ;; First go up in this thread until we find the root. - (setq last-id (gnus-root-id id)) - (setq headers (list (car (gnus-id-to-thread last-id)) - (caadr (gnus-id-to-thread last-id)))) + (setq last-id (gnus-root-id id) + headers (message-flatten-list (gnus-id-to-thread last-id))) ;; We have now found the real root of this thread. It might have ;; been gathered into some loose thread, so we have to search ;; through the threads to find the thread we wanted. @@ -4465,7 +4464,8 @@ The resulting hash table is returned, or nil if no Xrefs were found." (setq ref2 (substring in-reply-to (match-beginning 0) (match-end 0))) (when (> (length ref2) (length ref)) - (setq ref ref2)))) + (setq ref ref2))) + ref) (setq ref nil)))) ;; Chars. (progn diff --git a/lisp/gnus.el b/lisp/gnus.el index aca2c82..b95f441 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -250,7 +250,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.6.36" +(defconst gnus-version-number "5.6.37" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) @@ -1661,6 +1661,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-post-news gnus-summary-reply gnus-summary-reply-with-original gnus-summary-mail-forward gnus-summary-mail-other-window gnus-summary-resend-message gnus-summary-resend-bounced-mail + gnus-summary-wide-reply gnus-bug) ("gnus-picon" :interactive t gnus-article-display-picons gnus-group-display-picons gnus-picons-article-display-x-face diff --git a/lisp/nndoc.el b/lisp/nndoc.el index 79ad7ad..0da245a 100644 --- a/lisp/nndoc.el +++ b/lisp/nndoc.el @@ -473,17 +473,15 @@ from the document.") (goto-char (point-min)) (nndoc-generate-mime-parts-head article t))) -(defun nndoc-generate-mime-parts-head (article &optional full-subject) - (let ((entry (cdr (assq article nndoc-dissection-alist)))) - (let ((subject (concat "<" (nth 5 entry) ">")) +(defun nndoc-generate-mime-parts-head (article &optional body-present) + (let ((entry (cdr (assq (if body-present 1 article) nndoc-dissection-alist)))) + (let ((subject (if body-present + nndoc-mime-subject + (concat "<" (nth 5 entry) ">"))) (message-id (nth 6 entry)) (references (nth 7 entry))) - (insert nndoc-mime-header - "Subject: " - (cond ((not full-subject) subject) - (nndoc-mime-subject (concat nndoc-mime-subject " " subject)) - (t subject)) - "\n") + (insert nndoc-mime-header) + (and subject (insert "Subject: " subject "\n")) (and message-id (insert "Message-ID: " message-id "\n")) (and references (insert "References: " references "\n"))))) diff --git a/lisp/nntp.el b/lisp/nntp.el index 3528e33..a2b8009 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -179,6 +179,10 @@ server there that you can connect to. See also +(defvoo nntp-connection-timeout nil + "*Number of seconds to wait before an nntp connection times out. +If this variable is nil, which is the default, no timers are set.") + ;;; Internal variables. (defvar nntp-record-commands nil @@ -684,6 +688,10 @@ server there that you can connect to. See also (ignore-errors (nntp-send-string process "QUIT") (unless (eq nntp-open-connection-function 'nntp-open-network-stream) + ;; Ok, this is evil, but when using telnet and stuff + ;; as the connection method, it's important that the + ;; QUIT command actually is sent out before we kill + ;; the process. (sleep-for 1)))) (when (buffer-name (process-buffer process)) (kill-buffer (process-buffer process))) @@ -830,6 +838,13 @@ password contained in '~/.nntp-authinfo'." "Open a connection to PORT on ADDRESS delivering output to BUFFER." (run-hooks 'nntp-prepare-server-hook) (let* ((pbuffer (nntp-make-process-buffer buffer)) + (timer + (and nntp-connection-timeout + (nnheader-run-at-time + nntp-connection-timeout nil + `(lambda () + (when (buffer-name ,pbuffer) + (kill-buffer ,pbuffer)))))) (process (condition-case () (let ((coding-system-for-read nntp-coding-system-for-read) @@ -837,7 +852,10 @@ password contained in '~/.nntp-authinfo'." (funcall nntp-open-connection-function pbuffer)) (error nil) (quit nil)))) - (when process + (when timer + (nnheader-cancel-timer timer)) + (when (and (buffer-name pbuffer) + process) (process-kill-without-query process) (nntp-wait-for process "^.*\n" buffer nil t) (if (memq (process-status process) '(open run)) diff --git a/make.bat b/make.bat index d183af9..4a6b8a0 100755 --- a/make.bat +++ b/make.bat @@ -1,57 +1,57 @@ -@echo off - -rem Written by David Charlap - -rem There are two catches, however. The emacs.bat batch file may not exist -rem in all distributions. It is part of the Voelker build of Emacs 19.34 -rem (http://www.cs.washington.edu/homes/voelker/ntemacs.html). If the user -rem installs Gnus with some other build, he may have to replace calls to -rem %1\emacs.bat with something else. -rem -rem Also, the emacs.bat file that Voelker ships does not accept more than 9 -rem parameters, so the attempts to compile the .texi files will fail. To -rem fix that (at least on NT. I don't know about Win95), the following -rem change should be made to emacs.bat: -rem -rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 -rem -rem should become -rem -rem %emacs_dir%\bin\emacs.exe %* -rem -rem which will allow the batch file to accept an unlimited number of -rem parameters. - -if "%1" == "" goto usage - -cd lisp -call %1\bin\emacs.bat -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile -if not "%2" == "copy" goto info -copy *.el* %1\lisp - -:info -cd ..\texi -call %1\bin\emacs.bat -batch -q -no-site-file gnus.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer -call %1\bin\emacs.bat -batch -q -no-site-file message.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer -if not "%2" == "copy" goto done -copy gnus %1\info -copy gnus-?? %1\info -copy message %1\info - -:etc -cd ..\etc -copy gnus-tut.txt %1\etc - -:done -cd .. -goto end - -:usage -echo Usage: make ^ [copy] -echo. -echo where: ^ is the directory you installed emacs in -echo eg. d:\emacs\19.34 -echo copy indicates that the compiled files should be copied to your -echo emacs lisp, info, and etc directories - -:end +@echo off + +rem Written by David Charlap + +rem There are two catches, however. The emacs.bat batch file may not exist +rem in all distributions. It is part of the Voelker build of Emacs 19.34 +rem (http://www.cs.washington.edu/homes/voelker/ntemacs.html). If the user +rem installs Gnus with some other build, he may have to replace calls to +rem %1\emacs.bat with something else. +rem +rem Also, the emacs.bat file that Voelker ships does not accept more than 9 +rem parameters, so the attempts to compile the .texi files will fail. To +rem fix that (at least on NT. I don't know about Win95), the following +rem change should be made to emacs.bat: +rem +rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 +rem +rem should become +rem +rem %emacs_dir%\bin\emacs.exe %* +rem +rem which will allow the batch file to accept an unlimited number of +rem parameters. + +if "%1" == "" goto usage + +cd lisp +call %1\bin\emacs.bat -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile +if not "%2" == "copy" goto info +copy *.el* %1\lisp + +:info +cd ..\texi +call %1\bin\emacs.bat -batch -q -no-site-file gnus.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer +call %1\bin\emacs.bat -batch -q -no-site-file message.texi -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer +if not "%2" == "copy" goto done +copy gnus %1\info +copy gnus-?? %1\info +copy message %1\info + +:etc +cd ..\etc +copy gnus-tut.txt %1\etc + +:done +cd .. +goto end + +:usage +echo Usage: make ^ [copy] +echo. +echo where: ^ is the directory you installed emacs in +echo eg. d:\emacs\19.34 +echo copy indicates that the compiled files should be copied to your +echo emacs lisp, info, and etc directories + +:end diff --git a/texi/ChangeLog b/texi/ChangeLog index 99e2d27..1310f27 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,12 @@ +1998-08-16 14:53:45 Lars Magne Ingebrigtsen + + * gnus.texi (NNTP): Reinstated. + (Asynchronous Fetching): No header prefetch. + +1998-08-15 13:01:41 Lars Magne Ingebrigtsen + + * gnus.texi (Summary Score Commands): Change. + 1998-08-14 01:31:36 Simon Josefsson * gnus.texi (Posting Styles): New 'body style. diff --git a/texi/gnus.texi b/texi/gnus.texi index ffcd6f6..1cafc50 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -6,7 +6,7 @@ @synindex vr cp @synindex pg cp @c @direntry -@c * Gnus: (gnus). The news reader Gnus. +@c * Gnus: (gnus). The newsreader Gnus. @c @end direntry @iftex @finalout @@ -1901,6 +1901,13 @@ Currently supported types are @code{babyl}, @code{mbox}, @code{digest}, this command without a prefix, Gnus will guess at the file type. @xref{Document Groups}. +@item G u +@kindex G u (Group) +@vindex gnus-useful-groups +@findex gnus-group-make-useful-group +Create one of the groups mentioned in @code{gnus-useful-groups} +(@code{gnus-group-make-useful-group}). + @item G w @kindex G w (Group) @findex gnus-group-make-web-group @@ -5238,9 +5245,9 @@ Remove articles when exiting the group. The default value is @code{(read exit)}. -@vindex gnus-use-header-prefetch -If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles -from the next group. +@c @vindex gnus-use-header-prefetch +@c If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles +@c from the next group. @node Article Caching @@ -9061,17 +9068,17 @@ waiting for reply, and then reads all the replies. This is controlled by the @code{nntp-maximum-request} variable, and is 400 by default. If your network is buggy, you should set this to 1. -@c @item nntp-connection-timeout -@c @vindex nntp-connection-timeout -@c If you have lots of foreign @code{nntp} groups that you connect to -@c regularly, you're sure to have problems with @sc{nntp} servers not -@c responding properly, or being too loaded to reply within reasonable -@c time. This is can lead to awkward problems, which can be helped -@c somewhat by setting @code{nntp-connection-timeout}. This is an integer -@c that says how many seconds the @code{nntp} backend should wait for a -@c connection before giving up. If it is @code{nil}, which is the default, -@c no timeouts are done. -@c +@item nntp-connection-timeout +@vindex nntp-connection-timeout +If you have lots of foreign @code{nntp} groups that you connect to +regularly, you're sure to have problems with @sc{nntp} servers not +responding properly, or being too loaded to reply within reasonable +time. This is can lead to awkward problems, which can be helped +somewhat by setting @code{nntp-connection-timeout}. This is an integer +that says how many seconds the @code{nntp} backend should wait for a +connection before giving up. If it is @code{nil}, which is the default, +no timeouts are done. + @c @item nntp-command-timeout @c @vindex nntp-command-timeout @c @cindex PPP connections @@ -12038,8 +12045,8 @@ Score on the subject line. @item x Score on the Xref line---i.e., the cross-posting line. -@item t -Score on thread---the References line. +@item r +Score on the References line. @item d Score on the date. @@ -12058,6 +12065,10 @@ Score on the body. @item h Score on the head. + +@item t +Score on thead. + @end table @item diff --git a/texi/message.texi b/texi/message.texi index 1fb2dfe..4888e42 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -285,6 +285,13 @@ subject. Subject of article with @samp{Fwd:} prepended to it. @end table +@item message-wash-forwarded-subjects +@vindex message-wash-forwarded-subjects +If this variable is @code{t}, the subjects of forwarded messages have +the evidence of previous forwards (such as @samp{Fwd:}, @samp{Re:}, +@samp{(fwd)}) removed before the new subject is +constructed. The default value is @code{nil}. + @end table -- 1.7.10.4