首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs + Rope + Python生成lisp错误

Emacs + Rope + Python生成lisp错误
EN

Stack Overflow用户
提问于 2012-02-02 07:36:00
回答 2查看 817关注 0票数 4

我尝试在Emacs中使用Ropemacs和AutoComplete,但我一直收到调试器错误:

代码语言:javascript
复制
Debugger entered--Lisp error: (void-function rope-completions)
  (rope-completions)
  eval((rope-completions))
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp nil nil)

符号rope-completions没有来自C- has的文档。它只在自动完成配置中出现一次。我已经下载了最新的ropemacs、ropemode、pymacs、python-rope,可能还借用了我所有的apt系统一致性。

当我从配置文件中删除此函数时,自动完成功能会在尝试完成时将光标变为红色。我在系统的任何地方都找不到对这个函数的引用。

在Lisp中,自动补全功能非常适合我。如何让自动完成和Rope协同工作,为Emacs中的Python提供自动完成功能?

编辑:我看不到通过C-h的绳索补全的定义。这是我的Pymacs缓冲区的输出:

代码语言:javascript
复制
<23 (version "0.24-beta2")
>45 eval pymacs_load_helper("ropemacs", "rope-")
<278    (return '(progn (pymacs-defuns '(0 rope--OldProgress nil 1 rope--LispProgress nil 2 rope-LispUtils nil 3 rope-message nil 4 rope--lisp-name nil 5 rope--load-ropemacs nil 6 rope--started-from-pymacs nil 7 rope-occurrences-goto "" 8 rope-occurrences-next "")) (pymacs-python 9)))
>45 eval pymacs_load_helper("ropemacs", "rope-")
<288    (return '(progn (pymacs-defuns '(10 rope--OldProgress nil 11 rope--LispProgress nil 12 rope-LispUtils nil 13 rope-message nil 14 rope--lisp-name nil 15 rope--load-ropemacs nil 16 rope--started-from-pymacs nil 17 rope-occurrences-goto "" 18 rope-occurrences-next "")) (pymacs-python 19)))
>51 eval free_python(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 19)
<13 (return nil)
>45 eval pymacs_load_helper("ropemacs", "rope-")
<279    (return '(progn (pymacs-defuns '(19 rope--OldProgress nil 9 rope--LispProgress nil 8 rope-LispUtils nil 7 rope-message nil 6 rope--lisp-name nil 5 rope--load-ropemacs nil 4 rope--started-from-pymacs nil 3 rope-occurrences-goto "" 2 rope-occurrences-next "")) (pymacs-python 1)))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-17 06:02:27

我最终能够做到的唯一方法是忽略所有其他教程,只使用Emacs For Python Github。它工作得很好,结合了很多我本来想用的包,而且配置起来也很简单,所以它不会弄乱我现有的绑定和设置。

票数 1
EN

Stack Overflow用户

发布于 2012-02-02 14:24:15

你的emacs设置里有类似这样的东西吗?(另请参阅:agr / ropemacs / overview — Bitbucket )

代码语言:javascript
复制
(require 'pymacs)
(pymacs-load "ropemacs" "rope-")

如果有,请检查是否有rope-open-project (C-x p o)等ropemacs命令。

请注意,rope-completions被定义为python函数,因此您不会在elisp源代码中看到它的定义。

如果您正确加载了ropemacs,当您点击C-h f rope-completions RET (而不是C-h S)时,您将看到这一点。

代码语言:javascript
复制
rope-completions is an interactive Lisp function.

(rope-completions &rest ARGUMENTS)

It interfaces to a Python function.
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9105050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档