加了xenops之后,我日常使用emacsclient总是加载不出来,但是直接从命令行启动emacs却没问题。
一顿排查之后,定位到一行(add-hook 'org-mode-hook #'xenops-mode)
,去掉这一行一切正常,自己进了org-mode之后也可以正常手动开启xenops-mode。百思不得其解。
后来发现,我设置了initial-major-mode
为org-mode
,去掉这个设置之后,就可以挂hook自动启用xenops-mode了。
另外,有两个踩的坑也做一个记录:
(setq xenops-reveal-on-entry t)
之后的行为其实也和org-fragtog不太一致,我在试的时候发现无论怎么在预览上面上下移动,都不会进入公式编辑环境,一度以为是不是我用了iscroll-mode,previous-line
next-line
被iscroll版本替代了的原因。后来发现,所谓的“entry”,得是左右移动进入才能算。- 我自己上面提到的
借鉴了
我自己做了个advice的版本
(defun xenops-math-reveal-alt (element)
(xenops-element-overlays-delete element)
(if current-prefix-arg
(delete-file (xenops-math-get-cache-file element)))
(let ((element-type (plist-get element :type))
(begin-content (plist-get element :begin-content)))
(goto-char (if (eq element-type 'block-math)
(1+ begin-content)
begin-content))))
(advice-add #'xenops-math-reveal :override #'xenops-math-reveal-alt)
不过仍然有个从上方离开公式环境时预览显示不正确的问题,不过无伤大雅。