mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Fix org-habit bug related to string mutation
* lisp/org/org-habit.el (org-habit-build-graph): Rewrite without using string mutation (using vectors instead), fixing a bug where org-habit-completed-glyph and org-habit-today-glyph wouldn't display properly if in the U+0080..00FF range, discovered by the more restricted string mutation. Reported by Daniel Mendler in https://lists.gnu.org/archive/html/emacs-orgmode/2025-08/msg00224.html
This commit is contained in:
parent
bba28b744c
commit
bebba6be3d
1 changed files with 14 additions and 10 deletions
|
|
@ -333,7 +333,8 @@ current time."
|
|||
(start (time-to-days starting))
|
||||
(now (time-to-days current))
|
||||
(end (time-to-days ending))
|
||||
(graph (make-string (1+ (- end start)) ?\s))
|
||||
(graph (make-vector (1+ (- end start)) ?\s))
|
||||
(props nil)
|
||||
(index 0)
|
||||
last-done-date)
|
||||
(while (and done-dates (< (car done-dates) start))
|
||||
|
|
@ -411,17 +412,20 @@ current time."
|
|||
(not (eq face 'org-habit-overdue-face))
|
||||
(not markedp))
|
||||
(setq face (cdr faces)))
|
||||
(put-text-property index (1+ index) 'face face graph)
|
||||
(put-text-property index (1+ index)
|
||||
'help-echo
|
||||
(concat (format-time-string
|
||||
(org-time-stamp-format)
|
||||
(time-add starting (days-to-time (- start (time-to-days starting)))))
|
||||
(if donep " DONE" ""))
|
||||
graph))
|
||||
(push (list index (1+ index) 'face face) props)
|
||||
(push (list index (1+ index)
|
||||
'help-echo
|
||||
(concat (format-time-string
|
||||
(org-time-stamp-format)
|
||||
(time-add starting (days-to-time (- start (time-to-days starting)))))
|
||||
(if donep " DONE" "")))
|
||||
props))
|
||||
(setq start (1+ start)
|
||||
index (1+ index)))
|
||||
graph))
|
||||
(let ((graph-str (concat graph)))
|
||||
(dolist (p props)
|
||||
(put-text-property (nth 0 p) (nth 1 p) (nth 2 p) (nth 3 p) graph-str))
|
||||
graph-str)))
|
||||
|
||||
(defun org-habit-insert-consistency-graphs (&optional line)
|
||||
"Insert consistency graph for any habitual tasks."
|
||||
|
|
|
|||
Loading…
Reference in a new issue