aboutsummaryrefslogtreecommitdiff
path: root/vterm.el
diff options
context:
space:
mode:
authorYubao Liu <yubao.liu@gmail.com>2024-06-26 22:38:57 +0800
committerGabriele Bozzola <sbozzolator@gmail.com>2024-07-05 08:33:04 -0700
commitd9ea29fb10aed20512bd95dc5b8c1a01684044b1 (patch)
tree5fe70fcad4e36e9229192b2c4ce6a5426f04f8b3 /vterm.el
parentdf057b1af2bb89a1deb288086f13be296af42090 (diff)
don't garble partial multi-byte character after control sequence
When use [lf](https://github.com/gokcehan/lf) to list files, emacs-libvterm may read partial multi-byte character, for example: $ echo -n '招聘' | hexdump -C 00000000 e6 8b 9b e8 81 98 ; get "招", control sequence and partial character (vterm--filter process "\xE6\x8B\x9B\e[14;111H\xE8") ; now full "聘" (vterm--filter process "\x81\x98") This will send "\xE8" to libvterm which is not a full character.
Diffstat (limited to 'vterm.el')
-rw-r--r--vterm.el2
1 files changed, 1 insertions, 1 deletions
diff --git a/vterm.el b/vterm.el
index 04c9058..fff90f2 100644
--- a/vterm.el
+++ b/vterm.el
@@ -1522,7 +1522,7 @@ Then triggers a redraw from the module."
(- count 1 partial)))
'eight-bit))
(cl-incf partial))
- (when (> count partial 0)
+ (when (> (1+ count) partial 0)
(setq vterm--undecoded-bytes
(substring decoded-substring (- partial)))
(setq decoded-substring