aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/epa-file.el
diff options
context:
space:
mode:
authorDan Nicolaescu2008-04-27 19:49:15 +0000
committerDan Nicolaescu2008-04-27 19:49:15 +0000
commitbfeee9d15131df60ef028dda6ca4ab7c29e7d7d2 (patch)
tree63e31d81a53dd40a472d7d4152eadda4dedf1fd0 /lisp/epa-file.el
parentb576c5808af88b494ccc9323061d9a44e9f67284 (diff)
downloademacs-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.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.")
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.
323With prefix argument ARG, turn auto encryption on if positive, else off. 326With prefix argument ARG, turn auto encryption on if positive, else off.
324Return the new status of auto encryption (non-nil means on)." 327Return 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