[Org] Save point and mark when inserting new clock lines

This commit is contained in:
Daniel - 2018-01-13 14:06:51 +01:00
parent 2fcc4c4685
commit 2c8d8ddaf1
Signed by: dbo
GPG Key ID: 4F63DB96D45AA9C6
1 changed files with 10 additions and 9 deletions

View File

@ -1075,15 +1075,17 @@ ending at 23:61. When not given, FILES defaults to
(defun db/org-insert-clockline (time-1 time-2) (defun db/org-insert-clockline (time-1 time-2)
"Insert new clock line from TIME-1 to TIME-2 at the beginning "Insert new clock line from TIME-1 to TIME-2 at the beginning
of the current line. TIME-1 and TIME-2 must be given in a of the current line. TIME-1 and TIME-2 must be given in a
format understandable by `format-time-string, which see." format understandable by `format-time-string, which see.
Saves mark and point."
(let ((timestamp-format (concat "[" (substring (cdr org-time-stamp-formats) 1 -1) "]"))) (let ((timestamp-format (concat "[" (substring (cdr org-time-stamp-formats) 1 -1) "]")))
(beginning-of-line) (save-mark-and-excursion
(indent-according-to-mode) (beginning-of-line)
(insert "CLOCK: ") (indent-according-to-mode)
(insert (format-time-string timestamp-format time-1)) (insert "CLOCK: ")
(insert "--") (insert (format-time-string timestamp-format time-1))
(insert (format-time-string timestamp-format time-2)) (insert "--")
(org-clock-update-time-maybe))) (insert (format-time-string timestamp-format time-2))
(org-clock-update-time-maybe))))
(defun db/org-add-clocking-time (starting-time ending-time) (defun db/org-add-clocking-time (starting-time ending-time)
"Add \"CLOCK:\" line to the task under point in the current org-mode file." "Add \"CLOCK:\" line to the task under point in the current org-mode file."
@ -1132,7 +1134,6 @@ START and END must be given as org-mode timestamp strings."
(beginning-of-line) (beginning-of-line)
(kill-line) (kill-line)
(db/org-insert-clockline current-start new-start) (db/org-insert-clockline current-start new-start)
(beginning-of-line)
(open-line 1) (open-line 1)
(db/org-insert-clockline new-end current-end)) (db/org-insert-clockline new-end current-end))
;; New interval overlaps beginning of current line ;; New interval overlaps beginning of current line