From f27c99dc7ef8f19e7a378001d8b3d906ca907dae Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= Date: Sun, 7 Oct 2012 16:37:37 -0300 Subject: [PATCH] * progmodes/python.el (inferior-python-mode) (python-shell-make-comint): Fixed initialization of local variables copied from parent buffer. --- lisp/ChangeLog | 6 ++++++ lisp/progmodes/python.el | 17 ++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 718a9417cef..d873fbbc656 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2012-10-07 Fabián Ezequiel Gallina + + * progmodes/python.el (inferior-python-mode) + (python-shell-make-comint): Fixed initialization of local + variables copied from parent buffer. + 2012-10-07 Jan Djärv * term/ns-win.el (ns-read-file-name): Update declaration to match diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3ac871981e4..ffb2e66ca9d 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1652,6 +1652,8 @@ uniqueness for different types of configurations." OUTPUT is a string with the contents of the buffer." (ansi-color-filter-apply output)) +(defvar python-shell--parent-buffer nil) + (define-derived-mode inferior-python-mode comint-mode "Inferior Python" "Major mode for Python inferior process. Runs a Python interpreter as a subprocess of Emacs, with Python @@ -1674,6 +1676,12 @@ initialization of the interpreter via `python-shell-setup-codes' variable. \(Type \\[describe-mode] in the process buffer for a list of commands.)" + (and python-shell--parent-buffer + (python-util-clone-local-variables python-shell--parent-buffer)) + (setq comint-prompt-regexp (format "^\\(?:%s\\|%s\\|%s\\)" + python-shell-prompt-regexp + python-shell-prompt-block-regexp + python-shell-prompt-pdb-regexp)) (set-syntax-table python-mode-syntax-table) (setq mode-line-process '(":%s")) (make-local-variable 'comint-output-filter-functions) @@ -1721,15 +1729,10 @@ killed." (let* ((cmdlist (split-string-and-unquote cmd)) (buffer (apply #'make-comint-in-buffer proc-name proc-buffer-name (car cmdlist) nil (cdr cmdlist))) - (current-buffer (current-buffer)) + (python-shell--parent-buffer (current-buffer)) (process (get-buffer-process buffer))) (with-current-buffer buffer - (inferior-python-mode) - (python-util-clone-local-variables current-buffer) - (setq comint-prompt-regexp (format "^\\(?:%s\\|%s\\|%s\\)" - python-shell-prompt-regexp - python-shell-prompt-block-regexp - python-shell-prompt-pdb-regexp))) + (inferior-python-mode)) (accept-process-output process) (and pop (pop-to-buffer buffer t)) (and internal (set-process-query-on-exit-flag process nil)))) -- 2.39.2