Browse Source

prevent hang when another py buffer is at the prompt

Darren Ranalli 19 năm trước cách đây
mục cha
commit
efea7190c2

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

@@ -3409,11 +3409,26 @@ These are Python temporary files awaiting execution."
 	       (lambda (proc)
 	       (lambda (proc)
 		 (let ((procbuf (process-buffer proc)))
 		 (let ((procbuf (process-buffer proc)))
 		   (set-buffer procbuf)
 		   (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
 	       ))
 	       ))
 	    )
 	    )
 	  )
 	  )