Allow to specify the names of automatic bookmarks
* lisp/org.el (org-bookmark-names-plist): New user option. (org-set-regexps-and-options-for-tags): Use `org-bookmark-names-plist'. (org-refile): Use `org-bookmark-names-plist'. * lisp/org-capture.el (org-capture-bookmark-last-stored-position): Use `org-bookmark-names-plist'. Patch modified from a proposal by Oleh.
This commit is contained in:
parent
59eff74fad
commit
131e7a679e
|
@ -1267,8 +1267,11 @@ Of course, if exact position has been required, just put it there."
|
|||
(save-restriction
|
||||
(widen)
|
||||
(goto-char pos)
|
||||
(with-demoted-errors
|
||||
(bookmark-set "org-capture-last-stored"))
|
||||
(let ((bookmark-name (plist-get org-bookmark-names-plist
|
||||
:last-capture)))
|
||||
(when bookmark-name
|
||||
(with-demoted-errors
|
||||
(bookmark-set bookmark-name))))
|
||||
(move-marker org-capture-last-stored-marker (point)))))))
|
||||
|
||||
(defun org-capture-narrow (beg end)
|
||||
|
|
29
lisp/org.el
29
lisp/org.el
|
@ -1032,6 +1032,21 @@ commands in the Help buffer using the `?' speed command."
|
|||
(function)
|
||||
(sexp))))))
|
||||
|
||||
(defcustom org-bookmark-names-plist
|
||||
'(:last-capture "org-capture-last-stored"
|
||||
:last-refile "org-refile-last-stored"
|
||||
:last-capture-marker "org-capture-last-stored-marker")
|
||||
"Names for bookmarks automatically set by some Org commands.
|
||||
This can provide strings as names for a number of bookmakrs Org sets
|
||||
automatically. The following keys are currently implemented:
|
||||
:last-capture
|
||||
:last-capture-marker
|
||||
:last-refile
|
||||
When a key does not show up in the property list, the corresponding bookmark
|
||||
is not set."
|
||||
:group 'org-structure
|
||||
:type 'plist)
|
||||
|
||||
(defgroup org-cycle nil
|
||||
"Options concerning visibility cycling in Org-mode."
|
||||
:tag "Org Cycle"
|
||||
|
@ -11589,13 +11604,19 @@ prefix argument (`C-u C-u C-u C-c C-w')."
|
|||
(and org-auto-align-tags
|
||||
(let ((org-loop-over-headlines-in-active-region nil))
|
||||
(org-set-tags nil t)))
|
||||
(with-demoted-errors
|
||||
(bookmark-set "org-refile-last-stored"))
|
||||
(let ((bookmark-name (plist-get org-bookmark-names-plist
|
||||
:last-refile)))
|
||||
(when bookmark-name
|
||||
(with-demoted-errors
|
||||
(bookmark-set bookmark-name))))
|
||||
;; If we are refiling for capture, make sure that the
|
||||
;; last-capture pointers point here
|
||||
(when (org-bound-and-true-p org-refile-for-capture)
|
||||
(with-demoted-errors
|
||||
(bookmark-set "org-capture-last-stored-marker"))
|
||||
(let ((bookmark-name (plist-get org-bookmark-names-plist
|
||||
:last-capture-marker)))
|
||||
(when bookmark-name
|
||||
(with-demoted-errors
|
||||
(bookmark-set bookmark-name))))
|
||||
(move-marker org-capture-last-stored-marker (point)))
|
||||
(if (fboundp 'deactivate-mark) (deactivate-mark))
|
||||
(run-hooks 'org-after-refile-insert-hook))))
|
||||
|
|
Loading…
Reference in New Issue