[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 76f9a3c2cb 1/2: org-timestamp-change: Add FIXME
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 76f9a3c2cb 1/2: org-timestamp-change: Add FIXME |
Date: |
Fri, 13 Jan 2023 04:58:00 -0500 (EST) |
branch: externals/org
commit 76f9a3c2cb76bcd1e550d68a749de9ef2772644d
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-timestamp-change: Add FIXME
* lisp/org.el (org-timestamp-change): Add FIXME comment to
re-implement the logic in future to avoid `save-excursion' markers
being moved to the end of timestamp.
---
lisp/org.el | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lisp/org.el b/lisp/org.el
index a35f3260c2..59fe3d2d34 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -14845,6 +14845,12 @@ When SUPPRESS-TMP-DELAY is non-nil, suppress delays
like
(setq timestamp? (or what timestamp?)
inactive (= (char-after (match-beginning 0)) ?\[)
ts (match-string 0))
+ ;; FIXME: Instead of deleting everything and then inserting
+ ;; later, we should make use of `replace-match', which preserves
+ ;; markers. The current implementation suffers from
+ ;; `save-excursion' not preserving point inside the timestamp
+ ;; once we delete the timestamp here. The point moves to the
+ ;; updated timestamp end.
(replace-match "")
(when (string-match
"\\(\\(-[012][0-9]:[0-5][0-9]\\)?\\(
+[.+]?-?[-+][0-9]+[hdwmy]\\(/[0-9]+[hdwmy]\\)?\\)*\\)[]>]"