emacs+python грязный хак

Feb 21, 2010 22:15

Отладка полноценной питоновской программы в емаксе практически не осуществима. Во всяком случае из коробки. Проблема заключается в том, что после запуска pdb, программа больше не считывается и любое изменение остаётся незамеченным. Комментарии излишни.

Решение простое и грубое - перезапускать pdb каждый раз. Я написал простенькую функцию в которой захардкодил в качестве переменных пути к текущему отлаживаемому файлу и прочие параметры. На большее меня не хватило, во-первых, с елиспом я на вы. Во-вторых, не вижу в этом особого смысла. Если понадобится могу изменить... Хотя, если мне кто подскажет, как это сделать более красиво, буду очень благодарен.

Собственно код:

(add-hook 'python-mode-hook
(lambda ()
(defun pdbg-start()
(interactive)
(let ((gud-name "*gud-ptview.py*")
(pdb-path "/usr/lib/python2.6/pdb.py")
(progname "/home/crox/factory/parallax/scripts/ptview.py"))
(if (not (eq nil (get-buffer gud-name)))
(kill-buffer gud-name))
(pdb (concat pdb-path " " progname))))
(local-set-key (kbd "C-c c") 'pdbg-start)))

emacs python lisp

Previous post Next post
Up