Edit proper timestamp when on a time range

* lisp/org.el (org-time-stamp): Offer appropriate default value
  depending on position of point in a time range.

Reported-by: Christoph LANGE <math.semantic.web@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/99783>
This commit is contained in:
Nicolas Goaziou 2015-08-10 22:32:24 +02:00
parent a472043b74
commit aa98f7c79a
1 changed files with 4 additions and 7 deletions

View File

@ -16638,13 +16638,10 @@ with the current time without prompting the user.
When called from lisp, the timestamp is inactive if INACTIVE is
non-nil."
(interactive "P")
(let* ((ts
(cond ((org-at-date-range-p t)
(save-excursion
(goto-char (match-beginning 0))
(looking-at (if inactive org-ts-regexp-both org-ts-regexp)))
(match-string 0))
((org-at-timestamp-p t) (match-string 0))))
(let* ((ts (cond
((org-at-date-range-p t)
(match-string (if (< (point) (- (match-beginning 2) 2)) 1 2)))
((org-at-timestamp-p t) (match-string 0))))
;; Default time is either the timestamp at point or today.
;; When entering a range, only the range start is considered.
(default-time (if (not ts) (current-time)