Subject: bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion

From: Ivan Kozlov <[email-masked]>
Date: Sat, 29 Feb 2020 10:56:40 +0300

I was probably wrong about the apparent total unsuitability of the markers.

I just realised the issue with argument deletion can be fixed trivially:

--- /gnu/store/1ffhlsa973ym7j2zsyrbm892jxcpzmqq-emacs-next-27.0.50-0.36abf68/share/emacs/27.0.50/lisp/minibuffer.el.gz                                      
+++ #<buffer minibuffer.el.gz>                                                                                                                              
@@ -2132,6 +2132,7 @@                                                                                                                                       
       (and completion-in-region--data                                                                                                                      
            (and (eq (marker-buffer (nth 0 completion-in-region--data))                                                                                     
                     (current-buffer))                                                                                                                      
+               (< (nth 0 completion-in-region--data) (nth 1 completion-in-region--data))                                                                   
                 (>= (point) (nth 0 completion-in-region--data))                                                                                            
                 (<= (point)                                                                                                                                
                     (save-excursion                                                                                                                        

It works. I don’t know if it also breaks anything.

The problem with new line characters remains, but it really seems to be a different issue. In fact, can multi-line completion be useful in some cases? Maybe it is eshell that should tell the completion mode to stop when a command has been entered. I want to know how SPC works in the current scheme. RET should do the same in eshell.