doomemacs更新后使用emacsclient报错

问题应该是在升级doomemacs后出现的,比如如下命令报错 emacsclient -a -c all_projects.org Waiting for Emacs… ERROR: Error in a Doom startup hook: server-after-make-frame-hook, lambda, (invalid-function lambda)

直接用emacs命令打开是没问题的,之所以用emacsclient方式打开是为了在同一个emacs窗口里操作多个buffer

请问大家有什么解决办法或线索?

用笨办法在~/.doom.d和~/.emacs.d里搜索所有.el文件,注释掉server-after-make-frame-hook,然后doom build。 发现同样问题还在

doom版本是3.0.0.dev

同版本,我的也是system unit跑的服务 emacsclientemacs执行都正常

要不重启服务试试?

关掉emacs再打开,还是老问题,没变化

systemctl restart emacs --user 直接重启服务试试,我一般doom upgrade之后遇到奇怪的问题,一般重启服务就好了

1 个赞

真的可以了,太好了,谢谢! 请问这样重启服务和关闭emacs gui并且杀掉所有emacs进程再打开有区别吗?

emacsclient连接的是system unit里启动的服务,emacs命令是独立的跑了一个

执行systemctl restart emacs和kill所有再启动没啥区别 system restart的时候也是调用的emacs相关命令

ExecStart=emacs --fg-daemon
ExecStop=emacsclient --eval "(kill-emacs)"
1 个赞