[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41640: 28.0.50; shell startup very slow when init file is used
From: |
Pip Cet |
Subject: |
bug#41640: 28.0.50; shell startup very slow when init file is used |
Date: |
Thu, 04 Jun 2020 21:21:00 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Jan Synacek <jsynacek@redhat.com> writes:
> It takes almost 2 seconds before the shell buffer appears and Emacs is
> frozen in the mean time. Without the init file, the shell buffer appears
> instantly.
Can you try this patch?
>From d5f1df0edfe6f5d4b178d30d78567bec223927ee Mon Sep 17 00:00:00 2001
From: Pip Cet <pipcet@gmail.com>
Date: Thu, 4 Jun 2020 21:18:10 +0000
Subject: [PATCH] Avoid 1s sleep-for before sending the startfile to a comint
process
* lisp/comint.el (comint-exec): Simplify startup file code.
(Bug#41640)
---
lisp/comint.el | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/lisp/comint.el b/lisp/comint.el
index ea06f8af87..4354a155c3 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -809,18 +809,10 @@ comint-exec
(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)))
--
2.27.0.rc0