今天下午上班的时候,公司居然断电了。等电来了之后,发现Emacs死活启动不了,也就是说,没有办法顺利读入配置文件,Emacs会提示如下图所示的错误:

仔细地查看了一下Emacs的home目录,发现多了一个叫.emacs.desktop.lock的文件,我估计这个文件是和Desktop扩展有关。我把这个文件删掉之后,Emacs就可以正常启动了。看来,以前碰到的类似情况,多半也是这个原因。
仔细地试了一下,原来Emacs在跑的时候,会产生这个文件,应该是用来缓存当前打开的文件名信息之类的数据。当Emacs正常退出时,这个文件会随着消失;但是如果Emacs非法退出,这个文件可能就没办法处理了。
删除应该不是最正确的处理方法,但是我目前也不知道应该怎样处理会更好一些。
这个特性(desktop)是用来记录你关掉emacs时的状态,然后在再次打开的时候恢复.一个emacs在打开时会产生一个锁 防止你打开另外一个emacs(这样就会有两个状态 那是矛盾的) ,这个锁会在你emacs关闭并写入你的状态到文件后自动删除.
假如你非正常关机,这个锁就还在,你打开emacs的时候就等于打开了”第二个emacs” 呵呵 出错了
所以删掉这个文件是正确的 也是唯一的解决方法
PS:有的时候可以打开多个emacs 但关闭一个,再关闭一个的时候就会有提示出来,问你是否要改写前一个的状态
很好,解释得很详细。
更正 记录的是你打开的所有文件(buffers) 记录整个软件状态的是(session)