(epa-file-auto-mode-alist-entry): New variable.
[elisp/epg.git] / epa-file.el
index a6a800e..4d6df44 100644 (file)
@@ -82,6 +82,9 @@ May either be a string or a list of strings.")
 (defvar epa-file-handler
   (cons epa-file-name-regexp 'epa-file-handler))
 
+(defvar epa-file-auto-mode-alist-entry
+  (list epa-file-name-regexp nil 'epa-file))
+
 (defvar epa-file-passphrase-alist nil)
 
 (eval-and-compile
@@ -291,6 +294,7 @@ If no one is selected, symmetric encryption will be performed.  ")))
     (setq file-name-handler-alist
          (cons epa-file-handler file-name-handler-alist))
     (add-hook 'find-file-hooks 'epa-file-find-file-hook)
+    (setq auto-mode-alist (cons epa-file-auto-mode-alist-entry auto-mode-alist))
     (message "`epa-file' enabled")))
 
 ;;;###autoload
@@ -301,6 +305,8 @@ If no one is selected, symmetric encryption will be performed.  ")))
        (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))
        (message "`epa-file' disabled"))
     (message "`epa-file' already disabled")))