emacs打开文件时报错

昨天白天用的时候还好好的,到晚上的时候就开始报错,找了一圈没找到原因。 具体报错就是

 Debugger entered--Lisp error: (file-error "Opening input file" "Permission denied" "/home/hostname/.emacs.d/.historian")
  insert-file-contents("~/.emacs.d/.historian")
  historian-load()
  historian-mode(1)
  ivy-historian-mode(t)
  (closure (t) nil (ivy-historian-mode t))()
  run-hooks(after-init-hook delayed-warnings-hook)
  command-line()
  normal-top-level()

停留在报错最后打开的界面,打不开新的文件

自己 chmod 一下。

是因为我save desktop之后出现这个原因的?

自动创建历史文件的时候没设对读取权限。

加权限好像也不行,我把那个历史文件删了,不知道会不会有影响

用的是

chmod u+rw ~/.emacs.d/.historian

我用的是 chmod a+wr ~/.emacs.d/.historian 哎,不知道为啥总是有Debugger出现

等下,你用的是 Windows 么?​

Ubuntu14.04呀

明白了,这是个作者偷懒直接把 /tmp 里的临时文件重命名来保存导致的 bug。然后碰上 /tmp​ 权限有问题的就出事了。 试试这个。

sudo chmod 1777​ /tmp

你没有用 tmpfs 之类的东西吧。

没有别的只有一个tmp带个锁头
又报了一个bugger
Debugger entered–Lisp error: (wrong-type-argument stringp nil)
真是谢谢你这么耐心回答

这个就是別的问題了


贴完整的 backtrace 上來。

我打开一个.cpp文件后出现的,是字体的原因?

Debugger entered–Lisp error: (wrong-type-argument stringp nil)

  • file-exists-p(nil)
  • cide–get-string-from-file(nil)
  • cide–hash-file(nil)
  • cide–cdb-idb-from-cache()
  • cide–cdb-json-file-to-idb()
  • cide–on-cmake-finished()
  • #[514 "\300\301!\210\302!\303U\203

不懂 CMake 的東西,如果用的別人的配置,有问題就找提供者求協助。

哦哦,谢谢大神这么耐心的回复