# HG changeset patch # User Katsumi Yamaoka # Date 1293967382 0 # Node ID 52100bac91db66f1204211b64102f0f538a7b2c4 # Parent 38481fb0a5385f88e3b8d1adcb3dbf56d619b6f4 Merge changes made in Gnus trunk. mm-view.el (mml-smime): Require. mm-view.el (mm-view-pkcs7-decrypt): If mml-smime-use is set to 'epg, use EPG to decrypt S/MIME messages instead of openssl. nnimap.el (nnimap-request-group): Avoid double SELECT on `M-g'. gnus-group.el (gnus-group-kill-group): Don't try to update the group status is the group clearly is unreachable. auth-source.el (auth-source-create): Add the optional second parameter to `local-variable-p' to be compatible with XEmacs. nnml.el (nnml-request-article): Allow requesting by Message-ID to work when using a compressed nnml folder. gnus-sum.el (gnus-select-newsgroup): Don't propagate marks to backends after sanitising on entry, because this never makes sense: If the articles have gone missing, then the data no longer exists on the backend, and if they haven't, then Gnus is wrong, and shouldn't overwrite anything anyway. shr.el (shr-insert-document): Bind shr-width dynamically to window-width if it's nil. shr.el (shr-width, shr-insert-document): Allow nil as shr-width value with the meaning of using the full emacs window width for rendering. diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/ChangeLog Sun Jan 02 11:23:02 2011 +0000 @@ -1,3 +1,43 @@ +2011-01-02 Lars Magne Ingebrigtsen + + * mm-view.el (mml-smime): Require. + +2010-12-20 David Engster + + * mm-view.el (mm-view-pkcs7-decrypt): If mml-smime-use is set to 'epg, + use EPG to decrypt S/MIME messages instead of openssl. + +2011-01-02 Lars Magne Ingebrigtsen + + * nnimap.el (nnimap-request-group): Avoid double SELECT on `M-g'. + + * gnus-group.el (gnus-group-kill-group): Don't try to update the group + status is the group clearly is unreachable. + + * auth-source.el (auth-source-create): Add the optional second + parameter to `local-variable-p' to be compatible with XEmacs. + +2011-01-02 Wang Diancheng (tiny change) + + * nnml.el (nnml-request-article): Allow requesting by Message-ID to + work when using a compressed nnml folder. + +2011-01-02 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-select-newsgroup): Don't propagate marks to + backends after sanitising on entry, because this never makes sense: + If the articles have gone missing, then the data no longer exists on + the backend, and if they haven't, then Gnus is wrong, and shouldn't + overwrite anything anyway. + + * shr.el (shr-insert-document): Bind shr-width dynamically to + window-width if it's nil. + +2010-12-30 Tassilo Horn + + * shr.el (shr-width, shr-insert-document): Allow nil as shr-width value + with the meaning of using the full emacs window width for rendering. + 2010-12-27 Daiki Ueno * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Take care the diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/auth-source.el --- a/lisp/gnus/auth-source.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/auth-source.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,6 +1,6 @@ ;;; auth-source.el --- authentication sources for Gnus and Emacs -;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ;; Author: Ted Zlatanov ;; Keywords: news @@ -370,7 +370,7 @@ ;; making `epa-file-encrypt-to' local to this buffer lets ;; epa-file skip the key selection query (see the ;; `local-variable-p' check in `epa-file-write-region'). - (unless (local-variable-p 'epa-file-encrypt-to) + (unless (local-variable-p 'epa-file-encrypt-to (current-buffer)) (make-local-variable 'epa-file-encrypt-to)) (if (listp auth-source-gpg-encrypt-to) (setq epa-file-encrypt-to auth-source-gpg-encrypt-to))) diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/gnus-group.el --- a/lisp/gnus/gnus-group.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/gnus-group.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,7 +1,8 @@ ;;; gnus-group.el --- group mode commands for Gnus ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +;; Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -3790,7 +3791,8 @@ gnus-list-of-killed-groups)) (gnus-group-change-level (if entry entry group) gnus-level-killed (if entry nil level)) - (gnus-request-update-group-status group 'unsubscribe) + (when (numberp (gnus-group-unread group)) + (gnus-request-update-group-status group 'unsubscribe)) (message "Killed group %s" (gnus-group-decoded-name group))) ;; If there are lots and lots of groups to be killed, we use ;; this thing instead. @@ -3814,7 +3816,8 @@ ;; There may be more than one instance displayed. (while (gnus-group-goto-group group) (gnus-delete-line)) - (gnus-request-update-group-status group 'unsubscribe)) + (when (numberp (gnus-group-unread group)) + (gnus-request-update-group-status group 'unsubscribe))) (gnus-make-hashtable-from-newsrc-alist)) (gnus-group-position-point) diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/gnus-sum.el --- a/lisp/gnus/gnus-sum.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/gnus-sum.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,7 +1,7 @@ ;;; gnus-sum.el --- summary mode commands for Gnus ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -5603,7 +5603,7 @@ (setq gnus-newsgroup-processable nil) - (gnus-update-read-articles group gnus-newsgroup-unreads) + (gnus-update-read-articles group gnus-newsgroup-unreads t) ;; Adjust and set lists of article marks. (when info diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/mm-view.el --- a/lisp/gnus/mm-view.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/mm-view.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,7 +1,7 @@ ;;; mm-view.el --- functions for viewing MIME objects ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -32,6 +32,7 @@ (require 'mm-bodies) (require 'mm-decode) (require 'smime) +(require 'mml-smime) (autoload 'gnus-completing-read "gnus-util") (autoload 'gnus-window-inside-pixel-edges "gnus-ems") @@ -683,17 +684,23 @@ (defun mm-view-pkcs7-decrypt (handle &optional from) (insert-buffer-substring (mm-handle-buffer handle)) (goto-char (point-min)) - (insert "MIME-Version: 1.0\n") - (mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m") - (smime-decrypt-region - (point-min) (point-max) - (if (= (length smime-keys) 1) - (cadar smime-keys) - (smime-get-key-by-email - (gnus-completing-read - "Decipher using key" - smime-keys nil nil nil (car-safe (car-safe smime-keys))))) - from) + (if (eq mml-smime-use 'epg) + ;; Use EPG/gpgsm + (let ((part (base64-decode-string (buffer-string)))) + (erase-buffer) + (insert (epg-decrypt-string (epg-make-context 'CMS) part))) + ;; Use openssl + (insert "MIME-Version: 1.0\n") + (mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m") + (smime-decrypt-region + (point-min) (point-max) + (if (= (length smime-keys) 1) + (cadar smime-keys) + (smime-get-key-by-email + (gnus-completing-read + "Decipher using key" + smime-keys nil nil nil (car-safe (car-safe smime-keys))))) + from)) (goto-char (point-min)) (while (search-forward "\r\n" nil t) (replace-match "\n")) diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/nnimap.el --- a/lisp/gnus/nnimap.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/nnimap.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,6 +1,6 @@ ;;; nnimap.el --- IMAP interface for Gnus -;; Copyright (C) 2010 Free Software Foundation, Inc. +;; Copyright (C) 2010, 2011 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Simon Josefsson @@ -639,7 +639,7 @@ (let ((result (nnimap-possibly-change-group ;; Don't SELECT the group if we're going to select it ;; later, anyway. - (if (and dont-check + (if (and (not dont-check) (assoc group nnimap-current-infos)) nil group) diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/nnml.el --- a/lisp/gnus/nnml.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/nnml.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,7 +1,8 @@ ;;; nnml.el --- mail spool access for Gnus ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +;; Foundation, Inc. ;; Authors: Didier Verna (adding compaction) ;; Simon Josefsson (adding MARKS) @@ -235,7 +236,11 @@ (nnheader-article-to-file-alist (setq gpath (nnml-group-pathname (car group-num) nil server)))))) - (setq path (concat gpath (int-to-string (cdr group-num))))) + (nnml-update-file-alist) + (setq path (concat gpath (if nnml-use-compressed-files + (cdr (assq (cdr group-num) + nnml-article-file-alist)) + (number-to-string (cdr group-num)))))) (setq path (nnml-article-to-file id))) (cond ((not path) diff -r 38481fb0a538 -r 52100bac91db lisp/gnus/shr.el --- a/lisp/gnus/shr.el Sat Jan 01 19:35:15 2011 -0500 +++ b/lisp/gnus/shr.el Sun Jan 02 11:23:02 2011 +0000 @@ -1,6 +1,6 @@ ;;; shr.el --- Simple HTML Renderer -;; Copyright (C) 2010 Free Software Foundation, Inc. +;; Copyright (C) 2010, 2011 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: html @@ -74,8 +74,12 @@ :type 'character) (defcustom shr-width fill-column - "Frame width to use for rendering." - :type 'integer + "Frame width to use for rendering. +May either be an integer specifying a fixed width in characters, +or nil, meaning that the full width of the window should be +used." + :type '(choice (integer :tag "Fixed width in characters") + (const :tag "Use the width of the window" nil)) :group 'shr) (defvar shr-content-function nil @@ -113,7 +117,8 @@ (defun shr-insert-document (dom) (setq shr-content-cache nil) (let ((shr-state nil) - (shr-start nil)) + (shr-start nil) + (shr-width (or shr-width (window-width)))) (shr-descend (shr-transform-dom dom)))) (defun shr-copy-url ()