;;; org-crypt.el --- Public key encryption for org-mode entries
-;; Copyright (C) 2009 Peter Jones <pjones@pmade.com>
-;; Copyright (C) 2007 John Wiegley <johnw@gnu.org>
+;; Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
;; Emacs Lisp Archive Entry
;; Filename: org-crypt.el
-;; Version: 6.31a
+;; Version: 6.35i
;; Keywords: org-mode
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: Peter Jones <pjones@pmade.com>
"Returns the encryption key for the current heading."
(save-excursion
(org-back-to-heading t)
- (or (org-entry-get nil "CRYPTKEY" 'selective)
+ (or (org-entry-get nil "CRYPTKEY" 'selective)
org-crypt-key
(and (boundp 'epa-file-encrypt-to) epa-file-encrypt-to)
(error "No crypt key set"))))
(org-back-over-empty-lines)
(setq end (point)
encrypted-text
- (epg-encrypt-string
+ (epg-encrypt-string
epg-context
(buffer-substring-no-properties beg end)
(epg-list-keys epg-context crypt-key)))
nil))))
(defun org-decrypt-entry ()
+ "Decrypt the content of the current headline."
(interactive)
(require 'epg)
(save-excursion
(forward-line)
(when (looking-at "-----BEGIN PGP MESSAGE-----")
(let* ((beg (point))
- (end (save-excursion
+ (end (save-excursion
(search-forward "-----END PGP MESSAGE-----")
(forward-line)
(point)))
(epg-context (epg-make-context nil t t))
- (decrypted-text
+ (decrypted-text
(decode-coding-string
(epg-decrypt-string
epg-context
nil))))
(defun org-encrypt-entries ()
+ "Encrypt all top-level entries in the current buffer."
(interactive)
(org-scan-tags
'org-encrypt-entry
(cdr (org-make-tags-matcher org-crypt-tag-matcher))))
(defun org-decrypt-entries ()
+ "Decrypt all entries in the current buffer."
(interactive)
- (org-scan-tags
+ (org-scan-tags
'org-decrypt-entry
(cdr (org-make-tags-matcher org-crypt-tag-matcher))))
(defun org-crypt-use-before-save-magic ()
"Adds a hook that will automatically encrypt entries before a
file is saved to disk."
- (add-hook
- 'org-mode-hook
+ (add-hook
+ 'org-mode-hook
(lambda () (add-hook 'before-save-hook 'org-encrypt-entries nil t))))
-
+
+(add-hook 'org-reveal-start-hook 'org-decrypt-entry)
+
(provide 'org-crypt)
;; arch-tag: 8202ed2c-221e-4001-9e4b-54674a7e846e