From 0898b1171635722ba0ec4eb772c3bc4281033897 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Sat, 4 Jan 2003 00:41:08 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 15 +++++++++++++++ lisp/gnus-async.el | 5 +++-- lisp/gnus-group.el | 10 +++++++++- lisp/gnus-sum.el | 4 ++++ lisp/pop3.el | 2 +- texi/ChangeLog | 8 ++++++++ texi/gnus-ja.texi | 9 ++++++--- texi/gnus.texi | 51 +++++++++++++++++++++++++++------------------------ 8 files changed, 73 insertions(+), 31 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a946a2a..e9575bf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2003-01-04 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-exit): Bind gnus-group-is-exiting-p. + (gnus-summary-read-group-1): Update group line. + (gnus-summary-exit-no-update): Update group on exit. + + * gnus-group.el (gnus-group-line-format): Add %*. + (gnus-group-line-format-alist): Ditto. + (gnus-group-insert-group-line): Set it. + (gnus-group-is-exiting-p): New variable. + (gnus-group-insert-group-line): Use it. + 2003-01-03 Teodor Zlatanov * spam.el (spam-enter-ham-BBDB, spam-BBDB-register-routine): @@ -30,6 +42,9 @@ 2003-01-03 Lars Magne Ingebrigtsen + * pop3.el (pop3-retr): Wait 500 msecs. + (pop3-read-response): Ditto. + * gnus-msg.el (gnus-setup-message): Get the evaliation order right. (gnus-inews-make-draft): New function. diff --git a/lisp/gnus-async.el b/lisp/gnus-async.el index e661658..56d8f67 100644 --- a/lisp/gnus-async.el +++ b/lisp/gnus-async.el @@ -278,13 +278,14 @@ It should return non-nil if the article is to be prefetched." (incf tries) (when (nntp-accept-process-output proc 1) (setq tries 0)) - (when (and (not nntp-have-messaged) (eq 3 tries)) + (when (and (not nntp-have-messaged) + (= tries 3)) (gnus-message 5 "Waiting for async article...") (setq nntp-have-messaged t))) (quit ;; if the user interrupted on a slow/hung connection, ;; do something friendly. - (when (< 3 tries) + (when (> tries 3) (setq gnus-async-current-prefetch-article nil)) (signal 'quit nil))) (when nntp-have-messaged diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index fe2a114..c90a678 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -143,7 +143,7 @@ list." (function-item gnus-group-sort-by-rank) (function :tag "other" nil)))) -(defcustom gnus-group-line-format "%M\%S\%p\%P\%5y: %(%g%)%l %O\n" +(defcustom gnus-group-line-format "%M\%S\%p\%P\%5y:%B%(%g%)%l %O\n" "*Format of group lines. It works along the same lines as a normal formatting string, with some simple extensions. @@ -166,6 +166,7 @@ with some simple extensions. %s Select method (string) %o Moderated group (char, \"m\") %p Process mark (char) +%B Whether a summary buffer for the group is open (char, \"*\") %O Moderated group (string, \"(m)\" or \"\") %P Topic indentation (string) %m Whether there is new(ish) mail in the group (char, \"%\") @@ -443,6 +444,7 @@ simple manner.") ;;; Internal variables +(defvar gnus-group-is-exiting-p nil) (defvar gnus-group-sort-alist-function 'gnus-group-sort-flat "Function for sorting the group buffer.") @@ -487,6 +489,7 @@ simple manner.") (?n gnus-tmp-news-method ?s) (?P gnus-group-indentation ?s) (?E gnus-tmp-group-icon ?s) + (?B gnus-tmp-summary-live ?c) (?l gnus-tmp-grouplens ?s) (?z gnus-tmp-news-method-string ?s) (?m (gnus-group-new-mail gnus-tmp-group) ?c) @@ -1400,6 +1403,11 @@ if it is a string, only list groups matching REGEXP." (zerop number) (cdr (assq 'tick gnus-tmp-marked))) ?* ? )) + (gnus-tmp-summary-live + (if (and (not gnus-group-is-exiting-p) + (gnus-buffer-live-p (gnus-summary-buffer-name + gnus-tmp-group))) + ?* ? )) (gnus-tmp-process-marked (if (member gnus-tmp-group gnus-group-marked) gnus-process-mark ? )) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 0aa56c1..11d9f6c 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3515,6 +3515,7 @@ If SHOW-ALL is non-nil, already read articles are also listed." ;; Mark this buffer as "prepared". (setq gnus-newsgroup-prepared t) (gnus-run-hooks 'gnus-summary-prepared-hook) + (gnus-group-update-group group) t))))) (defun gnus-summary-auto-select-subject () @@ -6324,6 +6325,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (gnus-async-halt-prefetch) (let* ((group gnus-newsgroup-name) (quit-config (gnus-group-quit-config gnus-newsgroup-name)) + (gnus-group-is-exiting-p t) (mode major-mode) (group-point nil) (buf (current-buffer))) @@ -6419,6 +6421,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." "Quit reading current newsgroup without updating read article info." (interactive) (let* ((group gnus-newsgroup-name) + (gnus-group-is-exiting-p t) (quit-config (gnus-group-quit-config group))) (when (or no-questions gnus-expert-user @@ -6455,6 +6458,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (gnus-configure-windows 'group 'force) ;; Clear the current group name. (setq gnus-newsgroup-name nil) + (gnus-group-update-group group) (when (equal (gnus-group-group-name) group) (gnus-group-next-unread-group 1)) (when quit-config diff --git a/lisp/pop3.el b/lisp/pop3.el index 78038c3..4df3b6c 100644 --- a/lisp/pop3.el +++ b/lisp/pop3.el @@ -291,7 +291,7 @@ Return the response string if optional second argument RETURN is non-nil." (set-buffer (process-buffer process)) (goto-char pop3-read-point) (while (not (search-forward "\r\n" nil t)) - (accept-process-output process 3) + (accept-process-output process 0 500) (goto-char pop3-read-point)) (setq match-end (point)) (goto-char pop3-read-point) diff --git a/texi/ChangeLog b/texi/ChangeLog index f63eb67..db01533 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,11 @@ +2003-01-04 Lars Magne Ingebrigtsen + + * gnus.texi (Group Line Specification): Addition. + +2003-01-03 Jesper Harder + + * gnus.texi: Fix typos. + 2003-01-02 Simon Josefsson * gnus.texi (Troubleshooting): Add. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 4a4ceb7..5099ad4 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -1877,7 +1877,7 @@ Gnus の起動に成功した後に、一番最後に実行されるフックです。 り (あのクソ) C 言語を使う人たちのため、printf の仕様とほぼ同じです。 @xref{Formatting Variables} -@samp{%M%S%5y: %(%g%)\n} という値で上記の行を生成します。 +@samp{%M%S%5y:%B%(%g%)\n} という値で上記の行を生成します。 コロンは、この行の中に必ず無くてはいけません。カーソルは、何かの操作をし た後は常にコロンのところに移動するからです。@xref{Positioning Point}。他 @@ -1946,14 +1946,17 @@ gnus がこの推定を使うのは、@sc{nntp} プロトコルは能率の良 ニュースグループの説明。 @item o -司会者付きの場合 @samp{m}. +司会者付きの場合 @samp{m}。 @item O -司会者付きの場合 @samp{(m)}. +司会者付きの場合 @samp{(m)}。 @item s 選択方法。 +@item B +そのグループの概略バッファーが開いているかどうか。 + @item n どこからの選択か。 diff --git a/texi/gnus.texi b/texi/gnus.texi index f85a5d1..2eef5c3 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1748,7 +1748,7 @@ lines of a @code{format} specification, which is pretty much the same as a @code{printf} specifications, for those of you who use (feh!) C. @xref{Formatting Variables}. -@samp{%M%S%5y: %(%g%)\n} is the value that produced those lines above. +@samp{%M%S%5y:%B%(%g%)\n} is the value that produced those lines above. There should always be a colon on the line; the cursor always moves to the colon after performing an operation. @xref{Positioning @@ -1826,6 +1826,9 @@ Newsgroup description. @item s Select method. +@item B +If the summary buffer for the group is open or not. + @item n Select from where. @@ -2763,7 +2766,7 @@ be inserted literally as a @code{gcc} header. This parameter takes precedence over any default @code{Gcc} rules as described later (@pxref{Archived Messages}). CAVEAT:: It yields an error putting @code{(gcc-self . t)} in groups of a @code{nntp} server or so, because -a @code{nntp} server doesn't accept artciles. +a @code{nntp} server doesn't accept articles. @item auto-expire @cindex auto-expire @@ -6526,7 +6529,7 @@ If non-@code{nil}, all threads will be hidden when the summary buffer is generated. This can also be a predicate specifier (@pxref{Predicate Specifiers}). -Avaliable predicates are @code{gnus-article-unread-p} and +Available predicates are @code{gnus-article-unread-p} and @code{gnus-article-unseen-p}). Here's an example: @@ -8674,7 +8677,7 @@ preferred format automatically. @cindex x-face @cindex smileys -These commands add various frivolous display gimmics to the article +These commands add various frivolous display gimmicks to the article buffer in Emacs versions that support them. @code{X-Face} headers are small black-and-white images supplied by the @@ -8918,7 +8921,7 @@ To have all Vcards be ignored, you'd say something like this: @vindex gnus-unbuttonized-mime-types This is a list of regexps. @sc{mime} types that match a regexp from this list won't have @sc{mime} buttons inserted unless they aren't -displayed or this variable is overriden by +displayed or this variable is overridden by @code{gnus-buttonized-mime-types}. The default value is @code{(".*/.*")}. @@ -10904,7 +10907,7 @@ To the thing similar to this, there is @code{message-smtpmail-send-it}. It is useful if your ISP requires the POP-before-SMTP authentication. See the documentation for the function @code{mail-source-touch-pop}. -Other possible choises for @code{message-send-mail-function} includes +Other possible choices for @code{message-send-mail-function} includes @code{message-send-mail-with-mh}, @code{message-send-mail-with-qmail}, and @code{feedmail-send-it}. @@ -13888,7 +13891,7 @@ laugh. Gnus provides a plethora of functions for washing articles while displaying them, but it might be nicer to do the filtering before -storing the mail to disc. For that purpose, we have three hooks and +storing the mail to disk. For that purpose, we have three hooks and various functions that can be put in these hooks. @table @code @@ -14454,7 +14457,7 @@ headers/status bits stuff. RMAIL itself still exists as well, of course, and is still maintained by Stallman. Both of the above forms leave your mail in a single file on your -filesystem, and they must parse that entire file each time you take a +file system, and they must parse that entire file each time you take a look at your mail. @item nnml @@ -14475,10 +14478,10 @@ extremely fast on access because of what amounts to the indexing support provided by the active file and overviews. @code{nnml} costs @dfn{inodes} in a big way; that is, it soaks up the -resource which defines available places in the filesystem to put new +resource which defines available places in the file system to put new files. Sysadmins take a dim view of heavy inode occupation within -tight, shared filesystems. But if you live on a personal machine where -the filesystem is your own and space is not at a premium, @code{nnml} +tight, shared file systems. But if you live on a personal machine where +the file system is your own and space is not at a premium, @code{nnml} wins big. It is also problematic using this back end if you are living in a @@ -14522,7 +14525,7 @@ per article, so it uses about twice as many inodes as @code{nnml}. (Use @code{df -i} to see how plentiful your inode supply is.) If this slows you down or takes up very much space, consider switching to ReiserFS (@uref{http://www.namesys.com/}) or another non-block-structured -filesystem. +file system. Since maildirs don't require locking for delivery, the maildirs you use as groups can also be the maildirs your mail is directly delivered to. @@ -14558,12 +14561,12 @@ parameters slightly different from those of other mail back ends. (It keeps in memory some of the things that @code{nnml} stores in files and that @code{nnmh} repeatedly parses out of message files.) If this is a problem for you, you can set the @code{nov-cache-size} group -parameter to somthing small (0 would probably not work, but 1 probably +parameter to something small (0 would probably not work, but 1 probably would) to make it use less memory. Startup and shutdown are likely to be slower with @code{nnmaildir} than with other back ends. Everything in between is likely to be faster, -depending in part on your filesystem. +depending in part on your file system. @code{nnmaildir} does not use @code{nnoo}, so you cannot use @code{nnoo} to write an @code{nnmaildir}-derived back end. @@ -14642,7 +14645,7 @@ to shut down Gnus, so archiving may be invoked by @code{cron} or similar. You restore the data by restoring the directory tree, and adding a server definition pointing to that directory in Gnus. The @ref{Article Backlog}, @ref{Asynchronous Fetching} and other things -might interfer with overwriting data, so you may want to shut down Gnus +might interfere with overwriting data, so you may want to shut down Gnus before you restore the data. It is also possible to archive individual @code{nnml}, @@ -14788,7 +14791,7 @@ default is @code{t}. To be able to display threads, @code{nnslashdot} has to retrieve absolutely all comments in a group upon entry. If a threaded display is not required, @code{nnslashdot} will only retrieve the comments that are actually wanted by the user. Threading is nicer, -but much, much slower than untreaded. +but much, much slower than unthreaded. @item nnslashdot-login-name @vindex nnslashdot-login-name @@ -15137,7 +15140,7 @@ program. @vindex imap-ssl-program For SSL connections, the OpenSSL program is available from @uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay, -and nnimap support it too - altough the most recent versions of +and nnimap support it too - although the most recent versions of SSLeay, 0.9.x, are known to have serious bugs making it useless. Earlier versions, especially 0.8.x, of SSLeay are known to work. The variable @code{imap-ssl-program} contain parameters to pass @@ -15179,7 +15182,7 @@ external library @code{digest-md5.el}. @item @dfn{login:} Plain-text username/password via LOGIN. @item -@dfn{anonymous:} Login as `anonymous', supplying your emailadress as password. +@dfn{anonymous:} Login as `anonymous', supplying your email address as password. @end itemize @item nnimap-expunge-on-close @@ -18282,7 +18285,7 @@ will be ignored. If you wish to add more words to be ignored, use the Some may feel that short words shouldn't count when doing adaptive scoring. If so, you may set @code{gnus-adaptive-word-length-limit} to an integer. Words shorter than this number will be ignored. This -variable defaults til @code{nil}. +variable defaults to @code{nil}. @vindex gnus-adaptive-word-syntax-table When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the @@ -19633,12 +19636,12 @@ characters---most notable East Asian countries. The problem is that when formatting, Gnus assumes that if a string is 10 characters wide, it'll be 10 Latin characters wide on the screen. In -these coutries, that's not true. +these countries, that's not true. @vindex gnus-use-correct-string-widths To help fix this, you can set @code{gnus-use-correct-string-widths} to @code{t}. This makes buffer generation slower, but the results will be -prettieer. The default value under XEmacs is @code{t} but @code{nil} +prettier. The default value under XEmacs is @code{t} but @code{nil} for Emacs. @@ -20910,7 +20913,7 @@ converts the file to X-Face format by using the @code{gnus-convert-image-to-x-face-command} shell command. Here's how you would typically use the former function. Put something -like the folllowing in your @file{.gnus.el} file: +like the following in your @file{.gnus.el} file: @lisp (setq message-required-news-headers @@ -21278,7 +21281,7 @@ spam. And here is the nifty function: A novel technique to fight spam is to require senders to do something costly for each message they send. This has the obvious drawback that you cannot rely on that everyone in the world uses this technique, -since it is not part of the internet standards, but it may be useful +since it is not part of the Internet standards, but it may be useful in smaller communities. While the tools in the previous section work well in practice, they @@ -22285,7 +22288,7 @@ format. Gnus supports both encoding (signing and encryption) and decoding (verification and decryption). @item PGP/MIME - RFC 2015/3156 -RFC 2015 (superceded by 3156 which references RFC 2440 instead of RFC +RFC 2015 (superseded by 3156 which references RFC 2440 instead of RFC 1991) describes the @sc{mime}-wrapping around the RF 1991/2440 format. Gnus supports both encoding and decoding. -- 1.7.10.4