As auto-save-mode can only cause leakage after org-decrypt has been run, there's no need to check for it (and potentially cause annoyance) so early.
Unfortunately, auto-save-mode doesn't set a buffer-local var to indicate whether it's enabled for the current buffer (checking `buffer-auto-save-file-name' has proven to be unreliable), so we can only check whether it's enabled globally, using `auto-save-default'. Signed-off-by: Pieter Praet <pie...@praet.org> --- lisp/org-crypt.el | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lisp/org-crypt.el b/lisp/org-crypt.el index 4bff7a1..f4c0b8e 100644 --- a/lisp/org-crypt.el +++ b/lisp/org-crypt.el @@ -142,6 +142,10 @@ This setting can also be overridden in the CRYPTKEY property." (defun org-decrypt-entry () "Decrypt the content of the current headline." (interactive) + (when + (or + (not auto-save-default) + (yes-or-no-p "WARNING: auto-save-mode is enabled globally. This may cause leakage. Continue? ")) (require 'epg) (unless (org-before-first-heading-p) (save-excursion @@ -179,7 +183,7 @@ This setting can also be overridden in the CRYPTKEY property." (when heading-was-invisible-p (goto-char heading-point) (org-flag-subtree t)) - nil)))))) + nil))))))) (defun org-encrypt-entries () "Encrypt all top-level entries in the current buffer." @@ -209,10 +213,10 @@ This setting can also be overridden in the CRYPTKEY property." ;; 'org-mode-hook ;; (lambda () (add-hook 'auto-save-hook 'org-encrypt-entries nil t)))) -(when (and (functionp 'daemonp) - (not (daemonp)) auto-save-default) - (message "Warning: turn auto-save-mode off in Org buffers containing crypted entries.") - (sit-for 1)) +;; (when (and (functionp 'daemonp) +;; (not (daemonp)) auto-save-default) +;; (message "Warning: turn auto-save-mode off in Org buffers containing crypted entries.") +;; (sit-for 1)) (add-hook 'org-reveal-start-hook 'org-decrypt-entry) -- 1.7.4.1