]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid 1s sleep-for before sending the startfile to a comint process
authorPip Cet <pipcet@gmail.com>
Sun, 27 Sep 2020 13:07:34 +0000 (15:07 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 27 Sep 2020 13:07:34 +0000 (15:07 +0200)
* lisp/comint.el (comint-exec): Simplify startup file code.
(Bug#41640).

lisp/comint.el

index b4ea232767c08c6fdff1a23c958de6591e180699..b966fae9364dad1051056b4c92402344a944ea36 100644 (file)
@@ -820,18 +820,10 @@ series of processes in the same Comint buffer.  The hook
       (goto-char (point-max))
       (set-marker (process-mark proc) (point))
       ;; Feed it the startfile.
-      (cond (startfile
-            ;;This is guaranteed to wait long enough
-            ;;but has bad results if the comint does not prompt at all
-            ;;      (while (= size (buffer-size))
-            ;;        (sleep-for 1))
-            ;;I hope 1 second is enough!
-            (sleep-for 1)
-            (goto-char (point-max))
-            (insert-file-contents startfile)
-            (setq startfile (buffer-substring (point) (point-max)))
-            (delete-region (point) (point-max))
-            (comint-send-string proc startfile)))
+      (when startfile
+        (comint-send-string proc (with-temp-buffer
+                                   (insert-file-contents startfile)
+                                   (buffer-string))))
       (run-hooks 'comint-exec-hook)
       buffer)))