From d5c76a088ce7de15a4e41960dcd80d0f7eff31eb Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 9 Apr 2001 02:49:56 +0000 Subject: [PATCH] * gnus-vers.el (gnus-revision-number): Increment to 10. Synch with Oort Gnus. --- ChangeLog | 4 ++++ lisp/ChangeLog | 23 +++++++++++++++++++++++ lisp/gnus-art.el | 46 +++++++++++++++++++++++++++++++++++++++++++--- lisp/gnus-group.el | 8 ++++++-- lisp/gnus-sum.el | 4 +++- lisp/gnus-vers.el | 2 +- texi/ChangeLog | 8 ++++++++ texi/gnus-ja.texi | 10 +++++++--- texi/gnus.texi | 12 ++++++++---- 9 files changed, 103 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index b34fcef..f820771 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-04-09 Katsumi Yamaoka + + * lisp/gnus-vers.el (gnus-revision-number): Increment to 10. + 2001-04-03 TSUCHIYA Masatoshi * lisp/nnshimbun.el (nnshimbun-type-definition: Follow changes in diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d2c846d..327b2b6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,28 @@ +2001-04-09 03:55:09 Katsumi Yamaoka + + * gnus-start.el (gnus-read-newsrc-el-file): Work with Semi-gnus. + +2001-04-05 21:43:25 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-update-summary-mark-positions): Use a valid + date. + +2001-04-04 16:13:17 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-quit): Check that the dribble buffer + lives. + 2001-04-02 00:40:12 Lars Magne Ingebrigtsen + * gnus-art.el (gnus-parse-news-url): New function. + (gnus-button-handle-news): New function. + (gnus-button-alist): Point to new functions. + + * gnus-group.el (gnus-group-quit): Only mark buffer in non-empty. + + * gnus-start.el (gnus-read-newsrc-el-file): Nix out + gnus-format-specs. + * message.el (message-check-news-header-syntax): Question even when Gnus doesn't know the group names. (message-send-news): Clean up. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 8928a7d..927592b 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -5165,9 +5165,10 @@ after replacing with the original article." :type 'regexp) (defcustom gnus-button-alist - `(("<\\(url:[>\n\t ]*?\\)?news:[>\n\t ]*\\([^>\n\t ]*@[^>\n\t ]*\\)>" - 0 t gnus-button-message-id 2) - ("\\bnews:\\([^>\n\t ]*@[^>)!;:,\n\t ]*\\)" 0 t gnus-button-message-id 1) + `(("<\\(url:[>\n\t ]*?\\)?\\(nntp\\|news\\):[>\n\t ]*\\([^>\n\t ]*@[^>\n\t ]*\\)>" + 0 t gnus-button-handle-news 3) + ("\\b\\(nntp\\|news\\):\\([^>\n\t ]*@[^>)!;:,\n\t ]*\\)" 0 t + gnus-button-handle-news 2) ("\\(\\b<\\(url:[>\n\t ]*\\)?news:[>\n\t ]*\\(//\\)?\\([^>\n\t ]*\\)>\\)" 1 t gnus-button-fetch-group 4) @@ -5553,6 +5554,45 @@ specified by `gnus-button-alist'." (gnus-message 1 "You must define `%S' to use this button" (cons fun args))))))) +(defun gnus-parse-news-url (url) + (let (scheme server group message-id articles) + (with-temp-buffer + (insert url) + (goto-char (point-min)) + (when (looking-at "\\([A-Za-z]+\\):") + (setq scheme (match-string 1)) + (goto-char (match-end 0))) + (when (looking-at "//\\([^/]+\\)/") + (setq server (match-string 1)) + (goto-char (match-end 0))) + + (cond + ((looking-at "\\(.*@.*\\)") + (setq message-id (match-string 1))) + ((looking-at "\\([^/]+\\)/\\([-0-9]+\\)") + (setq group (match-string 1) + articles (split-string (match-string 2) "-"))) + ((looking-at "\\([^/]+\\)/?") + (setq group (match-string 1))) + (t + (error "Unknown news URL syntax")))) + (list scheme server group message-id articles))) + +(defun gnus-button-handle-news (url) + "Fetch a news URL." + (destructuring-bind (scheme server group message-id articles) + (gnus-parse-news-url url) + (cond + (message-id + (save-excursion + (set-buffer gnus-summary-buffer) + (if server + (let ((gnus-refer-article-method (list (list 'nntp server)))) + (gnus-summary-refer-article message-id)) + (gnus-summary-refer-article message-id)))) + (group + (gnus-button-fetch-group url))))) + (defun gnus-button-message-id (message-id) "Fetch MESSAGE-ID." (save-excursion diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 6a8d9bd..c9eb427 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -3707,8 +3707,12 @@ The hook `gnus-exit-gnus-hook' is called before actually exiting." (file-name-nondirectory gnus-current-startup-file)))) (gnus-run-hooks 'gnus-exit-gnus-hook) (gnus-configure-windows 'group t) - (gnus-dribble-enter - ";;; Gnus was exited on purpose without saving the .newsrc files.") + (when (and (gnus-buffer-live-p gnus-dribble-buffer) + (not (zerop (save-excursion + (set-buffer gnus-dribble-buffer) + (buffer-size))))) + (gnus-dribble-enter + ";;; Gnus was exited on purpose without saving the .newsrc files.")) (gnus-dribble-save) (gnus-close-backends) (gnus-clear-system) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index a0358ff..e65f079 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -2805,7 +2805,9 @@ buffer that was in action when the last article was fetched." (let ((gnus-summary-line-format-spec spec) (gnus-newsgroup-downloadable '((0 . t)))) (gnus-summary-insert-line - (make-full-mail-header 0 "" "nobody" "" "" "" 0 0 "" nil) + (make-full-mail-header 0 "" "nobody" + "05 Apr 2001 23:33:09 +0400" + "" "" 0 0 "" nil) 0 nil 128 t nil "" nil 1) (goto-char (point-min)) (setq pos (list (cons 'unread (and (search-forward "\200" nil t) diff --git a/lisp/gnus-vers.el b/lisp/gnus-vers.el index 113952e..fc2187d 100644 --- a/lisp/gnus-vers.el +++ b/lisp/gnus-vers.el @@ -34,7 +34,7 @@ (require 'product) (provide 'gnus-vers) -(defconst gnus-revision-number "09" +(defconst gnus-revision-number "10" "Revision number for this version of gnus.") ;; Product information of this gnus. diff --git a/texi/ChangeLog b/texi/ChangeLog index 92c08b0..9e0f09a 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,11 @@ +2001-04-07 Ryan Yeske + + * gnus.texi (Splitting in IMAP): Fix. + +2001-04-07 Jesper Harder + + * gnus.texi (More Threading): Fix. + 2001-04-01 00:32:46 Lars Magne Ingebrigtsen * gnus.texi (S): Renamed. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index af35b59..8ca6eac 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -5752,8 +5752,8 @@ gnus $B$OA4$F$N5-;v$N40A4$J(B @code{References} $BMs$r8+$F!"F1$8%9%l%C%I$KB0$ @item gnus-thread-ignore-subject @vindex gnus-thread-ignore-subject $B;~!9!"C/$+$,%9%l%C%I$N??Cf$GI=Bj$rJQ99$9$k$3$H$,$"$j$^$9!#$b$7$3$NJQ?t(B -$B$,(B @code{nil} $B$G$J$$$H!"I=Bj$NJQ99$OL5;k$5$l$^$9!#$b$7(B @code{nil} $B$@$H!"(B -$B$3$l$,%G%#%U%)%k%H$G$9$,!"I=Bj$NJQ99$r$9$k$HJL$N%9%l%C%I$K$J$j$^$9!#(B +$B$,(B @code{nil} $B$G$J$$$H!"$3$l$,%G%#%U%)%k%H$G$9$,!"I=Bj$NJQ99$OL5;k$5$l$^(B +$B$9!#$b$7(B @code{nil} $B$@$H!"I=Bj$NJQ99$r$9$k$HJL$N%9%l%C%I$K$J$j$^$9!#(B @item gnus-thread-indent-level @vindex gnus-thread-indent-level @@ -11387,6 +11387,7 @@ www.my-deja.com $B$J$I$N%&%'%V%a!<%k%5!<%P!<$+$i%a!<%k$rA4$F$N$b$N$r(B INBOX.private $B$KF~$l$^$9!#(B +$B$r(B INBOX.junk $B$KF~$l!"$=$NB>A4$F$N$b$N$r(B INBOX.private $B$KF~$l$^$9!#(B $B:G=i$NJ8;zNs$O!"(Breplace-match $B$G9gCW$7$?%F%-%9%H$+$iI{I=8=$rA^F~$9$k$H$-(B $B$K;HMQ$5$l$k$N$HF1$8$h$&$J!"(B`\\1' $B7A<0$r4^$`$3$H$,$G$-$^$9!#Nc$($P(B: diff --git a/texi/gnus.texi b/texi/gnus.texi index 37cb613..3d27a19 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -5822,9 +5822,9 @@ will be hidden. @item gnus-thread-ignore-subject @vindex gnus-thread-ignore-subject Sometimes somebody changes the subject in the middle of a thread. If -this variable is non-@code{nil}, the subject change is ignored. If it -is @code{nil}, which is the default, a change in the subject will result -in a new thread. +this variable is non-@code{nil}, which is the default, the subject +change is ignored. If it is @code{nil}, a change in the subject will +result in a new thread. @item gnus-thread-indent-level @vindex gnus-thread-indent-level @@ -11887,6 +11887,7 @@ a list, and the first element is @code{:}, then the second element will be called as a function with @var{args} given as arguments. The function should return a @var{split}. +@cindex body split For instance, the following function could be used to split based on the body of the messages: @@ -11899,6 +11900,9 @@ body of the messages: "string.group"))) @end lisp +The @samp{" *nnmail incoming*"} is narrowed to the message in question +when the @code{:} function is run. + @item @code{(! @var{func} @var{split})}: If the split is a list, and the first element is @code{!}, then SPLIT will be processed, and FUNC will be @@ -14180,7 +14184,7 @@ Neither did I, we need examples. This will put all articles from the nnimap mailing list into mailbox INBOX.nnimap, all articles containing MAKE MONEY in the Subject: line -into INBOX.spam and everything else in INBOX.private. +into INBOX.junk and everything else in INBOX.private. The first string may contain `\\1' forms, like the ones used by replace-match to insert sub-expressions from the matched text. For -- 1.7.10.4