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 1 year and 50 days ago.

Previous Next


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