summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGnus developers <ding@gnus.org>2011-01-02 11:23:02 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2011-01-02 11:23:02 +0000
commitbb7f5cbcda931661c8dc3311603ac764fa87a639 (patch)
tree311c07278ad7497e54b3f7cafb50fbf6185b026f
parent7927f48d454f33668f9dcef6b2d9476d24fe54bb (diff)
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.
-rw-r--r--lisp/gnus/ChangeLog40
-rw-r--r--lisp/gnus/auth-source.el4
-rw-r--r--lisp/gnus/gnus-group.el9
-rw-r--r--lisp/gnus/gnus-sum.el4
-rw-r--r--lisp/gnus/mm-view.el31
-rw-r--r--lisp/gnus/nnimap.el4
-rw-r--r--lisp/gnus/nnml.el9
-rw-r--r--lisp/gnus/shr.el13
8 files changed, 87 insertions, 27 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 63cc0ba141f..465ff2b3cab 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,43 @@
+2011-01-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-view.el (mml-smime): Require.
+
+2010-12-20 David Engster <deng@eml.cc>
+
+ * 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 <larsi@gnus.org>
+
+ * 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 <dcwang@kingbase.com.cn> (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 <larsi@gnus.org>
+
+ * 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 <tassilo@member.fsf.org>
+
+ * 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 <ueno@unixuser.org>
* mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Take care the
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index 5d386302903..70d9323cb79 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -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 <tzz@lifelogs.com>
;; Keywords: news
@@ -370,7 +370,7 @@ Return structure as specified by MODE."
;; 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 --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 9ce4f86f3ab..2044d5714bd 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -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 <larsi@gnus.org>
;; Keywords: news
@@ -3790,7 +3791,8 @@ of groups killed."
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 @@ of groups killed."
;; 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 --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 1966e4af6c9..9a21a9c7f68 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -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 <larsi@gnus.org>
;; Keywords: news
@@ -5603,7 +5603,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(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 --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 083781b0f9d..61d5b32b2c7 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -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 <larsi@gnus.org>
;; 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 --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index acbb091b356..1899b0ef030 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -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 <larsi@gnus.org>
;; Simon Josefsson <simon@josefsson.org>
@@ -639,7 +639,7 @@ textual parts.")
(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 --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el
index 46a6d903f7e..ba64ae8b092 100644
--- a/lisp/gnus/nnml.el
+++ b/lisp/gnus/nnml.el
@@ -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 <didier@xemacs.org> (adding compaction)
;; Simon Josefsson <simon@josefsson.org> (adding MARKS)
@@ -235,7 +236,11 @@ non-nil.")
(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 --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el
index 1e95ddee8cb..0ed73cd226b 100644
--- a/lisp/gnus/shr.el
+++ b/lisp/gnus/shr.el
@@ -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 <larsi@gnus.org>
;; Keywords: html
@@ -74,8 +74,12 @@ fit these criteria."
: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 @@ cid: URL as the argument.")
(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 ()