diff options
author | Kaushal Modi <kaushal.modi@gmail.com> | 2018-12-13 10:18:18 -0500 |
---|---|---|
committer | Kaushal Modi <kaushal.modi@gmail.com> | 2018-12-13 14:09:39 -0500 |
commit | a60a0edc6fddb0e66077a602b241eb3d023266b2 (patch) | |
tree | 965fb6491c3b7297cc155d763d8785ff885173e6 | |
parent | 54123cd7f20227d9679130bee907ede9e42e73fd (diff) | |
download | org-mode-a60a0edc6fddb0e66077a602b241eb3d023266b2.tar.gz |
Add :no-save keyword for Org capture templates
* lisp/org-capture.el (org-capture-finalize): Do not save the target
capture file if :no-save keyword is non-nil in the capture template.
* doc/org-manual.org (Template elements),
lisp/org-capture.el (org-capture-templates): Document :no-save.
Ref: https://lists.gnu.org/r/emacs-orgmode/2018-09/msg00325.html
-rw-r--r-- | doc/org-manual.org | 4 | ||||
-rw-r--r-- | lisp/org-capture.el | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/doc/org-manual.org b/doc/org-manual.org index 051ffaa..b301d0a 100644 --- a/doc/org-manual.org +++ b/doc/org-manual.org @@ -7352,6 +7352,10 @@ Now lets look at the elements of a template definition. Each entry in If the target file was not yet visited when capture was invoked, kill the buffer again after capture is completed. + - ~:no-save~ :: + + Do not save the target file after finishing the capture. + **** Template expansion :PROPERTIES: :DESCRIPTION: Filling in information about time and context. diff --git a/lisp/org-capture.el b/lisp/org-capture.el index a463e29..22e28f0 100644 --- a/lisp/org-capture.el +++ b/lisp/org-capture.el @@ -266,6 +266,8 @@ properties are: capture was invoked, kill the buffer again after capture is finalized. + :no-save Do not save the target file after finishing the capture. + The template defines the text to be inserted. Often this is an Org mode entry (so the first line should start with a star) that will be filed as a child of the target headline. It can also be @@ -795,8 +797,8 @@ captured item after finalizing." (goto-char (org-capture-get :decrypted)) (org-encrypt-entry))) - ;; Kill the indirect buffer - (save-buffer) + (unless (org-capture-get :no-save) (save-buffer)) + (let ((return-wconf (org-capture-get :return-to-wconf 'local)) (new-buffer (org-capture-get :new-buffer 'local)) (kill-buffer (org-capture-get :kill-buffer 'local)) |