[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master edeb220d31: Don't loop so much in gud-query-cmdline on remote sys
From: |
Lars Ingebrigtsen |
Subject: |
master edeb220d31: Don't loop so much in gud-query-cmdline on remote systems |
Date: |
Mon, 24 Jan 2022 08:57:33 -0500 (EST) |
branch: master
commit edeb220d310f189023b232407deb55f49445358b
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Don't loop so much in gud-query-cmdline on remote systems
* lisp/progmodes/gud.el (gud-query-cmdline): Avoid looping over
large numbers of files on remote systems (bug#21528).
---
lisp/progmodes/gud.el | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index b42279415b..7092ca2041 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -759,13 +759,18 @@ The option \"--fullname\" must be included in this value."
(concat (or cmd-name (symbol-name minor-mode))
" "
(or init
- (let ((file nil))
- (dolist (f (directory-files default-directory) file)
- (if (and (file-executable-p f)
- (not (file-directory-p f))
- (or (not file)
- (file-newer-than-file-p f file)))
- (setq file f)))))))
+ (let ((file nil)
+ (files (directory-files default-directory)))
+ ;; On remote systems, this may be slow, so avoid it.
+ (when (or (not (file-remote-p default-directory))
+ (length< files 50))
+ (dolist (f files)
+ (if (and (file-executable-p f)
+ (not (file-directory-p f))
+ (or (not file)
+ (file-newer-than-file-p f file)))
+ (setq file f)))
+ file)))))
gud-minibuffer-local-map nil
hist-sym)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master edeb220d31: Don't loop so much in gud-query-cmdline on remote systems,
Lars Ingebrigtsen <=