summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog10
-rw-r--r--lisp/gnus/gnus-nocem.el24
-rw-r--r--lisp/gnus/pgg.el3
3 files changed, 27 insertions, 10 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index b7698350efb..1f305f3adeb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,13 @@
+2005-06-29 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-nocem.el (gnus-nocem-verifyer): Default to pgg-verify.
+ (gnus-nocem-check-article): Fetch the Type header.
+ (gnus-nocem-message-wanted-p): Fix the way to examine types.
+ (gnus-nocem-verify-issuer): Use functionp instead of fboundp.
+ (gnus-nocem-enter-article): Make sure gnus-nocem-hashtb is initialized.
+
+ * pgg.el (pgg-verify): Return the verification result.
+
2005-06-24 Juanma Barranquero <lekktu@gmail.com>
* gnus-art.el (gnus-article-mode): Set `nobreak-char-display', not
diff --git a/lisp/gnus/gnus-nocem.el b/lisp/gnus/gnus-nocem.el
index 5a5f779b732..cd51efcf100 100644
--- a/lisp/gnus/gnus-nocem.el
+++ b/lisp/gnus/gnus-nocem.el
@@ -1,6 +1,6 @@
;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2004
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2004, 2005
;; Free Software Foundation, Inc.
@@ -74,12 +74,13 @@ issuer registry."
:group 'gnus-nocem
:type 'integer)
-(defcustom gnus-nocem-verifyer 'mc-verify
+(defcustom gnus-nocem-verifyer 'pgg-verify
"*Function called to verify that the NoCeM message is valid.
-One likely value is `mc-verify'. If the function in this variable
+One likely value is `pgg-verify'. If the function in this variable
isn't bound, the message will be used unconditionally."
:group 'gnus-nocem
- :type '(radio (function-item mc-verify)
+ :type '(radio (function-item pgg-verify)
+ (function-item mc-verify)
(function :tag "other")))
(defcustom gnus-nocem-liberal-fetch nil
@@ -246,7 +247,7 @@ valid issuer, which is much faster if you are selective about the issuers."
;; We get the name of the issuer.
(narrow-to-region b e)
(setq issuer (mail-fetch-field "issuer")
- type (mail-fetch-field "issuer"))
+ type (mail-fetch-field "type"))
(widen)
(if (not (gnus-nocem-message-wanted-p issuer type))
(message "invalid NoCeM issuer: %s" issuer)
@@ -267,18 +268,20 @@ valid issuer, which is much faster if you are selective about the issuers."
(while (setq condition (pop conditions))
(cond
((stringp condition)
- (setq wanted (string-match condition type)))
+ (when (string-match condition type)
+ (setq wanted t)))
((and (consp condition)
(eq (car condition) 'not)
(stringp (cadr condition)))
- (setq wanted (not (string-match (cadr condition) type))))
+ (when (string-match (cadr condition) type)
+ (setq wanted nil)))
(t
(error "Invalid NoCeM condition: %S" condition))))
wanted))))
(defun gnus-nocem-verify-issuer (person)
"Verify using PGP that the canceler is who she says she is."
- (if (fboundp gnus-nocem-verifyer)
+ (if (functionp gnus-nocem-verifyer)
(ignore-errors
(funcall gnus-nocem-verifyer))
;; If we don't have Mailcrypt, then we use the message anyway.
@@ -315,7 +318,10 @@ valid issuer, which is much faster if you are selective about the issuers."
(while (eq (char-after) ?\t)
(forward-line -1))
(setq id (buffer-substring (point) (1- (search-forward "\t"))))
- (unless (gnus-gethash id gnus-nocem-hashtb)
+ (unless (if gnus-nocem-hashtb
+ (gnus-gethash id gnus-nocem-hashtb)
+ (setq gnus-nocem-hashtb (gnus-make-hashtable))
+ nil)
;; only store if not already present
(gnus-sethash id t gnus-nocem-hashtb)
(push id ncm))
diff --git a/lisp/gnus/pgg.el b/lisp/gnus/pgg.el
index eff02a1c32a..ca351c90cd2 100644
--- a/lisp/gnus/pgg.el
+++ b/lisp/gnus/pgg.el
@@ -380,7 +380,8 @@ within the region."
(with-output-to-temp-buffer pgg-echo-buffer
(set-buffer standard-output)
(insert-buffer-substring (if status pgg-output-buffer
- pgg-errors-buffer)))))))
+ pgg-errors-buffer)))))
+ status))
;;;###autoload
(defun pgg-insert-key ()