From 0ab666127a5ad0e1e768e7827ced61902526d639 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Tue, 18 Aug 1998 14:33:12 +0000 Subject: [PATCH] Sync up with gnus-5.6.37 --- ChangeLog | 6 +++ 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 | 5 ++- lisp/nndoc.el | 16 ++++---- lisp/nntp.el | 20 ++++++++- make.bat | 114 ++++++++++++++++++++++++++-------------------------- texi/ChangeLog | 9 +++++ texi/gnus-ja.texi | 6 +-- texi/gnus.texi | 51 ++++++++++++++--------- texi/message.texi | 7 ++++ 16 files changed, 205 insertions(+), 104 deletions(-) diff --git a/ChangeLog b/ChangeLog index 12077ca..723ad58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-08-18 Tatsuya Ichikawa + + * lisp/gnus.el (gnus-version-number): Update to 6.8.13. + + * Sync up with Gnus 5.6.37. + 1998-08-16 Tatsuya Ichikawa * lisp/gnus.el (gnus-version-number): Update to 6.8.12. 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 f3409ec..9e0d6ba 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 682e3aa..a155b4d 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2786,6 +2786,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 7c2a71f..1a0666a 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -189,7 +189,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 fe15fc7..1fcba5b 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3345,9 +3345,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. @@ -4473,7 +4472,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 19b7ab4..510fb40 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -250,11 +250,11 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "6.8.12" +(defconst gnus-version-number "6.8.13" "Version number for this version of gnus.") (defconst gnus-version - (format "Semi-gnus %s (based on Gnus 5.6.36; for SEMI 1.8, FLIM 1.8/1.9)" + (format "Semi-gnus %s (based on Gnus 5.6.37; for SEMI 1.8, FLIM 1.8/1.9)" gnus-version-number) "Version string for this version of gnus.") @@ -1662,6 +1662,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-ja.texi b/texi/gnus-ja.texi index 304da6d..1c1e911 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus-ja -@settitle Semi-gnus 6.8.12 Manual +@settitle Semi-gnus 6.8.13 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -345,7 +345,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Semi-gnus 6.8.12 Manual +@title Semi-gnus 6.8.13 Manual @author by Lars Magne Ingebrigtsen @author by members of Semi-gnus mailing-list @@ -399,7 +399,7 @@ Semi-gnus $B$O!"Bg$-$J3($,F~$C$F$$$?$j$5$^$6$^$J7A<0$rMQ$$$?$j$7$F$$$k$A$g$C(B $B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O(B Unicode Next Generation$B$r(B $B$*BT$A$/$@$5$$!#(B -$B$3$N@bL@=q$O(B Semi-gnus 6.8.12 $B$KBP1~$7$^$9!#(B +$B$3$N@bL@=q$O(B Semi-gnus 6.8.13 $B$KBP1~$7$^$9!#(B @end ifinfo diff --git a/texi/gnus.texi b/texi/gnus.texi index 81b5df9..a22618c 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,12 +1,12 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Semi-gnus 6.8.12 Manual +@settitle Semi-gnus 6.8.13 Manual @synindex fn cp @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 @@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Semi-gnus 6.8.12 Manual +@title Semi-gnus 6.8.13 Manual @author by Lars Magne Ingebrigtsen @page @@ -361,7 +361,7 @@ internationalization/localization and multiscript features based on MULE API. So Semi-gnus does not discriminate various language communities. Oh, if you are a Klingon, please wait Unicode Next Generation. -This manual corresponds to Semi-gnus 6.8.12. +This manual corresponds to Semi-gnus 6.8.13. @end ifinfo @@ -1911,6 +1911,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 @@ -5250,9 +5257,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 @@ -9062,17 +9069,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 @@ -12039,8 +12046,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. @@ -12059,6 +12066,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