From 79293bce29378cfee88d6d24c7c784783a468bdd Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 24 Oct 2001 00:46:54 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 33 +++++++++++++++++++++++++++++++++ lisp/gnus-msg.el | 37 +++++++++++++++++++------------------ lisp/gnus.el | 35 ++++++++++++++++++----------------- texi/ChangeLog | 9 +++++++++ texi/dir | 11 +++++++++++ texi/gnus-ja.texi | 2 +- texi/gnus.texi | 2 +- 7 files changed, 92 insertions(+), 37 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b5bf879..99ca398 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,36 @@ +2001-10-23 Per Abrahamsen + + * gnus.el (gnus-news-group-p): Rewrote. Now accepts a header + vector (it didn't before because of a bug). + * gnus-msg.el (gnus-post-news): Use header vector directly, if + available. Before it converted it to an article number. + + This makes followup to news articles with negative numbers in + nnvirtual groups use news instead of mail. + +2001-10-23 Per Abrahamsen + + * gnus.el (post-method): Use `native' instead of `nil'. + + * gnus-msg.el (gnus-post-method): Ditto. + +2001-10-23 Per Abrahamsen + + * gnus.el (gnus-define-group-parameter): Grammar fix. + +2001-10-22 Simon Josefsson + + * gnus-msg.el (gnus-extended-version): Include + system-configuration. + Suggested by Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Gro,A_(Bjohann). + +2001-10-22 Per Abrahamsen + + * gnus.el (post-method): Customization fix: `native' is not a + valid value. + * gnus-msg.el (gnus-post-method): Doc and customization fix: + `native' is not a valid value. + 2001-10-21 Simon Josefsson * nnimap.el (nnimap): Defgroup diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 318a2b7..9c8c54c 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -43,20 +43,20 @@ "*Preferred method for posting USENET news. If this variable is `current' (which is the default), Gnus will use -the \"current\" select method when posting. If it is nil, Gnus will -use the native select method when posting. +the \"current\" select method when posting. If it is `native', Gnus +will use the native select method when posting. This method will not be used in mail groups and the like, only in \"real\" newsgroups. -If not nil nor `native', the value must be a valid method as discussed +If not `native' nor `current', the value must be a valid method as discussed in the documentation of `gnus-select-method'. It can also be a list of methods. If that is the case, the user will be queried for what select method to use when posting." :group 'gnus-group-foreign - :type `(choice (const nil) + :link '(custom-manual "(gnus)Posting Server") + :type `(choice (const native) (const current) - (const native) (sexp :tag "Methods" ,gnus-select-method))) (defcustom gnus-outgoing-message-group nil @@ -669,8 +669,7 @@ header line with the old Message-ID." force-news (and (gnus-news-group-p (or pgroup gnus-newsgroup-name) - (if header (mail-header-number header) - gnus-current-article)) + (or header gnus-current-article)) (not mailing-list) (not to-list) (not to-address))) @@ -722,8 +721,11 @@ If SILENT, don't prompt the user." ;; If the group-method is nil (which shouldn't happen) we use ;; the default method. ((null group-method) - (or (and (not (eq gnus-post-method 'current)) gnus-post-method) - gnus-select-method message-post-method)) + (or (and (listp gnus-post-method) ;If not current/native/nil + (not (listp (car gnus-post-method))) ; and not a list of methods + gnus-post-method) ;then use it. + gnus-select-method + message-post-method)) ;; We want the inverse of the default ((and arg (not (eq arg 0))) (if (eq gnus-post-method 'current) @@ -731,14 +733,12 @@ If SILENT, don't prompt the user." group-method)) ;; We query the user for a post method. ((or arg - (and gnus-post-method - (not (eq gnus-post-method 'current)) + (and (listp gnus-post-method) (listp (car gnus-post-method)))) (let* ((methods ;; Collect all methods we know about. (append - (when (and gnus-post-method - (not (eq gnus-post-method 'current))) + (when (listp gnus-post-method) (if (listp (car gnus-post-method)) gnus-post-method (list gnus-post-method))) @@ -778,13 +778,14 @@ If SILENT, don't prompt the user." ;; Override normal method. ((and (eq gnus-post-method 'current) (not (eq (car group-method) 'nndraft)) - (gnus-get-function group-method 'request-post t) - (not arg)) + (gnus-get-function group-method 'request-post t)) + (assert (not arg)) group-method) - ((and gnus-post-method - (not (eq gnus-post-method 'current))) + ;; Use gnus-post-method. + ((listp gnus-post-method) ;A method... + (assert (not (listp (car gnus-post-method)))) ;... not a list of methods. gnus-post-method) - ;; Use the normal select method. + ;; Use the normal select method (nil or native). (t gnus-select-method)))) diff --git a/lisp/gnus.el b/lisp/gnus.el index 5f7f346..700d760 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1,5 +1,5 @@ ;;; gnus.el --- a newsreader for GNU Emacs -;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, +;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 2001, ;; 1997, 1998, 2000, 2001 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA @@ -923,11 +923,11 @@ defaults to a proper value only if this file is byte-compiled by make.") REST is a plist of following: :type One of `bool', `list' or `nil'. :function The name of the function. -:function-document The document of the function. +:function-document The documentation of the function. :parameter-type The type for customizing the parameter. -:parameter-document The document for the parameter. +:parameter-document The documentation for the parameter. :variable The name of the variable. -:variable-document The document for the variable. +:variable-document The documentation for the variable. :variable-group The group for customizing the variable. :variable-type The type for customizing the variable. :variable-default The default value of the variable." @@ -1631,9 +1631,8 @@ posting an article." :variable-group gnus-group-foreign :parameter-type '(choice :tag "Posting Method" - (const nil) - (const current) - (const native) + (const :tag "Use native server" native) + (const :tag "Use current server" current) (list :convert-widget (lambda (widget) (list 'sexp :tag "Methods" @@ -2595,16 +2594,18 @@ that that variable is buffer-local to the summary buffers." (defun gnus-news-group-p (group &optional article) "Return non-nil if GROUP (and ARTICLE) come from a news server." - (or (gnus-member-of-valid 'post group) ; Ordinary news group. - (and (gnus-member-of-valid 'post-mail group) ; Combined group. - (if (or (null article) - (not (< article 0))) - (eq (gnus-request-type group article) 'news) - (if (not (vectorp article)) - nil - ;; It's a real article. - (eq (gnus-request-type group (mail-header-id article)) - 'news)))))) + (cond ((gnus-member-of-valid 'post group) ;Ordinary news group + t) ;is news of course. + ((not (gnus-member-of-valid 'post-mail group)) ;Non-combined. + nil) ;must be mail then. + ((vectorp article) ;Has header info. + (eq (gnus-request-type group (mail-header-id article)) 'news)) + ((null article) ;Hasn't header info + (eq (gnus-request-type group) 'news)) ;(unknown ==> mail) + ((< article 0) ;Virtual message + nil) ;we don't know, guess mail. + (t ;Has positive number + (eq (gnus-request-type group article) 'news)))) ;use it. ;; Returns a list of writable groups. (defun gnus-writable-groups () diff --git a/texi/ChangeLog b/texi/ChangeLog index 1e7496e..27c421a 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,12 @@ +2001-10-23 Per Abrahamsen + + * gnus.texi (Posting Server): Use `native' instead of `nil' for + posting to native server. + +2001-10-22 Kai Gro,A_(Bjohann + + * dir (File): Add standard explanation header. + 2001-10-21 Kai Gro,A_(Bjohann * gnus.texi (Mail Source Specifiers): Explain more explicitly what diff --git a/texi/dir b/texi/dir index 08eb94d..bb68184 100644 --- a/texi/dir +++ b/texi/dir @@ -1,7 +1,18 @@ -*- Text -*- The Gnus-related top node. + +This is the file .../info/dir, which contains the topmost node of the +Info hierarchy. The first time you invoke Info you start off +looking at that node, which is (dir)Top.  File: dir Node: Top This is the Gnus Info tree + This (the Directory node) gives a menu of major topics. + Typing "d" returns here, "q" exits, "?" lists all INFO commands, "h" + gives a primer for first-timers, "mEmacs" visits the Emacs topic, + etc. + In Emacs, you can click mouse button 2 on a menu item or cross reference + to select it. + --- PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first.) --- * Menu: diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index cfaa99f..76a4ce3 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -9697,7 +9697,7 @@ gnus $B$OEj9F$K$I$NJ}K!$r;H$&$+$r$"$J$?$K?R$M$^$9!#(B gnus $B$O>o$KEj9F$K$I$NJ}K!$r;H$&$+$r$"$J$?$K?R$M$^$9!#(B $B:G8e$K!"$"$J$?$,$$$D$G$b4pK\$NA*BrJ}K!$r;H$C$FEj9F$7$?$$$N$J$i$P!"$3$NJQ(B -$B?t$r(B @code{nil} $B$K$7$F2<$5$$!#(B +$B?t$r(B @code{native} $B$K$7$F2<$5$$!#(B @node Mail and Post @section $B%a!<%k$HEj9F(B diff --git a/texi/gnus.texi b/texi/gnus.texi index 872bc74..8ef8267 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -10206,7 +10206,7 @@ If that's the case, gnus will always prompt you for what method to use for posting. Finally, if you want to always post using the native select method, -you can set this variable to @code{nil}. +you can set this variable to @code{native}. @node Mail and Post -- 1.7.10.4