   "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"))))

(defun org-encrypt-entry ()
  "Encrypt the content of the current headline."
  (interactive)
  (save-excursion
    (org-back-to-heading t)
    (forward-line)
    (when (not (looking-at "-----BEGIN PGP MESSAGE-----"))
      (let ((folded (org-invisible-p))
	    (epg-context (epg-make-context nil t t))
	    (crypt-key (org-crypt-key-for-heading))
	    (beg (point))
	    end encrypted-text)
	(org-end-of-subtree t t)
	(org-back-over-empty-lines)
        (setq end (point)
              encrypted-text
              (epg-encrypt-string 
               epg-context
               (buffer-substring-no-properties beg end)
               (epg-list-keys epg-context crypt-key)))
        (delete-region beg end)
        (insert encrypted-text)
	(when folded
	  (save-excursion
	    (org-back-to-heading t)
	    (hide-subtree)))
        nil))))

(defun org-decrypt-entry ()
  (interactive)
  (save-excursion
    (org-back-to-heading t)
    (forward-line)
    (when (looking-at "-----BEGIN PGP MESSAGE-----")
      (let* ((beg (point))
             (end (save-excursion 
                    (search-forward "-----END PGP MESSAGE-----")
                    (forward-line)
                    (point)))
             (epg-context (epg-make-context nil t t))
             (decrypted-text 
	      (decode-coding-string
	       (epg-decrypt-string
		epg-context

;;; org-crypt.el --- Public key encryption for org-mode entries

;; Copyright (C) 2007, 2009, 2010  Free Software Foundation, Inc.

;; Emacs Lisp Archive Entry
;; Filename: org-crypt.el
;; Version: 6.35g
;; Keywords: org-mode
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: Peter Jones <pjones@pmade.com>
