[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [PATCH] org-crypt: make org-decrypt disable auto-save-mode (configur
From: |
Pieter Praet |
Subject: |
[O] [PATCH] org-crypt: make org-decrypt disable auto-save-mode (configurable) |
Date: |
Sun, 26 Jun 2011 10:38:04 +0200 |
Signed-off-by: Pieter Praet <address@hidden>
---
This is appears to be the only solution that doesn't cause
the production of inordinate amounts of cortisol.
I've also added a warning re the broken state of `auto-save-hook'.
lisp/org-crypt.el | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/lisp/org-crypt.el b/lisp/org-crypt.el
index 4bff7a1..0a0ce96 100644
--- a/lisp/org-crypt.el
+++ b/lisp/org-crypt.el
@@ -94,6 +94,15 @@ This setting can also be overridden in the CRYPTKEY
property."
:type 'string
:group 'org-crypt)
+(defcustom org-crypt-disable-auto-save t
+ "What org-decrypt should do if `auto-save-default' is enabled.
+
+t : Disable it for the current buffer prior to decrypting an entry.
+nil : Leave it enabled."
+ :group 'org-crypt
+ :type '(choice (const :tag "Always" t)
+ (const :tag "Never" nil)))
+
(defun org-crypt-key-for-heading ()
"Return the encryption key for the current heading."
(save-excursion
@@ -142,6 +151,24 @@ This setting can also be overridden in the CRYPTKEY
property."
(defun org-decrypt-entry ()
"Decrypt the content of the current headline."
(interactive)
+
+ ; auto-save-mode causes leakage, so check whether it's enabled.
+ (when auto-save-default
+ ; Ideally, we'd check whether it's enabled for the current buffer,
+ ; using the buffer-local variable `auto-save-mode', but the
+ ; `auto-save-mode' function doesn't set this, so we have to check
+ ; the global variable `auto-save-default' instead.
+ ; Consequently, the following will run regardless of whether
+ ; `auto-save-mode' is enabled for the current buffer, spamming the
+ ; *Messages* buffer.
+ (if (eq org-crypt-disable-auto-save t)
+ (progn
+ (message "org-decrypt: Disabling auto-save-mode for current buffer
to prevent leakage.")
+ ; The argument to auto-save-mode has to be "-1", since
+ ; giving a "nil" argument toggles instead of disabling.
+ (auto-save-mode -1))
+ (message "org-decrypt: WARNING! auto-save-mode is enabled globally. This
may cause leakage.")))
+
(require 'epg)
(unless (org-before-first-heading-p)
(save-excursion
@@ -204,15 +231,16 @@ This setting can also be overridden in the CRYPTKEY
property."
;; FIXME Find a better way to encrypt Org auto-saved buffers?
;; When `auto-save-default' is non-nil, make sure entries are
;; encrypted before auto-saving
+;; NOTE: auto-save-hook does NOT work, so don't rely on it!
;; (when auto-save-default
;; (add-hook
;; '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
- Re: [O] Documentation suggestion re: buffers containing crypted entries, Dave Abrahams, 2011/06/12
- Re: [O] Documentation suggestion re: buffers containing crypted entries, Eric S Fraga, 2011/06/24
- [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Pieter Praet, 2011/06/24
- Re: [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Nick Dokos, 2011/06/24
- Re: [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Pieter Praet, 2011/06/26
- [O] [PATCH] org-crypt: make org-decrypt disable auto-save-mode (configurable),
Pieter Praet <=
- Re: [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Bastien, 2011/06/27
- Re: [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Pieter Praet, 2011/06/28
- [O] [PATCH] org-crypt: make org-decrypt disable auto-save-mode (configurable), Pieter Praet, 2011/06/28
- Re: [O] [PATCH] org-crypt: make org-decrypt disable auto-save-mode (configurable), Bastien, 2011/06/28
- Re: [O] [PATCH] org-crypt: only warn about auto-save-mode when running org-decrypt, Bastien, 2011/06/28
Re: [O] Documentation suggestion re: buffers containing crypted entries, Bernt Hansen, 2011/06/24