summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2017-11-29 15:09:44 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2017-11-29 15:09:44 +0100
commit45c45027138624eb586d7ccca06226e333dd8c5a (patch)
tree14ba06dac93b5a35f07e7d3e7f1e5e119cc7cb1d
parent12ea0f08f4acbdb534ae6928ab7a323b752d1f72 (diff)
downloadorg-mode-45c45027138624eb586d7ccca06226e333dd8c5a.tar.gz
org-capture: Re-introduce history list per prompt
* lisp/org-capture.el (org-capture--prompt-history-table): (org-capture--prompt-history): New variables. (org-capture-fill-template): Handle history list per prompt. Reported-by: Karl Eichwalder <ke@gnu.franken.de> <http://lists.gnu.org/r/emacs-orgmode/2017-11/msg00251.html>
-rw-r--r--lisp/org-capture.el17
1 files changed, 15 insertions, 2 deletions
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 2222bf4..0321021 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -79,6 +79,12 @@
(defvar org-capture-is-refiling nil
"Non-nil when capture process is refiling an entry.")
+(defvar org-capture--prompt-history-table (make-hash-table :test #'equal)
+ "Hash table for all history lists per prompt.")
+
+(defvar org-capture--prompt-history nil
+ "History list for prompt placeholders.")
+
(defgroup org-capture nil
"Options concerning capturing new entries."
:tag "Org Capture"
@@ -1797,13 +1803,20 @@ The template may still contain \"%?\" for cursor positioning."
(member key '("u" "U"))
nil nil (list org-end-time-was-given))))
(`nil
+ ;; Load history list for current prompt.
+ (setq org-capture--prompt-history
+ (gethash prompt org-capture--prompt-history-table))
(push (org-completing-read
(concat (or prompt "Enter string")
(and default (format " [%s]" default))
": ")
- completions nil nil nil nil default)
+ completions
+ nil nil nil 'org-capture--prompt-history default)
strings)
- (insert (car strings)))
+ (insert (car strings))
+ ;; Save updated history list for current prompt.
+ (puthash prompt org-capture--prompt-history
+ org-capture--prompt-history-table))
(_
(error "Unknown template placeholder: \"%%^%s\""
key))))))))