(let ((buffer (current-buffer)))
(with-temp-buffer
(let (buffer-undo-list)
- (set-buffer-multibyte nil)
(insert-buffer-substring buffer ,start ,end)
(encode-coding-region (point-min)(point-max)
buffer-file-coding-system)
(setq pgg-read-passphrase 'read-passwd)
(autoload 'ange-ftp-read-passwd "ange-ftp")
(setq pgg-read-passphrase 'ange-ftp-read-passwd))))
- (or (and key (setq key (pgg-truncate-key-identifier key))
+ (or (and pgg-cache-passphrase
+ key (setq key (pgg-truncate-key-identifier key))
(symbol-value (intern-soft key pgg-passphrase-cache)))
(funcall pgg-read-passphrase prompt)))
key))
(defun pgg-remove-passphrase-cache (key)
- (unintern key pgg-passphrase-cache))
+ (let ((passphrase (symbol-value (intern-soft key pgg-passphrase-cache))))
+ (when passphrase
+ (fillarray passphrase ?_)
+ (unintern key pgg-passphrase-cache))))
(defmacro pgg-convert-lbt-region (start end lbt)
`(let ((pgg-conversion-end (set-marker (make-marker) ,end)))