python - Pymacs - 无法调用使用 pymacs-eval 获得的方法

标签 python emacs pymacs

Pymacs 0.25 手册在 Section 3.4.2 中有以下片段

(pymacs-exec "import re")
(setq matcher (pymacs-eval "re.compile('PATTERN').match"))
(pymacs-call matcher "PATTERN123")

在 Ubuntu 12.04(32 位)和 Python 2.7.3 上的 Emacs24.2 中,前两条语句执行正常,但第三条语句抛出以下错误:

pymacs-report-error: Python: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Pymacs.py", line 268, in loop
    value = eval(text)
  File "<string>", line 1
    (lambda (&rest arguments) (pymacs-apply (quote (pymacs-python . 5)) arguments))(".")

我不太了解 Elisp,但是 lambda 语句本身使用 C-x C-e 进行计算时没有任何错误,所以我不知道出了什么问题。另外,查看 Pymacs.py,看起来代码正在尝试直接评估 elisp 代码。请帮忙?

最佳答案

由于 pymacs-call 语句返回一个 lambda 函数,因此使用 (funcall matcher "PATTERN123") 调用它可以按预期工作。手册中的示例代码可能是错误的。

关于python - Pymacs - 无法调用使用 pymacs-eval 获得的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920436/

相关文章:

Python PYQT QLineEdit 字体大小

macos - 直接打开一个文件到emacs(通过双击)

Python 驱动 Emacs; pymacs 不工作

python - Pymacs 助手在 30 秒后没有启动

python - 文本的感知哈希函数

python - 遇到 python 错误 <generator object <genexpr>

emacs 控制台模式 Org-mode 删除线未按预期显示

emacs - 使用 emacs 24 安装 pymacs 的明确步骤?

python - [] sum() 函数中使用的参数或输入 - 它在做什么?

emacs - #+BIND : really works 是怎么回事