Explorar o código

prevent hang when another py buffer is at the prompt

Darren Ranalli %!s(int64=19) %!d(string=hai) anos
pai
achega
efea7190c2
Modificáronse 1 ficheiros con 20 adicións e 5 borrados
  1. 20 5
      direct/src/directscripts/python-mode.el

+ 20 - 5
direct/src/directscripts/python-mode.el

@@ -3409,11 +3409,26 @@ These are Python temporary files awaiting execution."
 	       (lambda (proc)
 		 (let ((procbuf (process-buffer proc)))
 		   (set-buffer procbuf)
-		   (goto-char (point-max))
-		   (if (and (eobp) proc (= (point) (marker-position (process-mark proc))))
-		       (comint-interrupt-subjob))
-		   )
-		 )
+                   (let ((current (point)))
+                     (goto-char (point-max))
+                     (let ((maxp (point)))
+                       (if (and (eobp) proc (= (point) (marker-position (process-mark proc))))
+                           (let ()
+                             (goto-char (- maxp 4))
+                             (if (or (search-forward ">>> " maxp t)
+                                     (search-forward "... " maxp t))
+                                 (goto-char current)
+                               (let ()
+                                 (comint-interrupt-subjob)
+                                 (goto-char (point-max))
+                                 ); let
+                               ); if
+                             ) ; let
+                         ) ; if
+                       ) ; let max
+                     ) ; let current
+                   ) ; let procbuf
+                 ) ; lambda proc
 	       ))
 	    )
 	  )