Pymacs - Невозможно вызвать метод, полученный с pymacs-eval

Руководство по Pymacs 0.25 имеет следующий фрагмент в разделе 3.4.2

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

В Emacs24.2 в Ubuntu 12.04 (32-разрядная версия) с Python 2.7.3 первые два оператора выполняются нормально, но третий выдает следующую ошибку:

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, но само лямбда-выражение оценивает без каких-либо ошибок с Cx Ce, поэтому я не знаю, что происходит не так. Также, глядя на Pymacs.py, похоже, что код пытается напрямую оценить код elisp. Пожалуйста помоги?

1 ответ

Решение

Так как pymacs-call оператор возвращает лямбда-функцию, вызывая ее с (funcall matcher "PATTERN123") работает как положено. Возможно, что пример кода в руководстве может быть неправильным.

Другие вопросы по тегам