* pgg.el (pgg-temporary-file-directory): New variable.
authorSimon Josefsson <jas@extundo.com>
Sat, 28 Sep 2002 16:34:35 +0000 (16:34 +0000)
committerSimon Josefsson <jas@extundo.com>
Sat, 28 Sep 2002 16:34:35 +0000 (16:34 +0000)
(pgg-set-buffer-multibyte): Defalias.
(pgg-verify-region): Use it.

* pgg-pgp5.el (pgg-pgp5-process-region, pgg-scheme-verify-region)
(pgg-scheme-snarf-keys-region): Use pgg-temporary-file-directory.

* pgg-parse.el (pgg-char-int): Defalias.
(pgg-format-key-identifier, pgg-byte-after, pgg-read-byte)
(pgg-read-bytes, pgg-read-body): Use it.
(pgg-decode-packets): Don't use MEL, use base64-*.
(pgg-parse-armor): Don't assume set-buffer-multibyte exists.
(pgg-string-as-unibyte): Defalias.
(pgg-parse-armor-region): Use it.

* pgg-gpg.el (pgg-gpg-process-region): Use
pgg-temporary-file-directory.

* luna.el: Don't def-edebug.

pgg/ChangeLog
pgg/luna.el
pgg/pgg-gpg.el
pgg/pgg-parse.el
pgg/pgg-pgp5.el
pgg/pgg.el

index 377dd70..4b7cc06 100644 (file)
@@ -1,5 +1,25 @@
 2002-09-28  Simon Josefsson  <jas@extundo.com>
 
+       * pgg.el (pgg-temporary-file-directory): New variable.
+       (pgg-set-buffer-multibyte): Defalias.
+       (pgg-verify-region): Use it.
+
+       * pgg-pgp5.el (pgg-pgp5-process-region, pgg-scheme-verify-region)
+       (pgg-scheme-snarf-keys-region): Use pgg-temporary-file-directory.
+
+       * pgg-parse.el (pgg-char-int): Defalias.
+       (pgg-format-key-identifier, pgg-byte-after, pgg-read-byte) 
+       (pgg-read-bytes, pgg-read-body): Use it.
+       (pgg-decode-packets): Don't use MEL, use base64-*.
+       (pgg-parse-armor): Don't assume set-buffer-multibyte exists.
+       (pgg-string-as-unibyte): Defalias.
+       (pgg-parse-armor-region): Use it.
+
+       * pgg-gpg.el (pgg-gpg-process-region): Use
+       pgg-temporary-file-directory.
+
+       * luna.el: Don't def-edebug.
+
        * pgg-pgp5.el (pgg-scheme-verify-region): Inline
        binary-write-decoded-region from MEL.
 
index f33b83f..3dd8ff6 100644 (file)
@@ -176,13 +176,13 @@ The optional 5th BODY is the body of the method."
 
 (put 'luna-define-method 'lisp-indent-function 'defun)
 
-(def-edebug-spec luna-define-method
-  (&define name [&optional &or ":before" ":after" ":around"]
-          ((arg symbolp)
-           [&rest arg]
-           [&optional ["&optional" arg &rest arg]]
-           &optional ["&rest" arg])
-          def-body))
+;(def-edebug-spec luna-define-method
+;  (&define name [&optional &or ":before" ":after" ":around"]
+;         ((arg symbolp)
+;          [&rest arg]
+;          [&optional ["&optional" arg &rest arg]]
+;          &optional ["&rest" arg])
+;         def-body))
 
 
 ;; Return a list of method functions named SERVICE registered in the
index 926140e..61c83da 100644 (file)
@@ -57,7 +57,7 @@
 
 (defun pgg-gpg-process-region (start end passphrase program args)
   (let* ((output-file-name
-         (concat temporary-file-directory (make-temp-name "pgg-output")))
+         (concat pgg-temporary-file-directory (make-temp-name "pgg-output")))
         (args
          `("--status-fd" "2"
            ,@(if passphrase '("--passphrase-fd" "0"))
index a4d0261..191c11c 100644 (file)
     "^-----BEGIN PGP SIGNATURE-----\r?$")
   "Armor headers.")
 
+(defalias 'pgg-char-int (if (fboundp 'char-int)
+                           'char-int
+                         'identity))
+
 (defmacro pgg-format-key-identifier (string)
-  `(mapconcat (lambda (c) (format "%02X" (char-int c)))
+  `(mapconcat (lambda (c) (format "%02X" (pgg-char-int c)))
              ,string "")
   ;; `(upcase (apply #'format "%02x%02x%02x%02x%02x%02x%02x%02x"
   ;;                 (string-to-int-list ,string)))
         0))
 
 (defmacro pgg-byte-after (&optional pos)
-  `(char-int (char-after ,(or pos `(point)))))
+  `(pgg-char-int (char-after ,(or pos `(point)))))
 
 (defmacro pgg-read-byte ()
-  `(char-int (char-after (prog1 (point) (forward-char)))))
+  `(pgg-char-int (char-after (prog1 (point) (forward-char)))))
 
 (defmacro pgg-read-bytes-string (nbytes)
   `(buffer-substring
              (forward-char ,nbytes))))
 
 (defmacro pgg-read-bytes (nbytes)
-  `(mapcar #'char-int (pgg-read-bytes-string ,nbytes))
+  `(mapcar #'pgg-char-int (pgg-read-bytes-string ,nbytes))
   ;; `(string-to-int-list (pgg-read-bytes-string ,nbytes))
   )
 
      (pgg-read-bytes-string (- (point-max) (point)))))
 
 (defmacro pgg-read-body (ptag)
-  `(mapcar #'char-int (pgg-read-body-string ,ptag))
+  `(mapcar #'pgg-char-int (pgg-read-body-string ,ptag))
   ;; `(string-to-int-list (pgg-read-body-string ,ptag))
   )
 
                           (match-beginning 0))))
         (checksum (buffer-substring (point) (+ 4 (point)))))
     (delete-region marker (point-max))
-    (mime-decode-region (point-min) marker "base64")
-    (when (fboundp 'pgg-parse-crc24-string )
+    (base64-decode-region (point-min) marker)
+    (when (fboundp 'pgg-parse-crc24-string)
       (or pgg-ignore-packet-checksum
          (string-equal
-          (funcall (mel-find-function 'mime-encode-string "base64")
-                   (pgg-parse-crc24-string
-                    (buffer-string)))
+          (base64-encode-string (pgg-parse-crc24-string
+                                 (buffer-string)))
           checksum)
          (error "PGP packet checksum does not match")))))
 
 (defun pgg-parse-armor (string)
   (with-temp-buffer
     (buffer-disable-undo)
-    (set-buffer-multibyte nil)
+    (if (fboundp 'set-buffer-multibyte)
+       (set-buffer-multibyte nil))
     (insert string)
     (pgg-decode-armor-region (point-min)(point))))
 
+(defalias 'pgg-string-as-unibyte (if (fboundp 'string-as-unibyte)
+                                    'string-as-unibyte
+                                  'identity))
+
 (defun pgg-parse-armor-region (start end)
-  (pgg-parse-armor (string-as-unibyte (buffer-substring start end))))
+  (pgg-parse-armor (pgg-string-as-unibyte (buffer-substring start end))))
 
 (provide 'pgg-parse)
 
index ef64f47..13dd157 100644 (file)
@@ -83,7 +83,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
 
 (defun pgg-pgp5-process-region (start end passphrase program args)
   (let* ((errors-file-name
-         (concat temporary-file-directory
+         (concat pgg-temporary-file-directory
                  (make-temp-name "pgg-errors")))
         (args
          (append args
@@ -203,7 +203,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
 
 (luna-define-method pgg-scheme-verify-region ((scheme pgg-scheme-pgp5)
                                              start end &optional signature)
-  (let* ((basename (expand-file-name "pgg" temporary-file-directory))
+  (let* ((basename (expand-file-name "pgg" pgg-temporary-file-directory))
         (orig-file (make-temp-name basename))
         (args '("+verbose=1" "+batchmode=1" "+language=us"))
         (orig-mode (default-file-modes)))
@@ -240,7 +240,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
 (luna-define-method pgg-scheme-snarf-keys-region ((scheme pgg-scheme-pgp5)
                                                  start end)
   (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id))
-        (basename (expand-file-name "pgg" temporary-file-directory))
+        (basename (expand-file-name "pgg" pgg-temporary-file-directory))
         (key-file (make-temp-name basename))
         (args
          (list "+verbose=1" "+batchmode=1" "+language=us" "-a"
index 2b17b3e..cd789e3 100644 (file)
     (require 'w3)
     (require 'url)))
 
+(defvar pgg-temporary-file-directory
+  (cond ((fboundp 'temp-directory) (temp-directory))
+       ((boundp 'temporary-file-directory) temporary-file-directory)
+       ("/tmp/")))
+
 (in-calist-package 'pgg)
 
 (defun pgg-field-match-method-with-containment
   `(with-current-buffer pgg-output-buffer
      (if (zerop (buffer-size)) nil ,@body t)))
 
+(defalias pgg-set-buffer-multibyte (if (fboundp 'set-buffer-multibyte)
+                                      'set-buffer-multibyte
+                                    'identity))
 
 ;;; @ interface functions
 ;;;
@@ -311,7 +319,7 @@ signer's public key from `pgg-default-keyserver-address'."
          (if (null signature) nil
            (with-temp-buffer
              (buffer-disable-undo)
-             (set-buffer-multibyte nil)
+             (pgg-set-buffer-multibyte nil)
              (insert-file-contents signature)
              (cdr (assq 2 (pgg-decode-armor-region
                            (point-min)(point-max)))))))