GNU bug report logs - #36733
27.0.50; Eshell taking long time to enter directory after TAB completion

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Fri, 19 Jul 2019 21:24:02 UTC

Severity: minor

Found in version 27.0.50

Full log


Message #56 received at 36733 <at> debbugs.gnu.org (full text, mbox):

From: Ivan Kozlov <kanichos <at> yandex.ru>
To: 36733 <36733 <at> debbugs.gnu.org>
Subject: Re: bug#36733: 27.0.50;
 Eshell taking long time to enter directory  after TAB completion
Date: Sat, 29 Feb 2020 12:02:30 +0300

29.02.2020, 10:56, "Ivan Kozlov" <kanichos <at> yandex.ru>:
>Maybe it is eshell that should tell the completion mode to stop when a command has been entered.

Yes, it must be the way.

(defun eshell-send-input (&optional use-region queue-p no-newline)
  "Send the input received to Eshell for parsing and processing.                                                                                            
After `eshell-last-output-end', sends all text from that marker to                                                                                          
point as input.  Before that marker, calls `eshell-get-old-input' to                                                                                        
retrieve old input, copies it to the end of the buffer, and sends it.                                                                                       
                                                                                                                                                            
If USE-REGION is non-nil, the current region (between point and mark)                                                                                       
will be used as input.                                                                                                                                      
                                                                                                                                                            
If QUEUE-P is non-nil, input will be queued until the next prompt,                                                                                          
rather than sent to the currently active process.  If no process, the                                                                                       
input is processed immediately.                                                                                                                             
                                                                                                                                                            
If NO-NEWLINE is non-nil, the input is sent without an implied final                                                                                        
newline."
  (interactive "P")
  ;; Note that the input string does not include its terminal newline.                                                                                      
  (let ((proc-running-p (and (eshell-interactive-process)
                             (not queue-p)))
        (inhibit-point-motion-hooks t)
        (inhibit-modification-hooks t))
+    (completion-in-region-mode -1)
    (unless (and proc-running-p
                 (not (eq (process-status
                           (eshell-interactive-process))
                          'run)))

The bug is gone. With my two changes, all is good.




This bug report was last modified 318 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.