From 5959e29b4129ae5f86c3ae1de44232783be5e062 Mon Sep 17 00:00:00 2001 From: Ingo Lohmar Date: Sat, 19 May 2018 13:00:59 +0200 Subject: [PATCH] enchive-mode.el: choose major mode without '.enchive' suffix (#13) --- enchive-mode.el | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/enchive-mode.el b/enchive-mode.el index 13e42d7..97f6e40 100644 --- a/enchive-mode.el +++ b/enchive-mode.el @@ -16,9 +16,12 @@ (defcustom enchive-program-name "enchive" "Path to the locally installed enchive binary.") -(defvar enchive-handler-entry (cons "\\.enchive$" #'enchive-file-handler) +(defvar enchive-handler-entry (cons "\\.enchive\\'" #'enchive-file-handler) "Entry for `enchive-mode' in `file-name-handler-alist'.") +(defvar enchive-auto-mode-entry (list "\\.enchive\\'" nil 'enchive) + "Entry for `enchive-mode' in `auto-mode-alist'.") + (defun enchive-file-handler (operation &rest args) "Handler for `file-name-handler-alist' for automatic encrypt/decrypt." (let ((file-name-handler-alist ())) @@ -41,9 +44,13 @@ :global t (setf file-name-handler-alist (delq enchive-handler-entry file-name-handler-alist)) - (if enchive-mode - (setf file-name-handler-alist - (cons enchive-handler-entry file-name-handler-alist)))) + (setf auto-mode-alist + (delq enchive-auto-mode-entry auto-mode-alist)) + (when enchive-mode + (setf file-name-handler-alist + (cons enchive-handler-entry file-name-handler-alist)) + (setf auto-mode-alist + (cons enchive-auto-mode-entry auto-mode-alist)))) (provide 'enchive-mode)