Ivan Andrus avatar Ivan Andrus committed 1837463

Made python-send-receive-string simply call python-shell-send-string-no-output if it exists
This fixes tab completion with new python.el

Comments (0)

Files changed (1)

emacs/sage-mode.el

 This implementation handles multi-line output strings gracefully.  At this
 time, it does not handle multi-line input strings at all."
   (interactive "sCommand: ")
-  (with-temp-buffer
-    ;; Grab what Python has to say
-    (comint-redirect-send-command-to-process
-     command (current-buffer) (python-proc) nil t)
-    ;; Wait for the redirection to complete
-    (with-current-buffer (process-buffer (python-proc))
-      (while (null comint-redirect-completed)
-	(accept-process-output nil 1)))
-    ;; Return the output
-    (let ((output (buffer-substring-no-properties (point-min) (point-max))))
-      (when (sage-called-interactively-p 'interactive)
-	(message output))
-      output)))
+
+  (if (fboundp 'python-shell-send-string-no-output)
+      (python-shell-send-string-no-output command (python-proc))
+    (with-temp-buffer
+      ;; Grab what Python has to say
+      (comint-redirect-send-command-to-process
+       command (current-buffer) (python-proc) nil t)
+      ;; Wait for the redirection to complete
+      (with-current-buffer (process-buffer (python-proc))
+	(while (null comint-redirect-completed)
+	  (accept-process-output nil 1)))
+      ;; Return the output
+      (let ((output (buffer-substring-no-properties (point-min) (point-max))))
+	(when (sage-called-interactively-p 'interactive)
+	  (message output))
+	output))))
 
 ;;;_* Generally useful tidbits
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.