Fix bug with TODO states changes modifying scheduling of next headline
authorNicolas Goaziou <n.goaziou@gmail.com>
Thu, 21 Jul 2011 09:48:35 +0000 (11:48 +0200)
committerNicolas Goaziou <n.goaziou@gmail.com>
Thu, 21 Jul 2011 09:48:35 +0000 (11:48 +0200)
* lisp/org.el (org-timestamp-change): some locales don't use the same
  length for date abbreviations. Set a marker at origin in case length
  of new timestamp is different.

Thanks to Tom for analyzing this.

lisp/org.el

index 58aeb73..496e9aa 100644 (file)
@@ -15567,7 +15567,7 @@ With prefix ARG, change that many days."
 The date will be changed by N times WHAT.  WHAT can be `day', `month',
 `year', `minute', `second'.  If WHAT is not given, the cursor position
 in the timestamp determines what will be changed."
-  (let ((pos (point))
+  (let ((pos (copy-marker (point)))
        with-hm inactive
        (dm (max (nth 1 org-time-stamp-rounding-minutes) 1))
        org-ts-what
@@ -15631,6 +15631,7 @@ in the timestamp determines what will be changed."
            (org-insert-time-stamp time with-hm inactive nil nil extra))
       (org-clock-update-time-maybe)
       (goto-char pos)
+      (move-marker pos nil)
       ;; Try to recenter the calendar window, if any
       (if (and org-calendar-follow-timestamp-change
               (get-buffer-window "*Calendar*" t)