Remove the condition '(< curr-width prev-width)' that was intended to check
if the width stopped to change. But actually it's not only unneeded,
but causes a bug: when the name contains a combining character, then
the width doesn't change, and the name truncation stops too early.
space
(substring name ins-pos)))
(setq curr-width (string-pixel-width name))
- (if (and (< curr-width width)
- (> curr-width prev-width))
+ (if (< curr-width width)
(setq prev-width curr-width
prev-name name)
;; Set back a shorter name
(and del-pos2
(substring name del-pos2))))
(setq curr-width (string-pixel-width name))
- (if (and (> curr-width width)
- (< curr-width prev-width))
+ (if (> curr-width width)
(setq prev-width curr-width)
(setq continue nil)))
(let* ((len (length name))