(diary-file): Doc fix.
[bpt/emacs.git] / lisp / pgg-gpg.el
index 4b8b79b..85a4e17 100644 (file)
@@ -1,7 +1,7 @@
 ;;; pgg-gpg.el --- GnuPG support for PGG.
 
 ;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Symmetric encryption and gpg-agent support added by: 
@@ -13,7 +13,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -52,7 +52,7 @@
   :type '(choice (const :tag "New `--recipient' option" "--recipient")
                 (const :tag "Old `--remote-user' option" "--remote-user")))
 
-(defcustom pgg-gpg-use-agent nil
+(defcustom pgg-gpg-use-agent t
   "Whether to use gnupg agent for key caching."
   :group 'pgg-gpg
   :type 'boolean)
@@ -61,7 +61,7 @@
   "GnuPG ID of your default identity.")
 
 (defun pgg-gpg-process-region (start end passphrase program args)
-  (let* ((use-agent (pgg-gpg-use-agent-p)) 
+  (let* ((use-agent (and (null passphrase) (pgg-gpg-use-agent-p)))
         (output-file-name (pgg-make-temp-file "pgg-output"))
         (args
          `("--status-fd" "2"
            (if pgg-passphrase-coding-system
                (progn
                  (setq encoded-passphrase-with-new-line
-                       (encode-coding-string passphrase-with-newline
-                                             pgg-passphrase-coding-system))
+                       (encode-coding-string
+                        passphrase-with-newline
+                        (coding-system-change-eol-conversion
+                         pgg-passphrase-coding-system 'unix)))
                  (pgg-clear-string passphrase-with-newline))
              (setq encoded-passphrase-with-new-line passphrase-with-newline
                    passphrase-with-newline nil))
@@ -222,7 +224,7 @@ passphrase cache or user."
           (list "--batch" "--armor" "--always-trust" "--encrypt")
           (if pgg-text-mode (list "--textmode"))
           (if sign (list "--sign" "--local-user" pgg-gpg-user-id))
-          (if recipients
+          (if (or recipients pgg-encrypt-for-me)
               (apply #'nconc
                      (mapcar (lambda (rcpt)
                                (list pgg-gpg-recipient-argument rcpt))