(while t (read-key)) 卡住 Emacs 了,还有救吗?

无意中写了类似这样的代码,发现 Emacs 「卡死了」,按任意键(如 C-g )都会被 (read-key) 给收了。

不知道能不能给 Emacs 发个什么信号,让它中止运行中的命令?

文件还没保存,Auto Save 之类的预防措施也没有 :thinking:

发现 Emacs Server 开着,用 emacsclient --eval 保存了:

emacsclient --eval '(with-current-buffer "chunyang-misc.el" (save-buffer))'

搞定了,给 Emacs 发送 SIGUSR2 信号就能退出死循环了:

~/.emacs.d $ ps aux | grep emacs
xcy              39760   1.0  3.7  7343664 153372   ??  R     2:50PM   5:45.82 /Users/xcy/src/emacs-mac/mac/Emacs.app/Contents/MacOS/Emacs
xcy              41548   0.0  0.0  4259260    292 s000  R+    7:23PM   0:00.00 grep emacs
~/.emacs.d $ kill -USR2 39760
~/.emacs.d $

来源:

2 个赞