posframe 对单行文本的显示可能有问题?

最近在试用 emacs-rime 的时候发现偶尔会出现候选词显示不全的情况,如图: image

因为换用 popup 方式显示正常,所以猜测可能与 posframe 有关。

在提 issue 讨论的过程中发现特定长度的字符串在 posframe 会有显示不全,如执行如下代码:

(posframe-show "*posframe-test"
               :string "ni ni ni ni ni| 1. 你妮好好妮好妮 2. 妮妮 3. 呢呢 4. 嶷嶷 5. 你  ")

最后的“你”不显示,如图:

此时在字符串中增加或删除一个字就都能全部显示,如删掉一个字:

此时继续删字,删除到某个数量时又会出现显示不全:

此例共删除5个字后重现显示不全的情况,但是并没有找到规律,只是一个一个的尝试发现的。

不知是哪里的问题造成的。是调用的方式不对还是 posframe 在文本宽度计算上有问题?

又或者是我环境的问题?(有其他坛友也出现显示异常,但是表现形式和我的不一样,他的是把最后的空格给吃掉了)

seem to no this problem

方便测试一下我发的那行代码吗?现在经测有几位同学执行都会有同样的表现。其中一位的截图:

啊,那就怪了,不知道什么条件下能复现,难道是与环境有关?可几个显示不全的人的环境也都不一样。

有没有可能不同环境下出现异常的文本长度不一样?

你们是不是用 emacs 26? 试试 emacs 27

我 26 和 27 都试过了

在 posframe 那边提交一个 issue 吧,也许有其他人了解什么情况,我没有苹果,无法测试

好的,我这就去