From d55fe5bb3eb98fc19dbab064b5adfbe3a16a6c1b Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Mon, 21 Apr 2008 07:13:33 +0000 Subject: [PATCH] Merge from gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1118 --- doc/misc/ChangeLog | 33 ++++++++++++++++++++ doc/misc/gnus-news.texi | 11 +++---- doc/misc/gnus.texi | 24 ++++++++++----- etc/GNUS-NEWS | 26 +++++++++++----- lisp/ChangeLog | 6 ++++ lisp/gnus/ChangeLog | 41 +++++++++++++++++++++++-- lisp/gnus/auth-source.el | 62 ++++++++++++++++++++++++++------------ lisp/gnus/gnus-diary.el | 8 ++--- lisp/gnus/gnus-registry.el | 3 +- lisp/gnus/gnus-sum.el | 2 +- lisp/gnus/message.el | 5 +-- lisp/gnus/mm-decode.el | 6 +++- lisp/net/tls.el | 12 ++++---- 13 files changed, 178 insertions(+), 61 deletions(-) diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index ef1a9ea569..8015e54ebc 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,36 @@ +2008-04-13 Reiner Steib + + * gnus.texi (Oort Gnus): Add message-fill-column. + +2008-04-12 Adrian Aichner + + * gnus.texi (Mail Source Specifiers): Typo fix. + +2008-04-12 Reiner Steib + + * gnus.texi (Diary Headers Generation): Update key binding for + `gnus-diary-check-message'. + +2008-04-10 Reiner Steib + + * gnus.texi (Emacsen): Addition. + +2008-04-10 Reiner Steib + + * gnus.texi (Emacsen): Give recommendations for Emacs 22 and Emacs 23. + +2008-04-09 Reiner Steib + + * gnus.texi (Oort Gnus): Mention customizing of tool bars. + +2008-04-09 Reiner Steib + + * gnus-news.texi: Update tool bar item. + +2008-04-09 Sven Joachim + + * gnus-news.texi: Fix typos. + 2008-04-11 Jay Belanger * calc.texi (Vector and Matrix Arithmetic, Calc Summary): diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index f611bee067..db22c5b419 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi @@ -32,10 +32,10 @@ file, where this release will store flags for nntp. See a later entry for more information about nntp marks. Note that downgrading isn't safe in general. -@item Incompatibity when switching from Emacs 23 to Emacs 22 +@item Incompatibility when switching from Emacs 23 to Emacs 22 In Emacs 23, Gnus uses Emacs' new internal coding system @code{utf-8-emacs} -for saving articles drafts and @file{~/.newsrc.eld}. These file may not -be read correctly in Emacs 22 and below. If you want to Gnus across +for saving articles drafts and @file{~/.newsrc.eld}. These files may not +be read correctly in Emacs 22 and below. If you want to use Gnus across different Emacs versions, you may set @code{mm-auto-save-coding-system} to @code{emacs-mule}. @c FIXME: Untested. (Or did anyone test it?) @@ -284,9 +284,8 @@ messages are deleted again). @itemize @bullet @item The tool bar has been updated to use GNOME icons. -You can also customize the tool bar. There's no documentation in the -manual yet, but @kbd{M-x customize-apropos RET -tool-bar$} should get -you started. (Only for Emacs, not in XEmacs.) +You can also customize the tool bars: @kbd{M-x customize-apropos RET +-tool-bar$} should get you started. (Only for Emacs, not in XEmacs.) @c FIXME: Document this in the manual @item The tool bar icons are now (de)activated correctly diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index e2bb06e6f2..91811b5d20 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14576,7 +14576,7 @@ corresponding keywords. @item :mailbox The name of the mailbox to get mail from. The default is @samp{INBOX} -which normally is the mailbox which receive incoming mail. +which normally is the mailbox which receives incoming mail. @item :predicate The predicate used to find articles to fetch. The default, @samp{UNSEEN @@ -18971,9 +18971,9 @@ needed. This function is hooked into the @code{nndiary} back end, so that moving or copying an article to a diary group will trigger it -automatically. It is also bound to @kbd{C-c D c} in @code{message-mode} -and @code{article-edit-mode} in order to ease the process of converting -a usual mail to a diary one. +automatically. It is also bound to @kbd{C-c C-f d} in +@code{message-mode} and @code{article-edit-mode} in order to ease the +process of converting a usual mail to a diary one. This function takes a prefix argument which will force prompting of all diary headers, regardless of their presence or validity. That way, @@ -26261,7 +26261,7 @@ know. @cindex Mule @cindex Emacs -Gnus should work on: +This version of Gnus should work on: @itemize @bullet @@ -26278,6 +26278,8 @@ that. Not reliably, at least. Older versions of Gnus may work on older Emacs versions. Particularly, Gnus 5.10.8 should also work on Emacs 20.7 and XEmacs 21.1. +@c No-merge comment: The paragraph added in v5-10 here must not be +@c synced here! @node Gnus Development @subsection Gnus Development @@ -27939,7 +27941,12 @@ controls this. @item You can now drag and drop attachments to the Message buffer. See @code{mml-dnd-protocol-alist} and @code{mml-dnd-attach-options}. @xref{MIME, ,MIME, message, Message Manual}. -@c New in 5.10.9 / 5.11 +@c New in 5.10.9 / 5.11 (Emacs 21.1) + +@item @code{auto-fill-mode} is enabled by default in Message mode. +See @code{message-fill-column}. @xref{Various Message Variables, , +Message Headers, message, Message Manual}. +@c New in Gnus 5.10.12 / 5.11 (Emacs 22.3) @end itemize @@ -27992,8 +27999,9 @@ message, Message Manual}). @item The tool bars have been updated to use GNOME icons in Group, Summary and -Message mode. You can also customize the tool bars. This is a new -feature in Gnus 5.10.9. (Only for Emacs, not in XEmacs.) +Message mode. You can also customize the tool bars: @kbd{M-x +customize-apropos RET -tool-bar$} should get you started. This is a new +feature in Gnus 5.10.10. (Only for Emacs, not in XEmacs.) @item The tool bar icons are now (de)activated correctly in the group buffer, see the variable @code{gnus-group-update-tool-bar}. diff --git a/etc/GNUS-NEWS b/etc/GNUS-NEWS index e0c8808ec7..243d14fd80 100644 --- a/etc/GNUS-NEWS +++ b/etc/GNUS-NEWS @@ -21,11 +21,12 @@ this release will store flags for nntp. See a later entry for more information about nntp marks. Note that downgrading isn't safe in general. -** Incompatibity when switching from Emacs 23 to Emacs 22 In Emacs 23, Gnus -uses Emacs' new internal coding system `utf-8-emacs' for saving articles -drafts and `~/.newsrc.eld'. These file may not be read correctly in -Emacs 22 and below. If you want to Gnus across different Emacs -versions, you may set `mm-auto-save-coding-system' to `emacs-mule'. +** Incompatibility when switching from Emacs 23 to Emacs 22 In Emacs 23, +Gnus uses Emacs' new internal coding system `utf-8-emacs' for saving +articles drafts and `~/.newsrc.eld'. These files may not be read +correctly in Emacs 22 and below. If you want to use Gnus across +different Emacs versions, you may set `mm-auto-save-coding-system' to +`emacs-mule'. ** Lisp files are now installed in `.../site-lisp/gnus/' by default. It defaulted to `.../site-lisp/' formerly. In addition to this, the new @@ -57,6 +58,11 @@ back end, the PGP passphrase is managed by this mechanism. Passwords for ManageSieve connections are managed by this mechanism, after querying the user about whether to do so. +** Using EasyPG with Gnus When EasyPG, is available, Gnus will use it +instead of PGG. EasyPG is an Emacs user interface to GNU Privacy Guard. + *Note EasyPG Assistant user's manual: (epa)Top. EasyPG is included in +Emacs 23 and available separately as well. + * Changes in group mode @@ -64,6 +70,7 @@ querying the user about whether to do so. couple of days, not immediately. *Note Mail Source Customization::. (New in Gnus 5.10.10 / Emacs 22.2) + * Changes in summary and article mode @@ -71,6 +78,9 @@ couple of days, not immediately. *Note Mail Source Customization::. that are not reused when you select another article. *Note Sticky Articles::. +** Gnus can selectively display `text/html' articles with a WWW browser +with `K H'. *Note MIME Commands::. + ** International host names (IDNA) can now be decoded inside article bodies using `W i' (`gnus-summary-idna-message'). This requires that GNU Libidn () has been installed. @@ -211,13 +221,13 @@ server buffer) renumbers all articles in a group, starting from 1 and removing gaps. As a consequence, you get a correct total article count (until messages are deleted again). + * Appearance ** The tool bar has been updated to use GNOME icons. You can also -customize the tool bar. There's no documentation in the manual yet, but -`M-x customize-apropos RET -tool-bar$' should get you started. (Only -for Emacs, not in XEmacs.) +customize the tool bars: `M-x customize-apropos RET -tool-bar$' should +get you started. (Only for Emacs, not in XEmacs.) ** The tool bar icons are now (de)activated correctly in the group buffer, see the variable `gnus-group-update-tool-bar'. Its default value diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2445d55441..0f065ec2a3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2008-04-22 Naohiro Aota (tiny change) + + * net/tls.el (tls-program): Add -ign_eof argument to call the + openssl commands. + (tls-checktrust): Ditto. + 2008-04-21 Dan Nicolaescu * vc-hooks.el (vc-insert-file, vc-state, vc-working-revision) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 535271a255..4b19735f82 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,37 @@ +2008-04-13 Reiner Steib + + * message.el (message-signature-separator, message-cite-function): + Change custom version. + +2008-04-13 Reiner Steib + + * mm-decode.el (mm-display-external): Make temp file read-only. + +2008-04-12 Reiner Steib + + * gnus-diary.el (gnus-article-edit-mode-map, message-mode-map): Remove + binding for `gnus-diary-version'. Bind `gnus-diary-check-message' to + `C-c C-f d'. + +2008-04-12 Adrian Aichner + + * gnus-sum.el (gnus-summary-goto-subject): Typo fix. + +2008-04-09 Teodor Zlatanov + + * auth-source.el: Added docs. + (auth-sources): Modified format to support server. + (auth-source-pick, auth-source-user-or-password) + (auth-source-user-or-password-imap) + (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh) + (auth-source-user-or-password-sftp) + (auth-source-user-or-password-smtp): Add server parameter. + +2008-04-08 Teodor Zlatanov + + * gnus-registry.el: Initialize the registry when gnus-registry-install + is t. + 2008-04-08 Katsumi Yamaoka * compface.el (uncompface): Make buffer unibyte. @@ -1393,8 +1427,11 @@ (message-fix-before-sending): Add `bogus-recipient'. * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist): Add "alpine". - (gnus-treat-emphasize, gnus-treat-body-boundary): Don't test - window-system. + (gnus-treat-body-boundary): Don't test window-system. + +2007-10-28 Leo (tiny change) + + * gnus-art.el (gnus-treat-emphasize): Don't test window-system. 2007-10-28 Reiner Steib diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index f37e036884..9883eb64ac 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el @@ -28,6 +28,19 @@ ;; authenticate in a single place. Simplicity is the goal. Instead ;; of providing 5000 options, we'll stick to simple, easy to ;; understand options. + +;; Easy setup: +;; (require 'auth-source) +;; (customize-variable 'auth-sources) ;; optional + +;; now, whatever sources you've defined for password have to be available + +;; if you want encrypted sources, which is strongly recommended, do +;; (require 'epa-file) +;; (epa-file-mode) + +;; before you put some data in ~/.authinfo.gpg (the default place) + ;;; Code: (eval-when-compile (require 'cl)) @@ -73,10 +86,15 @@ Each entry is the authentication type with optional properties." (list :tag "Source definition" (const :format "" :value :source) (string :tag "Authentication Source") + (const :format "" :value :server) + (choice :tag "Server (logical name) choice" + (const :tag "Any" t) + (regexp :tag "Server regular expression (TODO)") + (const :tag "Fallback" nil)) (const :format "" :value :host) - (choice :tag "Host choice" + (choice :tag "Host (machine) choice" (const :tag "Any" t) - (regexp :tag "Host regular expression (TODO)") + (regexp :tag "Host (machine) regular expression (TODO)") (const :tag "Fallback" nil)) (const :format "" :value :protocol) (choice :tag "Protocol" @@ -100,16 +118,20 @@ Each entry is the authentication type with optional properties." ;; (auth-source-user-or-password-imap "password" "imap.myhost.com") ;; (auth-source-protocol-defaults 'imap) -(defun auth-source-pick (host protocol &optional fallback) - "Parse `auth-sources' for HOST and PROTOCOL matches. +(defun auth-source-pick (server host protocol &optional fallback) + "Parse `auth-sources' for SERVER, HOST, and PROTOCOL matches. -Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." +Returns fallback choices (where SERVER. PROTOCOL or HOST are nil) with FALLBACK t." (interactive "sHost: \nsProtocol: \n") ;for testing (let (choices) (dolist (choice auth-sources) - (let ((h (plist-get choice :host)) + (let ((s (plist-get choice :server)) + (h (plist-get choice :host)) (p (plist-get choice :protocol))) (when (and + (or (equal t s) + (and (stringp s) (string-match s server)) + (and fallback (equal s nil))) (or (equal t h) (and (stringp h) (string-match h host)) (and fallback (equal h nil))) @@ -120,12 +142,12 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." (if choices choices (unless fallback - (auth-source-pick host protocol t))))) + (auth-source-pick server host protocol t))))) -(defun auth-source-user-or-password (mode host protocol) - "Find user or password (from the string MODE) matching HOST and PROTOCOL." +(defun auth-source-user-or-password (mode server host protocol) + "Find user or password (from the string MODE) matching SERVER, HOST, and PROTOCOL." (let (found) - (dolist (choice (auth-source-pick host protocol)) + (dolist (choice (auth-source-pick server host protocol)) (setq found (netrc-machine-user-or-password mode (plist-get choice :source) @@ -139,20 +161,20 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." "Return a list of default ports and names for PROTOCOL." (cdr-safe (assoc protocol auth-source-protocols))) -(defun auth-source-user-or-password-imap (mode host) - (auth-source-user-or-password mode host 'imap)) +(defun auth-source-user-or-password-imap (mode server host) + (auth-source-user-or-password mode server host 'imap)) -(defun auth-source-user-or-password-pop3 (mode host) - (auth-source-user-or-password mode host 'pop3)) +(defun auth-source-user-or-password-pop3 (mode server host) + (auth-source-user-or-password mode server host 'pop3)) -(defun auth-source-user-or-password-ssh (mode host) - (auth-source-user-or-password mode host 'ssh)) +(defun auth-source-user-or-password-ssh (mode server host) + (auth-source-user-or-password mode server host 'ssh)) -(defun auth-source-user-or-password-sftp (mode host) - (auth-source-user-or-password mode host 'sftp)) +(defun auth-source-user-or-password-sftp (mode server host) + (auth-source-user-or-password mode server host 'sftp)) -(defun auth-source-user-or-password-smtp (mode host) - (auth-source-user-or-password mode host 'smtp)) +(defun auth-source-user-or-password-smtp (mode server host) + (auth-source-user-or-password mode server host 'smtp)) (provide 'auth-source) diff --git a/lisp/gnus/gnus-diary.el b/lisp/gnus/gnus-diary.el index db7f7135e5..183214f922 100644 --- a/lisp/gnus/gnus-diary.el +++ b/lisp/gnus/gnus-diary.el @@ -390,8 +390,8 @@ If ARG (or prefix) is non-nil, force prompting for all fields." (add-hook 'nndiary-request-accept-article-hooks (lambda () (gnus-diary-check-message nil))) -(define-key message-mode-map "\C-cDc" 'gnus-diary-check-message) -(define-key gnus-article-edit-mode-map "\C-cDc" 'gnus-diary-check-message) +(define-key message-mode-map "\C-c\C-fd" 'gnus-diary-check-message) +(define-key gnus-article-edit-mode-map "\C-c\C-fd" 'gnus-diary-check-message) ;; The end ================================================================== @@ -401,10 +401,6 @@ If ARG (or prefix) is non-nil, force prompting for all fields." (interactive) (message "NNDiary version %s" nndiary-version)) -(define-key message-mode-map "\C-cDv" 'gnus-diary-version) -(define-key gnus-article-edit-mode-map "\C-cDv" 'gnus-diary-version) - - (provide 'gnus-diary) ;; arch-tag: 98467e70-337e-4ddc-b92d-45d403ff1b4b diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index b5ec4e1ae5..fd08d4d1e3 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -1115,7 +1115,8 @@ Returns the first place where the trail finds a group name." ;;; we could call it here: (customize-variable 'gnus-registry-install) gnus-registry-install) -(when (gnus-registry-install-p) +(when (or (eq gnus-registry-install t) + (gnus-registry-install-p)) (gnus-registry-initialize)) ;; TODO: a few things diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 0d76e63bf7..6b9f9c65f2 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -7445,7 +7445,7 @@ If optional argument UNREAD is non-nil, only unread article is selected." (gnus-summary-position-point)) (defun gnus-summary-goto-subject (article &optional force silent) - "Go the subject line of ARTICLE. + "Go to the subject line of ARTICLE. If FORCE, also allow jumping to articles not currently shown." (interactive "nArticle number: ") (unless (numberp article) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 117ac00e5b..f35b9a336b 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -425,7 +425,7 @@ whitespace)." :type '(choice (const :tag "strict" "^-- $") (const :tag "loose" "^-- *$") regexp) - :version "23.1" ;; No Gnus (changed default) + :version "22.3" ;; Gnus 5.10.12 (changed default) :link '(custom-manual "(message)Various Message Variables") :group 'message-various) @@ -1018,6 +1018,7 @@ Used by `message-yank-original' via `message-yank-cite'." :link '(custom-manual "(message)Insertion Variables") :type 'integer) +;;;###autoload (defcustom message-cite-function 'message-cite-original-without-signature "*Function for citing an original message. Predefined functions include `message-cite-original' and @@ -1028,7 +1029,7 @@ Note that these functions use `mail-citation-hook' if that is non-nil." (function-item sc-cite-original) (function :tag "Other")) :link '(custom-manual "(message)Insertion Variables") - :version "23.1" ;; No Gnus (changed default) + :version "22.3" ;; Gnus 5.10.12 (changed default) :group 'message-insertion) (defcustom message-indent-citation-function 'message-indent-citation diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index a0b5542142..56258b96b6 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -799,7 +799,7 @@ external if displayed external." (copiousoutput (assoc "copiousoutput" mime-info)) file buffer) ;; We create a private sub-directory where we store our files. - (set-file-modes dir 448) + (set-file-modes dir #o700) (if filename (setq file (expand-file-name (gnus-map-function mm-file-name-rewrite-functions @@ -819,6 +819,10 @@ external if displayed external." nil suffix)))) (let ((coding-system-for-write mm-binary-coding-system)) (write-region (point-min) (point-max) file nil 'nomesg)) + ;; The file is deleted after the viewer exists. If the users edits + ;; the file, changes will be lost. Set file to read-only to make it + ;; clear. + (set-file-modes file #o400) (message "Viewing with %s" method) (cond (needsterm diff --git a/lisp/net/tls.el b/lisp/net/tls.el index 64a0460e08..4cdc00c448 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el @@ -80,7 +80,7 @@ and `gnutls-cli' (version 2.0.1) output." (defcustom tls-program '("gnutls-cli -p %p %h" "gnutls-cli -p %p %h --protocols ssl3" - "openssl s_client -connect %h:%p -no_ssl2") + "openssl s_client -connect %h:%p -no_ssl2 -ign_eof") "List of strings containing commands to start TLS stream to a host. Each entry in the list is tried until a connection is successful. %h is replaced with server hostname, %p with port to connect to. @@ -97,23 +97,23 @@ successful negotiation." :value ("gnutls-cli -p %p %h" "gnutls-cli -p %p %h --protocols ssl3" - "openssl s_client -connect %h:%p -no_ssl2") + "openssl s_client -connect %h:%p -no_ssl2 -ign_eof") (set :inline t ;; FIXME: add brief `:tag "..."' descriptions. ;; (repeat :inline t :tag "Other" (string)) ;; See `tls-checktrust': (const "gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h") (const "gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3") - (const "openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2") + (const "openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2 -ign_eof") ;; No trust check: (const "gnutls-cli -p %p %h") (const "gnutls-cli -p %p %h --protocols ssl3") - (const "openssl s_client -connect %h:%p -no_ssl2")) + (const "openssl s_client -connect %h:%p -no_ssl2 -ign_eof")) (repeat :inline t :tag "Other" (string))) (const :tag "Default list of commands" ("gnutls-cli -p %p %h" "gnutls-cli -p %p %h --protocols ssl3" - "openssl s_client -connect %h:%p -no_ssl2")) + "openssl s_client -connect %h:%p -no_ssl2 -ign_eof")) (list :tag "List of commands" (repeat :tag "Command" (string)))) :version "22.1" @@ -144,7 +144,7 @@ consider trustworthy, e.g.: \(setq tls-program '(\"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h\" \"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3\" - \"openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2\"))" + \"openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2 -ign_eof\"))" :type '(choice (const :tag "Always" t) (const :tag "Never" nil) (const :tag "Ask" ask)) -- 2.20.1