From: yamaoka Date: Wed, 14 May 2003 05:11:20 +0000 (+0000) Subject: Synch to the Gnus v5.10.2 release. It will be merged into the t-gnus-6_16 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8415a1b40b3e9f3245d7adaee84514c22f1a4385;p=elisp%2Fgnus.git- Synch to the Gnus v5.10.2 release. It will be merged into the t-gnus-6_16 branch. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0499206..1540485 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,50 @@ +2003-05-14 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.10.2 is released. + +2003-05-14 Lars Magne Ingebrigtsen + + * mail-source.el (mail-source-delete-incoming): Changed to t. + + * rfc2047.el (rfc2047-syntax-table): Funcall. + + * lpath.el ((featurep 'xemacs)): Added set-char-table-range. + ((featurep 'xemacs)): No, don't. + + * rfc2047.el (rfc2047-encodable-p): Use the header charset. + + * gnus-sum.el (gnus-summary-reselect-current-group): Supply + leave-hidden. + +2003-05-14 Jonathan Kamens + + * gnus-sum.el (gnus-summary-exit): Added `leave-hidden'. (Tiny + patch.) + +2003-05-13 Lars Magne Ingebrigtsen + + * gnus-registry.el (gnus-registry-store-extra-entry): Use + gnus-assq-delete-all. + + * gnus-xmas.el (gnus-xmas-assq-delete-all): New function. + + * message.el (message-ignored-bounced-headers): Add Delivered-To. + + * gnus-sum.el (gnus-summary-find-next): Indent. + (gnus-summary-find-prev): Ditto. + (gnus-summary-catchup): Doc fix. + (gnus-summary-mark-current-read-and-unread-as-read): New function. + (gnus-summary-catchup): Really mark after point. + + * gnus-util.el (gnus-user-date): Use %d instead of %m. + (gnus-user-date): Use floating point time so that we don't get + overflows. + + * gnus-sum.el (gnus-summary-local-variables): Clean up. + + * gnus-fun.el (gnus-display-x-face-in-from): Don't use centering + since none of the other image things do. + 2003-05-13 Katsumi Yamaoka * dgnushack.el (assq-delete-all): New compiler macro for Emacs 20. diff --git a/lisp/gnus-fun.el b/lisp/gnus-fun.el index 8791640..a174779 100644 --- a/lisp/gnus-fun.el +++ b/lisp/gnus-fun.el @@ -190,9 +190,9 @@ colors of the displayed X-Faces." (if (gnus-image-type-available-p 'xface) (gnus-create-image (concat "X-Face: " data) - 'xface t :ascent 'center :face 'gnus-x-face) + 'xface t :face 'gnus-x-face) (gnus-create-image - pbm 'pbm t :ascent 'center :face 'gnus-x-face)))) + pbm 'pbm t :face 'gnus-x-face)))) (gnus-add-wash-type 'xface)))))) (defun gnus-grab-cam-x-face () diff --git a/lisp/gnus-registry.el b/lisp/gnus-registry.el index 606317c..e97b1e4 100644 --- a/lisp/gnus-registry.el +++ b/lisp/gnus-registry.el @@ -300,7 +300,7 @@ The message must have at least one group name." "Put a specific entry in the extras field of the registry entry for id." (let* ((extra (gnus-registry-fetch-extra id)) (alist (cons (cons key value) - (assq-delete-all key (gnus-registry-fetch-extra id))))) + (gnus-assq-delete-all key (gnus-registry-fetch-extra id))))) (gnus-registry-store-extra id alist))) (defun gnus-registry-fetch-group (id) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 7ebf459..9619691 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -6098,7 +6098,8 @@ If EXCLUDE-GROUP, do not go to this group." (gnus-group-best-unread-group exclude-group)))) (defun gnus-summary-find-next (&optional unread article backward) - (if backward (gnus-summary-find-prev unread article) + (if backward + (gnus-summary-find-prev unread article) (let* ((dummy (gnus-summary-article-intangible-p)) (article (or article (gnus-summary-article-number))) (data (gnus-data-find-list article)) @@ -6113,14 +6114,18 @@ If EXCLUDE-GROUP, do not go to this group." (progn (while data (unless (memq (gnus-data-number (car data)) - (cond ((eq gnus-auto-goto-ignores 'always-undownloaded) - gnus-newsgroup-undownloaded) - (gnus-plugged - nil) - ((eq gnus-auto-goto-ignores 'unfetched) - gnus-newsgroup-unfetched) - ((eq gnus-auto-goto-ignores 'undownloaded) - gnus-newsgroup-undownloaded))) + (cond + ((eq gnus-auto-goto-ignores + 'always-undownloaded) + gnus-newsgroup-undownloaded) + (gnus-plugged + nil) + ((eq gnus-auto-goto-ignores + 'unfetched) + gnus-newsgroup-unfetched) + ((eq gnus-auto-goto-ignores + 'undownloaded) + gnus-newsgroup-undownloaded))) (when (gnus-data-unread-p (car data)) (setq result (car data) data nil))) @@ -6145,14 +6150,18 @@ If EXCLUDE-GROUP, do not go to this group." (progn (while data (unless (memq (gnus-data-number (car data)) - (cond ((eq gnus-auto-goto-ignores 'always-undownloaded) - gnus-newsgroup-undownloaded) - (gnus-plugged - nil) - ((eq gnus-auto-goto-ignores 'unfetched) - gnus-newsgroup-unfetched) - ((eq gnus-auto-goto-ignores 'undownloaded) - gnus-newsgroup-undownloaded))) + (cond + ((eq gnus-auto-goto-ignores + 'always-undownloaded) + gnus-newsgroup-undownloaded) + (gnus-plugged + nil) + ((eq gnus-auto-goto-ignores + 'unfetched) + gnus-newsgroup-unfetched) + ((eq gnus-auto-goto-ignores + 'undownloaded) + gnus-newsgroup-undownloaded))) (when (gnus-data-unread-p (car data)) (setq result (car data) data nil))) @@ -6387,7 +6396,7 @@ The prefix argument ALL means to select all articles." (let ((current-subject (gnus-summary-find-for-reselect)) (group gnus-newsgroup-name)) (setq gnus-newsgroup-begin nil) - (gnus-summary-exit) + (gnus-summary-exit nil 'leave-hidden) ;; We have to adjust the point of group mode buffer because ;; point was moved to the next unread newsgroup by exiting. (gnus-summary-jump-to-group group) @@ -6453,7 +6462,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (gnus-save-newsrc-file) (gnus-dribble-save))) -(defun gnus-summary-exit (&optional temporary) +(defun gnus-summary-exit (&optional temporary leave-hidden) "Exit reading current newsgroup, and then return to group selection mode. `gnus-exit-group-hook' is called with no arguments if that value is non-nil." (interactive) @@ -6536,11 +6545,14 @@ If FORCE (the prefix), also save the .newsrc file(s)." (when (eq mode 'gnus-summary-mode) (gnus-kill-buffer buf))) (setq gnus-current-select-method gnus-select-method) - (pop-to-buffer gnus-group-buffer) + (if leave-hidden + (set-buffer gnus-group-buffer) + (pop-to-buffer gnus-group-buffer)) (if (not quit-config) (progn (goto-char group-point) - (gnus-configure-windows 'group 'force) + (unless leave-hidden + (gnus-configure-windows 'group 'force)) (unless (pos-visible-in-window-p) (forward-line (/ (static-if (featurep 'xemacs) (window-displayed-height) @@ -10119,6 +10131,14 @@ The difference between N and the number of marks cleared is returned." (gnus-summary-mark-article gnus-current-article (or new-mark gnus-read-mark))))) +(defun gnus-summary-mark-current-read-and-unread-as-read (&optional new-mark) + "Intended to be used by `gnus-summary-mark-article-hook'." + (let ((mark (gnus-summary-article-mark))) + (when (or (gnus-unread-mark-p mark) + (gnus-read-mark-p mark)) + (gnus-summary-mark-article (gnus-summary-article-number) + (or new-mark gnus-read-mark))))) + (defun gnus-summary-mark-unread-as-ticked () "Intended to be used by `gnus-summary-mark-article-hook'." (when (memq gnus-current-article gnus-newsgroup-unreads) @@ -10221,10 +10241,14 @@ even ticked and dormant ones." If prefix argument ALL is non-nil, ticked and dormant articles will also be marked as read. If QUIETLY is non-nil, no questions will be asked. + If TO-HERE is non-nil, it should be a point in the buffer. All -articles before (after, if REVERSE is set) this point will be marked as read. +articles before (after, if REVERSE is set) this point will be marked +as read. + Note that this function will only catch up the unread article in the current summary buffer limitation. + The number of articles marked as read is returned." (interactive "P") (prog1 @@ -10258,7 +10282,8 @@ The number of articles marked as read is returned." (if (and to-here reverse) (progn (goto-char to-here) - (gnus-summary-mark-read-and-unread-as-read gnus-catchup-mark) + (gnus-summary-mark-current-read-and-unread-as-read + gnus-catchup-mark) (while (gnus-summary-find-next (not all)) (gnus-summary-mark-article-as-read gnus-catchup-mark))) (when (gnus-summary-first-subject (not all)) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 46a7094..8c3f2c0 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -361,6 +361,7 @@ ;; age-depending date representations. (e.g. just the time if it's ;; from today, the day of the week if it's within the last 7 days and ;; the full date if it's older) + (defun gnus-seconds-today () "Returns the number of seconds passed today" (let ((now (decode-time (current-time)))) @@ -408,26 +409,21 @@ respectively.") Returns \" ? \" if there's bad input or if an other error occurs. Input should look like this: \"Sun, 14 Oct 2001 13:34:39 +0200\"." (condition-case () - (let* ((messy-date (safe-date-to-time messy-date)) - (now (current-time)) + (let* ((messy-date (time-to-seconds (safe-date-to-time messy-date))) + (now (time-to-seconds (current-time))) ;;If we don't find something suitable we'll use this one - (my-format "%b %m '%y") - (high (lsh (- (car now) (car messy-date)) 16))) - (if (and (> high -1) (= (logand high 65535) 0)) - ;;overflow and bad input - (let* ((difference (+ high (- (car (cdr now)) - (car (cdr messy-date))))) - (templist gnus-user-date-format-alist) - (top (eval (caar templist)))) - (while (if (numberp top) (< top difference) (not top)) - (progn - (setq templist (cdr templist)) - (setq top (eval (caar templist))))) - (if (stringp (cdr (car templist))) - (setq my-format (cdr (car templist)))))) - (format-time-string (eval my-format) messy-date)) + (my-format "%b %d '%y")) + (let* ((difference (- now messy-date)) + (templist gnus-user-date-format-alist) + (top (eval (caar templist)))) + (while (if (numberp top) (< top difference) (not top)) + (progn + (setq templist (cdr templist)) + (setq top (eval (caar templist))))) + (if (stringp (cdr (car templist))) + (setq my-format (cdr (car templist))))) + (format-time-string (eval my-format) (seconds-to-time messy-date))) (error " ? "))) -;;end of Frank's code (defun gnus-dd-mmm (messy-date) "Return a string like DD-MMM from a big messy string." diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index 7fa13d7..0cdf905 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -391,6 +391,7 @@ call it with the value of the `gnus-data' text property." (defalias 'gnus-put-text-property 'gnus-xmas-put-text-property) (defalias 'gnus-deactivate-mark 'ignore) (defalias 'gnus-window-edges 'window-pixel-edges) + (defalias 'gnus-assq-delete-all 'gnus-xmas-assq-delete-all) (if (and (<= emacs-major-version 19) (< emacs-minor-version 14)) @@ -962,6 +963,12 @@ Warning: Don't insert text immediately after the image." `(open-network-stream ,name ,buffer ,host ,service ,protocol) `(open-network-stream ,name ,buffer ,host ,service))) +(defun gnus-xmas-assq-delete-all (key alist) + (let ((elem nil)) + (while (setq elem (assq key alist)) + (setq alist (delq elem alist))) + alist)) + (provide 'gnus-xmas) ;;; gnus-xmas.el ends here diff --git a/lisp/gnus.el b/lisp/gnus.el index b0c4620..7871025 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -318,6 +318,7 @@ be set in `.emacs' instead." (defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window) (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names) (defalias 'gnus-character-to-event 'identity) + (defalias 'gnus-assq-delete-all 'assq-delete-all) (defalias 'gnus-add-text-properties 'add-text-properties) (defalias 'gnus-put-text-property 'put-text-property) (defvar gnus-mode-line-image-cache t) diff --git a/lisp/mail-source.el b/lisp/mail-source.el index 11e7f3a..4d34f30 100644 --- a/lisp/mail-source.el +++ b/lisp/mail-source.el @@ -261,7 +261,7 @@ If non-nil, this maildrop will be checked periodically for new mail." :group 'mail-source :type 'integer) -(defcustom mail-source-delete-incoming nil +(defcustom mail-source-delete-incoming t "*If non-nil, delete incoming files after handling. If t, delete immediately, if nil, never delete. If a positive number, delete files older than number of days." diff --git a/lisp/message.el b/lisp/message.el index af7a421..4788d14 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -177,7 +177,8 @@ If this variable is nil, no such courtesy message will be added." :group 'message-sending :type 'string) -(defcustom message-ignored-bounced-headers "^\\(Received\\|Return-Path\\):" +(defcustom message-ignored-bounced-headers + "^\\(Received\\|Return-Path\\|Delivered-To\\):" "*Regexp that matches headers to be removed in resent bounced mail." :group 'message-interface :type 'regexp) diff --git a/lisp/rfc2047.el b/lisp/rfc2047.el index 968d51a..fca8a12 100644 --- a/lisp/rfc2047.el +++ b/lisp/rfc2047.el @@ -255,7 +255,8 @@ The buffer may be narrowed." (require 'message) ; for message-posting-charset (let ((charsets (mm-find-mime-charset-region (point-min) (point-max)))) - (and charsets (not (equal charsets (list message-posting-charset)))))) + (and charsets + (not (equal charsets (list (car message-posting-charset))))))) ;; Use this syntax table when parsing into regions that may need ;; encoding. Double quotes are string delimiters, backslash is @@ -271,7 +272,8 @@ The buffer may be narrowed." ;; Play safe and don't assume the form of the word syntax entry -- ;; copy it from ?a. (if (fboundp 'set-char-table-range) ; Emacs - (set-char-table-range table t (aref (standard-syntax-table) ?a)) + (funcall (intern "set-char-table-range") + table t (aref (standard-syntax-table) ?a)) (if (fboundp 'put-char-table) (if (fboundp 'get-char-table) ; warning avoidance (put-char-table t (get-char-table ?a (standard-syntax-table)) diff --git a/texi/ChangeLog b/texi/ChangeLog index 6b7f106..e351903 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,14 @@ +2003-05-13 Lars Magne Ingebrigtsen + + * gnus.texi (Anti-Spam Basics): Removed mention of gnus-junk. + +2003-05-13 Jesper Harder + + * gnus.texi (Agent Variables, Score File Format) + (Troubleshooting, Editing IMAP ACLs, Conformity): a -> an. + + * message.texi (Insertion Variables): do. + 2003-05-13 Simon Josefsson * gnus.texi (IMAP, Agent and IMAP, Oort Gnus): s/a/an/. Tiny diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index bb38143..d25d8e7 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -21381,13 +21381,6 @@ Spam に対処する一つの方法は、gnus に全ての spam を @samp{spam} ると思っているなら、それぞれの押し付け宣伝メールの関係当局に苦情を送り付 けることさえもできます --- 暇なときにでもね。 -また、あなたが怠け者のネットワーク市民でもあるなら、 -@file{gnus-junk.el} パッケージによって自動的に苦情をいう方が良いと思うか -もしれません。これ -は @* @uref{http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html} か -ら「無料で」利用できます。ほとんどの spam メールは自動的に送られているの -で、ちょっとだけ宇宙のバランスがとれるかもしれません。 - これで私のところでは動いています。これでみんなは簡単な方法で私に連絡を取 ることができ (普通に @kbd{r} を押すだけでできる)、私は spam に煩わされる ことは全くありません。得々状態です。私の意見としては、@code{From} ヘッダー @@ -22964,7 +22957,7 @@ Message Mode は受信者に開封確認を要求することができます。 @cindex RFC 1991 @cindex RFC 2440 RFC 1991 is the original @acronym{PGP} message specification, -published as a Information RFC. RFC 2440 was the follow-up, now +published as an informational RFC. RFC 2440 was the follow-up, now called Open PGP, and put on the Standards Track. Both document a non-@acronym{MIME} aware @acronym{PGP} format. Gnus supports both encoding (signing and encryption) and decoding (verification and diff --git a/texi/gnus.texi b/texi/gnus.texi index 6e1fa4d..e7eabb3 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -16265,8 +16265,8 @@ limiting (or enabling) other users access to your mail boxes. Not all @acronym{IMAP} servers support this, this function will give an error if it doesn't. -To edit a ACL for a mailbox, type @kbd{G l} -(@code{gnus-group-edit-nnimap-acl}) and you'll be presented with a ACL +To edit an ACL for a mailbox, type @kbd{G l} +(@code{gnus-group-edit-nnimap-acl}) and you'll be presented with an ACL editing window with detailed instructions. Some possible uses: @@ -18277,7 +18277,7 @@ see any cycling. @item gnus-server-unopen-status @vindex gnus-server-unopen-status -Perhaps not a Agent variable, but closely related to the Agent, this +Perhaps not an Agent variable, but closely related to the Agent, this variable says what will happen if Gnus cannot open a server. If the Agent is enabled, the default, @code{nil}, makes Gnus ask the user whether to deny the server or whether to unplug the agent. If the @@ -18287,7 +18287,7 @@ is only valid if the Agent is used. @item gnus-auto-goto-ignores @vindex gnus-auto-goto-ignores -Another variable that isn't a Agent variable, yet so closely related +Another variable that isn't an Agent variable, yet so closely related that most will look for it here, this variable tells the summary buffer how to maneuver around undownloaded (only headers stored in the agent) and unfetched (neither article nor headers stored) articles. @@ -18947,7 +18947,7 @@ final ``header'' you can score on is @code{Followup}. These score entries will result in new score entries being added for all follow-ups to articles that matches these score entries. -Following this key is a arbitrary number of score entries, where each +Following this key is an arbitrary number of score entries, where each score entry has one to four elements. @enumerate @@ -22039,12 +22039,6 @@ check for legitimate mail, though. If you feel like being a good net citizen, you can even send off complaints to the proper authorities on each unsolicited commercial email---at your leisure. -If you are also a lazy net citizen, you will probably prefer complaining -automatically with the @file{gnus-junk.el} package, available FOR FREE -at @* @uref{http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html}. -Since most e-mail spam is sent automatically, this may reconcile the -cosmic balance somewhat. - This works for me. It allows people an easy way to contact me (they can just press @kbd{r} in the usual way), and I'm not bothered at all with spam. It's a win-win situation. Forging @code{From} headers to point @@ -23619,7 +23613,7 @@ Message Mode is able to request notifications from the receiver. @cindex RFC 1991 @cindex RFC 2440 RFC 1991 is the original @acronym{PGP} message specification, -published as a Information RFC. RFC 2440 was the follow-up, now +published as an informational RFC. RFC 2440 was the follow-up, now called Open PGP, and put on the Standards Track. Both document a non-@acronym{MIME} aware @acronym{PGP} format. Gnus supports both encoding (signing and encryption) and decoding (verification and @@ -25841,7 +25835,7 @@ evaluate expressions using @kbd{M-:} or inspect variables using @cindex elp @cindex profile @cindex slow -Sometimes, a problem do not directly generate a elisp error but +Sometimes, a problem do not directly generate an elisp error but manifests itself by causing Gnus to be very slow. In these cases, you can use @kbd{M-x toggle-debug-on-quit} and press @kbd{C-g} when things are slow, and then try to analyze the backtrace (repeating the procedure diff --git a/texi/message.texi b/texi/message.texi index d8ea1b9..3ea2bbe 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1757,7 +1757,7 @@ is @samp{> }. @cindex yanking @cindex cited @cindex quoting -When yanking text from a article which contains no text or already +When yanking text from an article which contains no text or already cited text, each line will be prefixed with the contents of this variable. The default is @samp{>}. See also @code{message-yank-prefix}.