summaryrefslogtreecommitdiff
path: root/lisp/progmodes/python.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2006-08-26 14:39:16 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2006-08-26 14:39:16 +0000
commit426348643ad31779a4a50d86e702faf8e479b09d (patch)
tree4e1f4952e3329da1c60e329b86e7f291a987f4bf /lisp/progmodes/python.el
parent854fa43e14f5c90333189bf895930c39aeaae662 (diff)
downloademacs-426348643ad31779a4a50d86e702faf8e479b09d.tar.gz
(python-send-receive): Wait in the process's buffer so as to check the right
buffer-local variables.
Diffstat (limited to 'lisp/progmodes/python.el')
-rw-r--r--lisp/progmodes/python.el15
1 files changed, 8 insertions, 7 deletions
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.)