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
This commit is contained in:
Kaushal Modi 2018-12-13 10:18:18 -05:00
parent 54123cd7f2
commit a60a0edc6f
2 changed files with 8 additions and 2 deletions

View File

@ -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.

View File

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