Emacs + Rope + Python выдает ошибку lisp - PullRequest
4 голосов
/ 02 февраля 2012

Я пытаюсь использовать Ropemacs с автозаполнением в Emacs, но получаю сообщение об ошибке отладчика:

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 не имеет документации из Ch S. Он появляется только один раз, вавтозаполнение-конфигурации.Я скачал последнюю версию Romamacs, RopeMode, PyMac, Python-Rope и, вероятно, потерял любую подходящую системную согласованность, которую я имел.завершить.Я не могу найти ссылку на эту функцию в моей системе.

Автозаполнение отлично работает для меня в Лиспе.Как я могу заставить автозаполнение и Rope работать вместе, чтобы дать мне автозаполнение для Python в Emacs?

РЕДАКТИРОВАТЬ: я не могу увидеть определение завершения веревки через Ch f.Вот вывод моего буфера Pymacs:

<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)))

Ответы [ 2 ]

4 голосов
/ 02 февраля 2012

У вас есть что-то подобное в настройках Emacs?(см. также: agr / ropemacs / Overview - Bitbucket )

(require 'pymacs)
(pymacs-load "ropemacs" "rope-")

Если он у вас есть, проверьте, что у вас есть команда Ropemacs, например rope-open-project (C-x p o).

Обратите внимание, что rope-completions определена как функция python, поэтому вы не увидите ее определения в источнике elisp.

Вы увидите это, когда нажмете C-h f rope-completions RET (не C-h S),если вы правильно загружаете Romamacs.

rope-completions is an interactive Lisp function.

(rope-completions &rest ARGUMENTS)

It interfaces to a Python function.
1 голос
/ 17 апреля 2012

Единственный способ, которым я смог это сделать, это игнорировать все остальные учебники и просто использовать Emacs For Python Github. Он работает очень хорошо, сочетает в себе множество пакетов, которые я в любом случае хотел использовать, и его достаточно легко настроить, чтобы он не испортил мои существующие привязки и настройки.

...