【发布时间】:2012-04-27 01:06:02
【问题描述】:
我已经安装了 Pymacs、rope、ropemode、ropemacs,当我偶然执行pymacs-terminate-services时,我无法保存修改过的缓冲区。它首先问我 - The Pymacs helper died. Restart it? (yes or no)。如果我回答“是”,它会抛出 - Debugger entered--Lisp error: (error "There is no Pymacs helper!")。如果我回答“否”,它会抛出:
Debugger entered--Lisp error: (error "Python: Traceback (most recent call last):
File \"/usr/local/lib/python2.7/dist-packages/Pymacs.py\", line 258, in loop
value = eval(text)
File \"<string>\", line 1, in <module>
IndexError: list index out of range
")
我设法通过执行pymacs-load、加载os 模块以及对 Pymacs 帮助程序重启问题回答“是”来解决问题。缓冲区已保存,但每次保存文件时都会出现另一个错误:
Debugger entered--Lisp error: (error "Python: Traceback (most recent call last):
File \"/usr/local/lib/python2.7/dist-packages/Pymacs.py\", line 258, in loop
value = eval(text)
File \"<string>\", line 1, in <module>
TypeError: major() takes exactly 1 argument (0 given)
")
这是我的初始化文件:
(load "~/.emacs.d/pymacs.el")
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-autoload "pymacs")
(require 'pymacs)
(pymacs-load "ropemacs" "rope-")
Pymacs manual 描述了 Pymacs 助手的死亡。它告诉我不应该关闭*Pymacs* 缓冲区,因为这会杀死助手,并且如果助手被杀死,还应该重新启动 Emacs。这是不可接受的,因为我有不时关闭所有缓冲区并且很少重新启动 Emacs 的习惯。我现在有几个相关的问题:
- 处理 Pymacs 以尽量减少此类问题的最佳方法是什么?是否可以仅在我使用 Python 并再次安全终止它时运行 Pymacs?
-
pymacs-terminate-services有什么用,我应该运行它吗? - 如果我不小心运行了
pymacs-terminate-services,我该怎么办?我对如何编辑before-save-hook以使缓冲区保存成为可能而不会出现错误消息特别感兴趣。
【问题讨论】:
-
没试过,但this bit in the Pymacs/contrib/Giorgi/ dir 似乎相关,也许..?
-
一个非常详细、语法正确的问题,还没有得到最终的答案……绝对值得赏金。
标签: python emacs rope ropemacs pymacs