mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-26 23:32:52 +00:00
Make drawer skipping for note insertion more sensible.
This commit is contained in:
parent
f70127dd3f
commit
07f51279b2
|
@ -1,5 +1,8 @@
|
||||||
2008-10-15 James TD Smith <ahktenzero@mohorovi.cc>
|
2008-10-15 James TD Smith <ahktenzero@mohorovi.cc>
|
||||||
|
|
||||||
|
* org.el (org-add-log-setup): Only skip drawers if the are
|
||||||
|
immediately after the scheduling keywords.
|
||||||
|
|
||||||
* org-clock.el (org-clock-in-switch-to-state): Allow this to be a
|
* org-clock.el (org-clock-in-switch-to-state): Allow this to be a
|
||||||
function
|
function
|
||||||
(org-clock-in): If `org-clock-in-switch-to-state' is a function,
|
(org-clock-in): If `org-clock-in-switch-to-state' is a function,
|
||||||
|
|
17
lisp/org.el
17
lisp/org.el
|
@ -1515,7 +1515,9 @@ empty string.
|
||||||
|
|
||||||
(defcustom org-log-state-notes-insert-after-drawers nil
|
(defcustom org-log-state-notes-insert-after-drawers nil
|
||||||
"Non-nil means, insert state change notes after any drawers in entry.
|
"Non-nil means, insert state change notes after any drawers in entry.
|
||||||
When nil, insert them right after the heading and perhaps the line
|
Only the drawers that *immediately* follow the headline and the
|
||||||
|
deadline/scheduled line are skipped.
|
||||||
|
When nil, insert notes right after the heading and perhaps the line
|
||||||
with deadline/scheduling if present."
|
with deadline/scheduling if present."
|
||||||
:group 'org-todo
|
:group 'org-todo
|
||||||
:group 'org-progress
|
:group 'org-progress
|
||||||
|
@ -8392,15 +8394,18 @@ EXTRA is additional text that will be inserted into the notes buffer."
|
||||||
(org-back-to-heading t)
|
(org-back-to-heading t)
|
||||||
(narrow-to-region (point) (save-excursion
|
(narrow-to-region (point) (save-excursion
|
||||||
(outline-next-heading) (point)))
|
(outline-next-heading) (point)))
|
||||||
(when org-log-state-notes-insert-after-drawers
|
|
||||||
(while (re-search-forward
|
|
||||||
(concat "\\(" org-drawer-regexp
|
|
||||||
"\\|" org-property-end-re "\\)")
|
|
||||||
(point-max) t) (forward-line)))
|
|
||||||
(looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"
|
(looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"
|
||||||
"\\(\n[^\r\n]*?" org-keyword-time-not-clock-regexp
|
"\\(\n[^\r\n]*?" org-keyword-time-not-clock-regexp
|
||||||
"[^\r\n]*\\)?"))
|
"[^\r\n]*\\)?"))
|
||||||
(goto-char (match-end 0))
|
(goto-char (match-end 0))
|
||||||
|
(when (and org-log-state-notes-insert-after-drawers
|
||||||
|
(save-excursion
|
||||||
|
(forward-line) (looking-at org-drawer-regexp)))
|
||||||
|
(progn (forward-line)
|
||||||
|
(while (looking-at org-drawer-regexp)
|
||||||
|
(goto-char (match-end 0))
|
||||||
|
(re-search-forward org-property-end-re (point-max) t)
|
||||||
|
(forward-line))))
|
||||||
(unless org-log-states-order-reversed
|
(unless org-log-states-order-reversed
|
||||||
(and (= (char-after) ?\n) (forward-char 1))
|
(and (= (char-after) ?\n) (forward-char 1))
|
||||||
(org-skip-over-state-notes)
|
(org-skip-over-state-notes)
|
||||||
|
|
Loading…
Reference in a new issue