summaryrefslogtreecommitdiff
path: root/lisp/epa-file.el
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2008-04-27 19:49:15 +0000
committerDan Nicolaescu <dann@ics.uci.edu>2008-04-27 19:49:15 +0000
commitbfeee9d15131df60ef028dda6ca4ab7c29e7d7d2 (patch)
tree63e31d81a53dd40a472d7d4152eadda4dedf1fd0 /lisp/epa-file.el
parentb576c5808af88b494ccc9323061d9a44e9f67284 (diff)
downloademacs-bfeee9d15131df60ef028dda6ca4ab7c29e7d7d2.tar.gz
* epa-file.el (auto-encryption-mode): Rename from epa-file-mode.
(epa-file-handler): Put 'safe-magic and 'operations properties. * epa.el (epa-global-minor-modes, epa-mode, epa-menu) (epa-menu-items): Remove. * epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify) (epa-dired-do-sign, epa-dired-do-encrypt): Add autoload cookie. (epa-dired-mode, epa-global-dired-mode): Remove. * dired.el (dired-mode-map): Bind encryption/decryption commands. * menu-bar.el (menu-bar-encryption-decryption-menu): New menu item. * files.el (insert-file-contents-literally): Inhibit epa-file-handler.
Diffstat (limited to 'lisp/epa-file.el')
-rw-r--r--lisp/epa-file.el22
1 files changed, 15 insertions, 7 deletions
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 558048403ce..7d53b872c1b 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -126,7 +126,10 @@ May either be a string or a list of strings.")
(defun epa-file-handler (operation &rest args)
(save-match-data
(let ((op (get operation 'epa-file)))
- (if op
+ (if (and op
+ (if (and (eq operation 'insert-file-contents)
+
+ (y-or-n-p ""
(apply op args)
(epa-file-run-real-handler operation args)))))
@@ -300,7 +303,7 @@ If no one is selected, symmetric encryption will be performed. "))))
(message "`epa-file' already enabled")
(setq file-name-handler-alist
(cons epa-file-handler file-name-handler-alist))
- (add-hook 'find-file-hooks 'epa-file-find-file-hook)
+ (add-hook 'find-file-hook 'epa-file-find-file-hook)
(setq auto-mode-alist (cons epa-file-auto-mode-alist-entry auto-mode-alist))
(message "`epa-file' enabled")))
@@ -311,30 +314,35 @@ If no one is selected, symmetric encryption will be performed. "))))
(progn
(setq file-name-handler-alist
(delq epa-file-handler file-name-handler-alist))
- (remove-hook 'find-file-hooks 'epa-file-find-file-hook)
+ (remove-hook 'find-file-hook 'epa-file-find-file-hook)
(setq auto-mode-alist (delq epa-file-auto-mode-alist-entry
auto-mode-alist))
(message "`epa-file' disabled"))
(message "`epa-file' already disabled")))
;;;###autoload
-(define-minor-mode epa-file-mode
+(define-minor-mode auto-encryption-mode
"Toggle automatic file encryption and decryption.
With prefix argument ARG, turn auto encryption on if positive, else off.
Return the new status of auto encryption (non-nil means on)."
- :global t :init-value nil :group 'epa-file :version "23.1"
+ :global t :init-value t :group 'epa-file :version "23.1"
(setq file-name-handler-alist
(delq epa-file-handler file-name-handler-alist))
(remove-hook 'find-file-hooks 'epa-file-find-file-hook)
(setq auto-mode-alist (delq epa-file-auto-mode-alist-entry
auto-mode-alist))
- (when epa-file-mode
+ (when auto-encryption-mode
(setq file-name-handler-alist
(cons epa-file-handler file-name-handler-alist))
- (add-hook 'find-file-hooks 'epa-file-find-file-hook)
+ (add-hook 'find-file-hook 'epa-file-find-file-hook)
+ (add-hook 'find-file-not-found-functions
+ 'epa-file-find-file-not-found-functions)
(setq auto-mode-alist (cons epa-file-auto-mode-alist-entry
auto-mode-alist))))
+(put 'epa-file-handler 'safe-magic t)
+(put 'epa-file-handler 'operations '(write-region insert-file-contents))
+
(provide 'epa-file)
;; arch-tag: 5715152f-0eb1-4dbc-9008-07098775314d