diff options
| author | Dan Nicolaescu | 2008-04-27 19:49:15 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 2008-04-27 19:49:15 +0000 |
| commit | bfeee9d15131df60ef028dda6ca4ab7c29e7d7d2 (patch) | |
| tree | 63e31d81a53dd40a472d7d4152eadda4dedf1fd0 /lisp/epa-file.el | |
| parent | b576c5808af88b494ccc9323061d9a44e9f67284 (diff) | |
| download | emacs-bfeee9d15131df60ef028dda6ca4ab7c29e7d7d2.tar.gz emacs-bfeee9d15131df60ef028dda6ca4ab7c29e7d7d2.zip | |
* 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.el | 22 |
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.") | |||
| 126 | (defun epa-file-handler (operation &rest args) | 126 | (defun epa-file-handler (operation &rest args) |
| 127 | (save-match-data | 127 | (save-match-data |
| 128 | (let ((op (get operation 'epa-file))) | 128 | (let ((op (get operation 'epa-file))) |
| 129 | (if op | 129 | (if (and op |
| 130 | (if (and (eq operation 'insert-file-contents) | ||
| 131 | |||
| 132 | (y-or-n-p "" | ||
| 130 | (apply op args) | 133 | (apply op args) |
| 131 | (epa-file-run-real-handler operation args))))) | 134 | (epa-file-run-real-handler operation args))))) |
| 132 | 135 | ||
| @@ -300,7 +303,7 @@ If no one is selected, symmetric encryption will be performed. ")))) | |||
| 300 | (message "`epa-file' already enabled") | 303 | (message "`epa-file' already enabled") |
| 301 | (setq file-name-handler-alist | 304 | (setq file-name-handler-alist |
| 302 | (cons epa-file-handler file-name-handler-alist)) | 305 | (cons epa-file-handler file-name-handler-alist)) |
| 303 | (add-hook 'find-file-hooks 'epa-file-find-file-hook) | 306 | (add-hook 'find-file-hook 'epa-file-find-file-hook) |
| 304 | (setq auto-mode-alist (cons epa-file-auto-mode-alist-entry auto-mode-alist)) | 307 | (setq auto-mode-alist (cons epa-file-auto-mode-alist-entry auto-mode-alist)) |
| 305 | (message "`epa-file' enabled"))) | 308 | (message "`epa-file' enabled"))) |
| 306 | 309 | ||
| @@ -311,30 +314,35 @@ If no one is selected, symmetric encryption will be performed. ")))) | |||
| 311 | (progn | 314 | (progn |
| 312 | (setq file-name-handler-alist | 315 | (setq file-name-handler-alist |
| 313 | (delq epa-file-handler file-name-handler-alist)) | 316 | (delq epa-file-handler file-name-handler-alist)) |
| 314 | (remove-hook 'find-file-hooks 'epa-file-find-file-hook) | 317 | (remove-hook 'find-file-hook 'epa-file-find-file-hook) |
| 315 | (setq auto-mode-alist (delq epa-file-auto-mode-alist-entry | 318 | (setq auto-mode-alist (delq epa-file-auto-mode-alist-entry |
| 316 | auto-mode-alist)) | 319 | auto-mode-alist)) |
| 317 | (message "`epa-file' disabled")) | 320 | (message "`epa-file' disabled")) |
| 318 | (message "`epa-file' already disabled"))) | 321 | (message "`epa-file' already disabled"))) |
| 319 | 322 | ||
| 320 | ;;;###autoload | 323 | ;;;###autoload |
| 321 | (define-minor-mode epa-file-mode | 324 | (define-minor-mode auto-encryption-mode |
| 322 | "Toggle automatic file encryption and decryption. | 325 | "Toggle automatic file encryption and decryption. |
| 323 | With prefix argument ARG, turn auto encryption on if positive, else off. | 326 | With prefix argument ARG, turn auto encryption on if positive, else off. |
| 324 | Return the new status of auto encryption (non-nil means on)." | 327 | Return the new status of auto encryption (non-nil means on)." |
| 325 | :global t :init-value nil :group 'epa-file :version "23.1" | 328 | :global t :init-value t :group 'epa-file :version "23.1" |
| 326 | (setq file-name-handler-alist | 329 | (setq file-name-handler-alist |
| 327 | (delq epa-file-handler file-name-handler-alist)) | 330 | (delq epa-file-handler file-name-handler-alist)) |
| 328 | (remove-hook 'find-file-hooks 'epa-file-find-file-hook) | 331 | (remove-hook 'find-file-hooks 'epa-file-find-file-hook) |
| 329 | (setq auto-mode-alist (delq epa-file-auto-mode-alist-entry | 332 | (setq auto-mode-alist (delq epa-file-auto-mode-alist-entry |
| 330 | auto-mode-alist)) | 333 | auto-mode-alist)) |
| 331 | (when epa-file-mode | 334 | (when auto-encryption-mode |
| 332 | (setq file-name-handler-alist | 335 | (setq file-name-handler-alist |
| 333 | (cons epa-file-handler file-name-handler-alist)) | 336 | (cons epa-file-handler file-name-handler-alist)) |
| 334 | (add-hook 'find-file-hooks 'epa-file-find-file-hook) | 337 | (add-hook 'find-file-hook 'epa-file-find-file-hook) |
| 338 | (add-hook 'find-file-not-found-functions | ||
| 339 | 'epa-file-find-file-not-found-functions) | ||
| 335 | (setq auto-mode-alist (cons epa-file-auto-mode-alist-entry | 340 | (setq auto-mode-alist (cons epa-file-auto-mode-alist-entry |
| 336 | auto-mode-alist)))) | 341 | auto-mode-alist)))) |
| 337 | 342 | ||
| 343 | (put 'epa-file-handler 'safe-magic t) | ||
| 344 | (put 'epa-file-handler 'operations '(write-region insert-file-contents)) | ||
| 345 | |||
| 338 | (provide 'epa-file) | 346 | (provide 'epa-file) |
| 339 | 347 | ||
| 340 | ;; arch-tag: 5715152f-0eb1-4dbc-9008-07098775314d | 348 | ;; arch-tag: 5715152f-0eb1-4dbc-9008-07098775314d |