python-mode создает подчиненный процесс через 'make-comint
, который использует 'start-file-process
, который создает процесс относительно переменной 'default-directory
. Так что есть несколько способов справиться с этим зверем.
Первое - это изменить 'default-directory
на что-то локальное, например:
(add-hook 'python-mode-hook (lambda () (setq default-directory "~"))
С другой стороны, C-x C-f теперь ведет себя иначе (начиная с ~
).
Другое - изменить 'default-directory
только для вызова 'py-shell
, вот так (не проверено):
(defadvice py-shell (around py-shell-different-directory activate)
"set default-directory just for py-shell"
(let ((default-directory "~"))
ad-do-it))