From: Stefan Monnier Date: Sat, 26 Aug 2006 14:39:16 +0000 (+0000) Subject: (python-send-receive): Wait in the process's buffer so as to check the right X-Git-Tag: emacs-pretest-22.0.90~869 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=426348643ad31779a4a50d86e702faf8e479b09d;p=emacs.git (python-send-receive): Wait in the process's buffer so as to check the right buffer-local variables. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e1ee2324b00..f9dae73fefa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-08-26 Stefan Monnier + + * progmodes/python.el (python-send-receive): Wait in the + process's buffer so as to check the right buffer-local variables. + 2006-08-25 Stefan Monnier * emacs-lisp/checkdoc.el: Remove * in defcustoms. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index a7942c603f3..c38a6e82f83 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1576,14 +1576,15 @@ will." (defun python-send-receive (string) "Send STRING to inferior Python (if any) and return result. The result is what follows `_emacs_out' in the output." + (python-send-string string) (let ((proc (python-proc))) - (python-send-string string) - (set (make-local-variable 'python-preoutput-result) nil) - (while (progn - (accept-process-output proc 5) - (null python-preoutput-result))) - (prog1 python-preoutput-result - (kill-local-variable 'python-preoutput-result)))) + (with-current-buffer (process-buffer proc) + (set (make-local-variable 'python-preoutput-result) nil) + (while (progn + (accept-process-output proc 5) + (null python-preoutput-result))) + (prog1 python-preoutput-result + (kill-local-variable 'python-preoutput-result))))) ;; Fixme: Is there anything reasonable we can do with random methods? ;; (Currently only works with functions.)