(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.
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.
(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
(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"))
"^-----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)
(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
(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)))
(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"
(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
;;;
(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)))))))