我正在尝试编写一个基于 Emacs 当前窗口宽度的函数。问题是,Emacs 对列的宽度感到困惑。它似乎是根据原始字体大小而不是我的自定义设置来计算的。这是一个截图来说明:
当我删除我的自定义字体设置时,它似乎可以正常工作,所以我认为它一定不是在切换到新字体后更新它认为一列的大小。
这是我的视觉配置的相关部分:
(setq default-frame-alist
'(
(font . "-apple-Ubuntu_Mono-medium-normal-normal-*-17-*-*-*-p-0-iso10646-1")
(width . 130)
(height . 45)))
(很明显,框架的大小是从我在图片中的默认值调整的,但这是我设置字体的地方,所以看起来很相关)
这是我用来确定计算出的当前宽度的函数:
(defun get-window-size ()
(interactive)
(message "The width is %d." (window-body-width)))
根据文档,window-body-width 函数应该只返回编辑区域,因此应该消除列号和总帧大小之间的任何差异......
如何让 Emacs 在更改字体后更新其对列宽的理解?