From 4d9db491a079712aeaf92ae3c63aebc56398b17e Mon Sep 17 00:00:00 2001 From: Gnus developers Date: Sat, 20 Aug 2011 00:20:39 +0000 Subject: [PATCH] Merge changes made in Gnus trunk. nnimap.el (nnimap-transform-headers): Protect against (NIL ...) bodystructures (bug#9314). starttls.el (starttls-any-program-available): Define as obsolete function. gnus-util.el (gnus-y-or-n-p): Reinstate the message-clearing y-or-n-p versions which Gnus use when appropriate. gnus-group.el (gnus-group-clear-data): Add a y-or-n query, since it's a pretty destructive command. nnmail.el (nnmail-extra-headers): Clarify slightly (bug#9302). message.el (message-fix-before-sending): Make a different warning about NUL characters (bug#9270). gnus-sum.el (gnus-auto-select-subject): Allow specifying a function from custom (bug#9260). --- lisp/gnus/ChangeLog | 26 ++++++++++++++++++ lisp/gnus/gnus-group.el | 15 ++++++----- lisp/gnus/gnus-sum.el | 3 ++- lisp/gnus/gnus-util.el | 59 ++++++----------------------------------- lisp/gnus/message.el | 8 ++++-- lisp/gnus/nnimap.el | 3 ++- lisp/gnus/nnmail.el | 4 ++- lisp/gnus/starttls.el | 4 +++ 8 files changed, 59 insertions(+), 63 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 64ac50fe8f0..52ed08a84db 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2011-08-19 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-transform-headers): Protect against (NIL ...) + bodystructures (bug#9314). + 2011-08-19 Katsumi Yamaoka * gnus-art.el (gnus-insert-mime-button, gnus-mime-display-alternative): @@ -12,8 +17,29 @@ `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't available anymore. +2011-08-12 Simon Josefsson + + * starttls.el (starttls-any-program-available): Define as obsolete + function. + +2011-08-18 Lars Magne Ingebrigtsen + + * gnus-util.el (gnus-y-or-n-p): Reinstate the message-clearing y-or-n-p + versions which Gnus use when appropriate. + + * gnus-group.el (gnus-group-clear-data): Add a y-or-n query, since it's + a pretty destructive command. + + * nnmail.el (nnmail-extra-headers): Clarify slightly (bug#9302). + 2011-08-17 Lars Magne Ingebrigtsen +p * message.el (message-fix-before-sending): Make a different warning + about NUL characters (bug#9270). + + * gnus-sum.el (gnus-auto-select-subject): Allow specifying a function + from custom (bug#9260). + * gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make things work in Emacs 22 and XEmacs, too. diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 2a31ccd34f0..5ae29053b6f 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -3471,13 +3471,14 @@ sort in reverse order." "Clear all marks and read ranges from the current group. Obeys the process/prefix convention." (interactive "P") - (gnus-group-iterate arg - (lambda (group) - (let (info) - (gnus-info-clear-data (setq info (gnus-get-info group))) - (gnus-get-unread-articles-in-group info (gnus-active group) t) - (when (gnus-group-goto-group group) - (gnus-group-update-group-line)))))) + (when (gnus-y-or-n-p "Really clear data? ") + (gnus-group-iterate arg + (lambda (group) + (let (info) + (gnus-info-clear-data (setq info (gnus-get-info group))) + (gnus-get-unread-articles-in-group info (gnus-active group) t) + (when (gnus-group-goto-group group) + (gnus-group-update-group-line))))))) (defun gnus-group-clear-data-on-native-groups () "Clear all marks and read ranges from all native groups." diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index cd4699e6107..73ecffb090e 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -375,7 +375,8 @@ place point on some subject line." (const unread) (const first) (const unseen) - (const unseen-or-unread))) + (const unseen-or-unread) + (function :tag "Function to call"))) (defcustom gnus-auto-select-next t "*If non-nil, offer to go to the next group from the end of the previous. diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 7155c7f9607..03ff4a2ea4b 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -388,57 +388,14 @@ TIME defaults to the current time." (define-key keymap key (pop plist)) (pop plist))))) -;; Two silly functions to ensure that all `y-or-n-p' questions clear -;; the echo area. -;; -;; Do we really need these functions? Workarounds for bugs in the corresponding -;; Emacs functions? Maybe these bugs are no longer present in any supported -;; (X)Emacs version? Alias them to the original functions and see if anyone -;; reports a problem. If not, replace with original functions. --rsteib, -;; 2007-12-14 -;; -;; All supported Emacsen clear the echo area after `yes-or-no-p', so we can -;; remove `yes-or-no-p'. RMS says that not clearing after `y-or-n-p' is -;; intentional (see below), so we could remove `gnus-y-or-n-p' too. -;; Objections? --rsteib, 2008-02-16 -;; -;; ,----[ http://thread.gmane.org/gmane.emacs.gnus.general/65099/focus=66070 ] -;; | From: Richard Stallman -;; | Subject: Re: Do we need gnus-yes-or-no-p and gnus-y-or-n-p? -;; | To: Katsumi Yamaoka [...] -;; | Cc: emacs-devel@[...], xemacs-beta@[...], ding@[...] -;; | Date: Mon, 07 Jan 2008 12:16:05 -0500 -;; | Message-ID: -;; | -;; | The behavior of `y-or-n-p' that it doesn't clear the question -;; | and the answer is not serious of course, but I feel it is not -;; | cool. -;; | -;; | It is intentional. -;; | -;; | Currently, it is commented out in the trunk by Reiner Steib. He -;; | also wrote the benefit of leaving the question and the answer in -;; | the echo area as follows: -;; | -;; | (http://article.gmane.org/gmane.emacs.gnus.general/66061) -;; | > In contrast to yes-or-no-p it is much easier to type y, n, -;; | > SPC, DEL, etc accidentally, so it might be useful for the user -;; | > to see what he has typed. -;; | -;; | Yes, that is the reason. -;; `---- - -;; (defun gnus-y-or-n-p (prompt) -;; (prog1 -;; (y-or-n-p prompt) -;; (message ""))) -;; (defun gnus-yes-or-no-p (prompt) -;; (prog1 -;; (yes-or-no-p prompt) -;; (message ""))) - -(defalias 'gnus-y-or-n-p 'y-or-n-p) -(defalias 'gnus-yes-or-no-p 'yes-or-no-p) +(defun gnus-y-or-n-p (prompt) + (prog1 + (y-or-n-p prompt) + (message ""))) +(defun gnus-yes-or-no-p (prompt) + (prog1 + (yes-or-no-p prompt) + (message ""))) ;; By Frank Schmitt . Allows to have ;; age-depending date representations. (e.g. just the time if it's diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index a157afe2ce6..52cef1925a2 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -4254,8 +4254,10 @@ conformance." "Invisible text found and made visible; continue sending? ") (error "Invisible text found and made visible"))))) (message-check 'illegible-text - (let (char found choice) + (let (char found choice nul-chars) (message-goto-body) + (setq nul-chars (save-excursion + (search-forward "\000" nil t))) (while (progn (skip-chars-forward mm-7bit-chars) (when (get-text-property (point) 'no-illegible-text) @@ -4281,7 +4283,9 @@ conformance." (when found (setq choice (gnus-multiple-choice - "Non-printable characters found. Continue sending?" + (if nul-chars + "NUL characters found, which may cause problems. Continue sending?" + "Non-printable characters found. Continue sending?") `((?d "Remove non-printable characters and send") (?r ,(format "Replace non-printable characters with \"%s\" and send" diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index c940e06fbb6..2dbc465f8c9 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -216,9 +216,10 @@ textual parts.") (let ((structure (ignore-errors (read (current-buffer))))) (while (and (consp structure) - (not (stringp (car structure)))) + (not (atom (car structure)))) (setq structure (car structure))) (setq lines (if (and + (stringp (car structure)) (equal (upcase (nth 0 structure)) "MESSAGE") (equal (upcase (nth 1 structure)) "RFC822")) (nth 9 structure) diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 8906a036779..dc2080dee1a 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el @@ -554,7 +554,9 @@ parameter. It should return nil, `warn' or `delete'." (const delete))) (defcustom nnmail-extra-headers '(To Newsgroups) - "*Extra headers to parse." + "Extra headers to parse. +In addition to the standard headers, these extra headers will be +included in NOV headers (and the like) when backends parse headers." :version "21.1" :group 'nnmail :type '(repeat symbol)) diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el index c1caca90cf0..b995f7478ce 100644 --- a/lisp/gnus/starttls.el +++ b/lisp/gnus/starttls.el @@ -301,6 +301,10 @@ GNUTLS requires a port number." starttls-gnutls-program starttls-program))) +(defalias 'starttls-any-program-available 'starttls-available-p) +(make-obsolete 'starttls-any-program-available 'starttls-available-p + "2011-08-02") + (provide 'starttls) ;;; starttls.el ends here -- 2.39.2