Pārlūkot izejas kodu

org-insert-time-stamp: fix value of org-last-inserted-timestamp

* lisp/org.el (org-insert-time-stamp): Fix org-insert-time-stamp so
  that the value of org-last-inserted-timestamp includes time range.

Previously, org-last-inserted-timestamp included only the
beginning of a time range (e.g., 10:00 instead of 10:00-12:00).
This caused parsing problems elsewhere, such as when rescheduling
items with repeating timestamps and a time range (the repeater
was removed during rescheduling).
Matt Lundin 15 gadi atpakaļ
vecāks
revīzija
f08a5eaa06
1 mainītis faili ar 2 papildinājumiem un 4 dzēšanām
  1. 2 4
      lisp/org.el

+ 2 - 4
lisp/org.el

@@ -14556,7 +14556,6 @@ The command returns the inserted time stamp."
 	stamp)
     (if inactive (setq fmt (concat "[" (substring fmt 1 -1) "]")))
     (insert-before-markers (or pre ""))
-    (insert-before-markers (setq stamp (format-time-string fmt time)))
     (when (listp extra)
       (setq extra (car extra))
       (if (and (stringp extra)
@@ -14566,9 +14565,8 @@ The command returns the inserted time stamp."
 			      (string-to-number (match-string 2 extra))))
 	(setq extra nil)))
     (when extra
-      (backward-char 1)
-      (insert-before-markers extra)
-      (forward-char 1))
+      (setq fmt (concat (substring fmt 0 -1) extra (substring fmt -1))))
+    (insert-before-markers (setq stamp (format-time-string fmt time)))
     (insert-before-markers (or post ""))
     (setq org-last-inserted-timestamp stamp)))