aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2008-04-27 19:49:15 +0000
committerDan Nicolaescu2008-04-27 19:49:15 +0000
commitbfeee9d15131df60ef028dda6ca4ab7c29e7d7d2 (patch)
tree63e31d81a53dd40a472d7d4152eadda4dedf1fd0
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.
-rw-r--r--lisp/ChangeLog18
-rw-r--r--lisp/dired.el28
-rw-r--r--lisp/epa-dired.el27
-rw-r--r--lisp/epa-file.el22
-rw-r--r--lisp/epa.el66
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/menu-bar.el64
7 files changed, 129 insertions, 98 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fc2867c311f..b4ff9088ebb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,21 @@
12008-04-27 Daiki Ueno <ueno@unixuser.org>
2
3 * epa-file.el (auto-encryption-mode): Rename from epa-file-mode.
4 (epa-file-handler): Put 'safe-magic and 'operations properties.
5
6 * epa.el (epa-global-minor-modes, epa-mode, epa-menu)
7 (epa-menu-items): Remove.
8
9 * epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify)
10 (epa-dired-do-sign, epa-dired-do-encrypt): Add autoload cookie.
11 (epa-dired-mode, epa-global-dired-mode): Remove.
12
13 * dired.el (dired-mode-map): Bind encryption/decryption commands.
14
15 * menu-bar.el (menu-bar-encryption-decryption-menu): New menu item.
16
17 * files.el (insert-file-contents-literally): Inhibit epa-file-handler.
18
12008-04-27 Glenn Morris <rgm@gnu.org> 192008-04-27 Glenn Morris <rgm@gnu.org>
2 20
3 * textmodes/reftex-global.el (reftex-isearch-switch-to-next-file): 21 * textmodes/reftex-global.el (reftex-isearch-switch-to-next-file):
diff --git a/lisp/dired.el b/lisp/dired.el
index 375894ca8c1..521b1769a8e 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1279,6 +1279,11 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
1279 (define-key map "\C-tf" 'image-dired-mark-tagged-files) 1279 (define-key map "\C-tf" 'image-dired-mark-tagged-files)
1280 (define-key map "\C-t\C-t" 'image-dired-dired-insert-marked-thumbs) 1280 (define-key map "\C-t\C-t" 'image-dired-dired-insert-marked-thumbs)
1281 (define-key map "\C-te" 'image-dired-dired-edit-comment-and-tags) 1281 (define-key map "\C-te" 'image-dired-dired-edit-comment-and-tags)
1282 ;; encryption and decryption (epa-dired)
1283 (define-key map ":d" 'epa-dired-do-decrypt)
1284 (define-key map ":v" 'epa-dired-do-verify)
1285 (define-key map ":s" 'epa-dired-do-sign)
1286 (define-key map ":e" 'epa-dired-do-encrypt)
1282 1287
1283 ;; Make menu bar items. 1288 ;; Make menu bar items.
1284 1289
@@ -1325,6 +1330,29 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
1325 (cons "Immediate" (make-sparse-keymap "Immediate"))) 1330 (cons "Immediate" (make-sparse-keymap "Immediate")))
1326 1331
1327 (define-key map 1332 (define-key map
1333 [menu-bar immediate epa-dired-do-decrypt]
1334 '(menu-item "Decrypt" epa-dired-do-decrypt
1335 :help "Decrypt file at cursor"))
1336
1337 (define-key map
1338 [menu-bar immediate epa-dired-do-verify]
1339 '(menu-item "Verify" epa-dired-do-verify
1340 :help "Verify digital signature of file at cursor"))
1341
1342 (define-key map
1343 [menu-bar immediate epa-dired-do-sign]
1344 '(menu-item "Sign" epa-dired-do-sign
1345 :help "Create digital signature of file at cursor"))
1346
1347 (define-key map
1348 [menu-bar immediate epa-dired-do-encrypt]
1349 '(menu-item "Encrypt" epa-dired-do-encrypt
1350 :help "Encrypt file at cursor"))
1351
1352 (define-key map [menu-bar immediate dashes-4]
1353 '("--"))
1354
1355 (define-key map
1328 [menu-bar immediate image-dired-dired-display-external] 1356 [menu-bar immediate image-dired-dired-display-external]
1329 '(menu-item "Display Image Externally" image-dired-dired-display-external 1357 '(menu-item "Display Image Externally" image-dired-dired-display-external
1330 :help "Display image in external viewer")) 1358 :help "Display image in external viewer"))
diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index a02081bd9df..0a72c014e20 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -26,23 +26,7 @@
26(require 'epa) 26(require 'epa)
27(require 'dired) 27(require 'dired)
28 28
29(defvar epa-dired-mode-map
30 (let ((keymap (make-sparse-keymap)))
31 (define-key keymap ":d" 'epa-dired-do-decrypt)
32 (define-key keymap ":v" 'epa-dired-do-verify)
33 (define-key keymap ":s" 'epa-dired-do-sign)
34 (define-key keymap ":e" 'epa-dired-do-encrypt)
35 keymap))
36
37(defvar epa-dired-mode-hook nil)
38(defvar epa-dired-mode-on-hook nil)
39(defvar epa-dired-mode-off-hook nil)
40
41;;;###autoload 29;;;###autoload
42(define-minor-mode epa-dired-mode
43 "A minor-mode for encrypt/decrypt files with Dired."
44 nil " epa-dired" epa-dired-mode-map)
45
46(defun epa-dired-do-decrypt () 30(defun epa-dired-do-decrypt ()
47 "Decrypt marked files." 31 "Decrypt marked files."
48 (interactive) 32 (interactive)
@@ -52,6 +36,7 @@
52 (setq file-list (cdr file-list))) 36 (setq file-list (cdr file-list)))
53 (revert-buffer))) 37 (revert-buffer)))
54 38
39;;;###autoload
55(defun epa-dired-do-verify () 40(defun epa-dired-do-verify ()
56 "Verify marked files." 41 "Verify marked files."
57 (interactive) 42 (interactive)
@@ -60,6 +45,7 @@
60 (epa-verify-file (expand-file-name (car file-list))) 45 (epa-verify-file (expand-file-name (car file-list)))
61 (setq file-list (cdr file-list))))) 46 (setq file-list (cdr file-list)))))
62 47
48;;;###autoload
63(defun epa-dired-do-sign () 49(defun epa-dired-do-sign ()
64 "Sign marked files." 50 "Sign marked files."
65 (interactive) 51 (interactive)
@@ -74,6 +60,7 @@ If no one is selected, default secret key is used. "
74 (setq file-list (cdr file-list))) 60 (setq file-list (cdr file-list)))
75 (revert-buffer))) 61 (revert-buffer)))
76 62
63;;;###autoload
77(defun epa-dired-do-encrypt () 64(defun epa-dired-do-encrypt ()
78 "Encrypt marked files." 65 "Encrypt marked files."
79 (interactive) 66 (interactive)
@@ -86,14 +73,6 @@ If no one is selected, symmetric encryption will be performed. "))
86 (setq file-list (cdr file-list))) 73 (setq file-list (cdr file-list)))
87 (revert-buffer))) 74 (revert-buffer)))
88 75
89;;;###autoload
90(define-minor-mode epa-global-dired-mode
91 "Minor mode to hook EasyPG into Dired."
92 :global t :init-value nil :group 'epa-dired :version "23.1"
93 (remove-hook 'dired-mode-hook 'epa-dired-mode)
94 (if epa-global-dired-mode
95 (add-hook 'dired-mode-hook 'epa-dired-mode)))
96
97(provide 'epa-dired) 76(provide 'epa-dired)
98 77
99;; arch-tag: 2025700b-48d0-4684-bc94-228ad1f8e9ff 78;; arch-tag: 2025700b-48d0-4684-bc94-228ad1f8e9ff
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
diff --git a/lisp/epa.el b/lisp/epa.el
index 4f2b743d85f..2e2630b66a0 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -45,13 +45,6 @@ the separate window."
45 :type 'integer 45 :type 'integer
46 :group 'epa) 46 :group 'epa)
47 47
48(defcustom epa-global-minor-modes '(epa-global-dired-mode
49 epa-global-mail-mode
50 epa-file-mode)
51 "Globally defined minor modes to hook into other modes."
52 :type '(repeat symbol)
53 :group 'epa)
54
55(defgroup epa-faces nil 48(defgroup epa-faces nil
56 "Faces for epa-mode." 49 "Faces for epa-mode."
57 :version "23.1" 50 :version "23.1"
@@ -236,44 +229,6 @@ You should bind this variable with `let', but do not set it globally.")
236 (define-key keymap "q" 'delete-window) 229 (define-key keymap "q" 'delete-window)
237 keymap)) 230 keymap))
238 231
239(defvar epa-menu nil)
240
241(defconst epa-menu-items
242 '("Encryption/Decryption"
243 ("Decrypt"
244 ["File" epa-decrypt-file
245 :help "Decrypt a file"]
246 ["Region" epa-decrypt-region
247 :help "Decrypt the current region"])
248 ("Verify"
249 ["File" epa-verify-file
250 :help "Verify digital signature of a file"]
251 ["Region" epa-verify-region
252 :help "Verify digital signature of the current region"])
253 ("Sign"
254 ["File" epa-sign-file
255 :help "Create digital signature of a file"]
256 ["Region" epa-sign-region
257 :help "Create digital signature of the current region"])
258 ("Encrypt"
259 ["File" epa-encrypt-file
260 :help "Encrypt a file"]
261 ["Region" epa-encrypt-region
262 :help "Encrypt the current region"])
263 "----"
264 ["Browse keyring" epa-list-keys
265 :help "Browse your public keyring"]
266 ("Import keys"
267 ["File" epa-import-keys
268 :help "Import public keys from a file"]
269 ["Region" epa-import-keys-region
270 :help "Import public keys from the current region"])
271 ("Export key"
272 ["To a File" epa-export-keys
273 :help "Export public keys to a file"]
274 ["To a Buffer" epa-insert-keys
275 :help "Insert public keys after the current point"])))
276
277(defvar epa-exit-buffer-function #'bury-buffer) 232(defvar epa-exit-buffer-function #'bury-buffer)
278 233
279(define-widget 'epa-key 'push-button 234(define-widget 'epa-key 'push-button
@@ -1257,27 +1212,6 @@ between START and END."
1257;; (message "Signing keys...done"))) 1212;; (message "Signing keys...done")))
1258;; (make-obsolete 'epa-sign-keys "Do not use.") 1213;; (make-obsolete 'epa-sign-keys "Do not use.")
1259 1214
1260;;;###autoload
1261(define-minor-mode epa-mode
1262 "Minor mode to hook EasyPG into various modes.
1263See `epa-global-minor-modes'."
1264 :global t :init-value nil :group 'epa :version "23.1"
1265 (unless epa-menu
1266 (easy-menu-define epa-menu nil "EasyPG Assistant global menu"
1267 epa-menu-items))
1268 (easy-menu-remove-item nil '("Tools") "Encryption/Decryption")
1269 (if epa-mode
1270 (easy-menu-add-item nil '("Tools") epa-menu))
1271 (let ((modes epa-global-minor-modes)
1272 symbol)
1273 (while modes
1274 (setq symbol (car modes))
1275 (if (and symbol
1276 (fboundp symbol))
1277 (funcall symbol epa-mode)
1278 (message "`%S' not found" (car modes)))
1279 (setq modes (cdr modes)))))
1280
1281(provide 'epa) 1215(provide 'epa)
1282 1216
1283;; arch-tag: 38d20ced-20d5-4137-b17a-f206335423d7 1217;; arch-tag: 38d20ced-20d5-4137-b17a-f206335423d7
diff --git a/lisp/files.el b/lisp/files.el
index fc86df1bc3b..68c0657df7f 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1803,7 +1803,7 @@ This function ensures that none of these modifications will take place."
1803 (symbol-function 'find-buffer-file-type) 1803 (symbol-function 'find-buffer-file-type)
1804 nil)) 1804 nil))
1805 (inhibit-file-name-handlers 1805 (inhibit-file-name-handlers
1806 (append '(jka-compr-handler image-file-handler) 1806 (append '(jka-compr-handler image-file-handler epa-file-handler)
1807 inhibit-file-name-handlers)) 1807 inhibit-file-name-handlers))
1808 (inhibit-file-name-operation 'insert-file-contents)) 1808 (inhibit-file-name-operation 'insert-file-contents))
1809 (unwind-protect 1809 (unwind-protect
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index fe15c81c176..3502496dec0 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1082,6 +1082,70 @@ mail status in mode line"))
1082 (known (assq read-mail-command known-rmail-commands))) 1082 (known (assq read-mail-command known-rmail-commands)))
1083 (if known (cdr known) (symbol-name read-mail-command)))) 1083 (if known (cdr known) (symbol-name read-mail-command))))
1084 1084
1085(defvar menu-bar-encryption-decryption-menu
1086 (make-sparse-keymap "Encryption/Decryption"))
1087
1088(define-key menu-bar-tools-menu [encryption-decryption]
1089 (list 'menu-item "Encryption/Decryption" menu-bar-encryption-decryption-menu))
1090
1091(define-key menu-bar-tools-menu [separator-encryption-decryption]
1092 '("--"))
1093
1094(define-key menu-bar-encryption-decryption-menu [insert-keys]
1095 '(menu-item "Insert Keys" epa-insert-keys
1096 :help "Insert public keys after the current point"))
1097
1098(define-key menu-bar-encryption-decryption-menu [export-keys]
1099 '(menu-item "Export Keys" epa-export-keys
1100 :help "Export public keys to a file"))
1101
1102(define-key menu-bar-encryption-decryption-menu [import-keys-region]
1103 '(menu-item "Import Keys from Region" epa-import-keys-region
1104 :help "Import public keys from the current region"))
1105
1106(define-key menu-bar-encryption-decryption-menu [import-keys]
1107 '(menu-item "Import Keys from File" epa-import-keys
1108 :help "Import public keys from a file"))
1109
1110(define-key menu-bar-encryption-decryption-menu [list-keys]
1111 '(menu-item "List Keys" epa-list-keys
1112 :help "Browse your public keyring"))
1113
1114(define-key menu-bar-encryption-decryption-menu [separator-keys]
1115 '("--"))
1116
1117(define-key menu-bar-encryption-decryption-menu [encrypt-region]
1118 '(menu-item "Encrypt Region" epa-encrypt-region
1119 :help "Encrypt the current region"))
1120
1121(define-key menu-bar-encryption-decryption-menu [encrypt-file]
1122 '(menu-item "Encrypt File" epa-encrypt-file
1123 :help "Encrypt a file"))
1124
1125(define-key menu-bar-encryption-decryption-menu [sign-region]
1126 '(menu-item "Sign Region" epa-sign-region
1127 :help "Create digital signature of the current region"))
1128
1129(define-key menu-bar-encryption-decryption-menu [sign-file]
1130 '(menu-item "Sign File" epa-sign-file
1131 :help "Create digital signature of a file"))
1132
1133(define-key menu-bar-encryption-decryption-menu [verify-region]
1134 '(menu-item "Verify Region" epa-verify-region
1135 :help "Verify digital signature of the current region"))
1136
1137(define-key menu-bar-encryption-decryption-menu [verify-file]
1138 '(menu-item "Verify File" epa-verify-file
1139 :help "Verify digital signature of a file"))
1140
1141(define-key menu-bar-encryption-decryption-menu [decrypt-region]
1142 '(menu-item "Decrypt Region" epa-decrypt-region
1143 :help "Decrypt the current region"))
1144
1145(define-key menu-bar-encryption-decryption-menu [decrypt-file]
1146 '(menu-item "Decrypt File" epa-decrypt-file
1147 :help "Decrypt a file"))
1148
1085(defvar menu-bar-games-menu (make-sparse-keymap "Games")) 1149(defvar menu-bar-games-menu (make-sparse-keymap "Games"))
1086 1150
1087(define-key menu-bar-tools-menu [games] 1151(define-key menu-bar-tools-menu [games]