From 090f7d8f514dce813195b4b2d6f3ca473d1e449e Mon Sep 17 00:00:00 2001 From: JenChieh Date: Wed, 28 Feb 2024 15:33:49 -0800 Subject: [PATCH] fix: Ensure no properties when calc string len --- sideline.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sideline.el b/sideline.el index 02f2e3e..f0b1fb7 100644 --- a/sideline.el +++ b/sideline.el @@ -232,9 +232,16 @@ (require 'shr) (shr-string-pixel-width str))) +(defun sideline--str-no-props (str) + "Remove STR's text properties." + (with-temp-buffer + (insert str) + (buffer-substring-no-properties (point-min) (point-max)))) + (defun sideline--str-len (str) "Calculate STR in pixel width." (let ((width (frame-char-width)) + (str (sideline--str-no-props str)) (len (sideline--string-pixel-width str))) (+ (/ len width) (if (zerop (% len width)) 0 1)))) ; add one if exceeed