* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion @ 2019-07-19 21:21 Jean Louis 2019-07-20 7:16 ` Eli Zaretskii ` (3 more replies) 0 siblings, 4 replies; 22+ messages in thread From: Jean Louis @ 2019-07-19 21:21 UTC (permalink / raw) To: 36733 I have observed that if I write in Eshell: $ cd Documents That it enters the directory quickly. But if I write: $ cd Docum TAB it expands into $ cd Documents/ then when I press ENTER it is taking sometimes 1 second or few seconds just to enter the directory. This also happens if inside of directory there is just one file. In GNU Emacs 27.0.50 (build 11, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2019-07-18 built on protected.rcdrun.com Repository revision: a4e57274cc3ad920d6113700ce6496e85eb66ebb Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.11906000 System Description: Hyperbola GNU/Linux-libre Recent messages: Contacting host: github.com:443 Mark set Making completion list... Stopping animation; animation possibly too big [6 times] (There was no command output) When done with a buffer, type C-x # Saving file /home/data1/protected/tmp/mutt-protected-1001-4117-7445622631218989887... Wrote /home/data1/protected/tmp/mutt-protected-1001-4117-7445622631218989887 Configured using: 'configure --prefix=/package/text/emacs-2019-07-18 --with-modules --without-pop --with-mailutils --with-x-toolkit=lucid --without-gpm' Configured features: XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS JSON PDUMPER LCMS2 GMP Important settings: value of $LC_ALL: de_DE.UTF-8 value of $LANG: de_DE.UTF-8 locale-coding-system: utf-8-unix Major mode: Eshell Minor modes in effect: TeX-PDF-mode: t highlight-changes-visible-mode: t say-minor-mode: t strokes-mode: t dynamic-completion-mode: t jabber-activity-mode: t show-paren-mode: t guide-key-mode: t persistent-scratch-autosave-mode: t shell-dirtrack-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/data1/protected/.emacs.d/elpa/lispy-20190703.1529/elpa hides /home/data1/protected/.emacs.d/elpa/ivy-20190709.740/elpa /home/data1/protected/Programming/emacs-lisp/whois hides /home/data1/protected/.emacs.d/elpa/whois-20190529.1554/whois /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/md4 hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/md4 /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/hex-util hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/hex-util /home/data1/protected/.emacs.d/elpa/org-20190708/ob-css hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-css /home/data1/protected/.emacs.d/elpa/org-20190708/ob-dot hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-dot /home/data1/protected/.emacs.d/elpa/org-20190708/ob-sed hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-sed /home/data1/protected/.emacs.d/elpa/org-20190708/ob-stan hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-stan /home/data1/protected/.emacs.d/elpa/org-20190708/ob-sqlite hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-sqlite /home/data1/protected/.emacs.d/elpa/org-20190708/org-src hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-src /home/data1/protected/.emacs.d/elpa/org-20190708/ob-lob hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-lob /home/data1/protected/.emacs.d/elpa/org-20190708/ob-calc hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-calc /home/data1/protected/.emacs.d/elpa/org-20190708/ob-mscgen hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-mscgen /home/data1/protected/.emacs.d/elpa/org-20190708/ob-core hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-core /home/data1/protected/.emacs.d/elpa/org-20190708/ox-beamer hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-beamer /home/data1/protected/.emacs.d/elpa/org-20190708/ob-sass hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-sass /home/data1/protected/.emacs.d/elpa/org-20190708/ob-plantuml hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-plantuml /home/data1/protected/.emacs.d/elpa/org-20190708/org-bibtex hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-bibtex /home/data1/protected/.emacs.d/elpa/org-20190708/ob-coq hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-coq /home/data1/protected/.emacs.d/elpa/org-20190708/ob-js hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-js /home/data1/protected/.emacs.d/elpa/org-20190708/org-plot hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-plot /home/data1/protected/.emacs.d/elpa/org-20190708/org-macro hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-macro /home/data1/protected/.emacs.d/elpa/org-20190708/org-inlinetask hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-inlinetask /home/data1/protected/.emacs.d/elpa/org-20190708/org-timer hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-timer /home/data1/protected/.emacs.d/elpa/org-20190708/ox hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox /home/data1/protected/.emacs.d/elpa/org-20190708/ob-forth hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-forth /home/data1/protected/.emacs.d/elpa/org-20190708/ob-groovy hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-groovy /home/data1/protected/.emacs.d/elpa/org-20190708/org-bbdb hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-bbdb /home/data1/protected/.emacs.d/elpa/org-20190708/ob-perl hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-perl /home/data1/protected/.emacs.d/elpa/org-20190708/ob-gnuplot hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-gnuplot /home/data1/protected/.emacs.d/elpa/org-20190708/ox-latex hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-latex /home/data1/protected/.emacs.d/elpa/org-20190708/ob-sql hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-sql /home/data1/protected/.emacs.d/elpa/org-20190708/ob-screen hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-screen /home/data1/protected/.emacs.d/elpa/org-20190708/org-mhe hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-mhe /home/data1/protected/.emacs.d/elpa/org-20190708/org-archive hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-archive /home/data1/protected/.emacs.d/elpa/org-20190708/ob-haskell hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-haskell /home/data1/protected/.emacs.d/elpa/org-20190708/org-footnote hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-footnote /home/data1/protected/.emacs.d/elpa/org-20190708/org-eww hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-eww /home/data1/protected/.emacs.d/elpa/org-20190708/ox-man hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-man /home/data1/protected/.emacs.d/elpa/org-20190708/org-protocol hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-protocol /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ref hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ref /home/data1/protected/.emacs.d/elpa/org-20190708/ob-processing hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-processing /home/data1/protected/.emacs.d/elpa/org-20190708/org-habit hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-habit /home/data1/protected/.emacs.d/elpa/org-20190708/org-indent hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-indent /home/data1/protected/.emacs.d/elpa/org-20190708/ob-maxima hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-maxima /home/data1/protected/.emacs.d/elpa/org-20190708/org-list hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-list /home/data1/protected/.emacs.d/elpa/org-20190708/org-entities hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-entities /home/data1/protected/.emacs.d/elpa/org-20190708/ob-fortran hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-fortran /home/data1/protected/.emacs.d/elpa/org-20190708/ob-comint hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-comint /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ruby hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ruby /home/data1/protected/.emacs.d/elpa/org-20190708/org hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org /home/data1/protected/.emacs.d/elpa/org-20190708/org-irc hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-irc /home/data1/protected/.emacs.d/elpa/org-20190708/org-macs hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-macs /home/data1/protected/.emacs.d/elpa/org-20190708/org-agenda hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-agenda /home/data1/protected/.emacs.d/elpa/org-20190708/ox-org hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-org /home/data1/protected/.emacs.d/elpa/org-20190708/ob-C hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-C /home/data1/protected/.emacs.d/elpa/org-20190708/org-install hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-install /home/data1/protected/.emacs.d/elpa/org-20190708/ob-makefile hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-makefile /home/data1/protected/.emacs.d/elpa/org-20190708/ob-java hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-java /home/data1/protected/.emacs.d/elpa/org-20190708/ob-org hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-org /home/data1/protected/.emacs.d/elpa/org-20190708/org-table hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-table /home/data1/protected/.emacs.d/elpa/org-20190708/ob hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob /home/data1/protected/.emacs.d/elpa/org-20190708/org-info hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-info /home/data1/protected/.emacs.d/elpa/org-20190708/org-id hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-id /home/data1/protected/.emacs.d/elpa/org-20190708/ob-eval hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-eval /home/data1/protected/.emacs.d/elpa/org-20190708/ob-clojure hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-clojure /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ledger hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ledger /home/data1/protected/.emacs.d/elpa/org-20190708/org-w3m hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-w3m /home/data1/protected/.emacs.d/elpa/org-20190708/ob-shen hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-shen /home/data1/protected/.emacs.d/elpa/org-20190708/org-docview hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-docview /home/data1/protected/.emacs.d/elpa/org-20190708/ox-ascii hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-ascii /home/data1/protected/.emacs.d/elpa/org-20190708/ox-publish hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-publish /home/data1/protected/.emacs.d/elpa/org-20190708/ox-texinfo hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-texinfo /home/data1/protected/.emacs.d/elpa/org-20190708/org-duration hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-duration /home/data1/protected/.emacs.d/elpa/org-20190708/org-colview hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-colview /home/data1/protected/.emacs.d/elpa/org-20190708/org-datetree hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-datetree /home/data1/protected/.emacs.d/elpa/org-20190708/ob-vala hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-vala /home/data1/protected/.emacs.d/elpa/org-20190708/ob-table hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-table /home/data1/protected/.emacs.d/elpa/org-20190708/ob-tangle hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-tangle /home/data1/protected/.emacs.d/elpa/org-20190708/org-pcomplete hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-pcomplete /home/data1/protected/.emacs.d/elpa/org-20190708/org-version hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-version /home/data1/protected/.emacs.d/elpa/org-20190708/ob-R hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-R /home/data1/protected/.emacs.d/elpa/org-20190708/ob-picolisp hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-picolisp /home/data1/protected/.emacs.d/elpa/org-20190708/ob-lua hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-lua /home/data1/protected/.emacs.d/elpa/org-20190708/ob-keys hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-keys /home/data1/protected/.emacs.d/elpa/org-20190708/ox-odt hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-odt /home/data1/protected/.emacs.d/elpa/org-20190708/ob-awk hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-awk /home/data1/protected/.emacs.d/elpa/org-20190708/ob-exp hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-exp /home/data1/protected/.emacs.d/elpa/org-20190708/ox-md hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-md /home/data1/protected/.emacs.d/elpa/org-20190708/ob-abc hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-abc /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ocaml hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ocaml /home/data1/protected/.emacs.d/elpa/org-20190708/org-crypt hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-crypt /home/data1/protected/.emacs.d/elpa/org-20190708/ob-python hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-python /home/data1/protected/.emacs.d/elpa/org-20190708/ox-html hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-html /home/data1/protected/.emacs.d/elpa/org-20190708/ob-matlab hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-matlab /home/data1/protected/.emacs.d/elpa/org-20190708/org-attach hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-attach /home/data1/protected/.emacs.d/elpa/org-20190708/ob-hledger hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-hledger /home/data1/protected/.emacs.d/elpa/org-20190708/org-loaddefs hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-loaddefs /home/data1/protected/.emacs.d/elpa/org-20190708/ob-octave hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-octave /home/data1/protected/.emacs.d/elpa/org-20190708/org-ctags hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-ctags /home/data1/protected/.emacs.d/elpa/org-20190708/ob-asymptote hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-asymptote /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ditaa hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ditaa /home/data1/protected/.emacs.d/elpa/org-20190708/org-gnus hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-gnus /home/data1/protected/.emacs.d/elpa/org-20190708/org-compat hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-compat /home/data1/protected/.emacs.d/elpa/org-20190708/org-feed hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-feed /home/data1/protected/.emacs.d/elpa/org-20190708/ob-J hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-J /home/data1/protected/.emacs.d/elpa/org-20190708/ob-shell hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-shell /home/data1/protected/.emacs.d/elpa/org-20190708/ob-lilypond hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-lilypond /home/data1/protected/.emacs.d/elpa/org-20190708/org-rmail hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-rmail /home/data1/protected/.emacs.d/elpa/org-20190708/org-element hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-element /home/data1/protected/.emacs.d/elpa/org-20190708/ob-io hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-io /home/data1/protected/.emacs.d/elpa/org-20190708/org-faces hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-faces /home/data1/protected/.emacs.d/elpa/org-20190708/org-capture hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-capture /home/data1/protected/.emacs.d/elpa/org-20190708/org-eshell hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-eshell /home/data1/protected/.emacs.d/elpa/org-20190708/org-lint hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-lint /home/data1/protected/.emacs.d/elpa/org-20190708/ob-lisp hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-lisp /home/data1/protected/.emacs.d/elpa/org-20190708/org-clock hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-clock /home/data1/protected/.emacs.d/elpa/org-20190708/ob-ebnf hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-ebnf /home/data1/protected/.emacs.d/elpa/org-20190708/org-mobile hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-mobile /home/data1/protected/.emacs.d/elpa/org-20190708/ob-scheme hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-scheme /home/data1/protected/.emacs.d/elpa/org-20190708/ob-latex hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-latex /home/data1/protected/.emacs.d/elpa/org-20190708/ob-emacs-lisp hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ob-emacs-lisp /home/data1/protected/.emacs.d/elpa/org-20190708/org-mouse hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/org-mouse /home/data1/protected/.emacs.d/elpa/org-20190708/ox-icalendar hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/org/ox-icalendar /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/ntlm hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/ntlm /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/sasl-digest hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/sasl-digest /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/hmac-md5 hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/hmac-md5 /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/sasl-cram hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/sasl-cram /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/sasl hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/sasl /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/hmac-def hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/hmac-def /home/data1/protected/.emacs.d/elpa/flim-20190526.1034/sasl-ntlm hides /package/text/emacs-2019-07-18/share/emacs/27.0.50/lisp/net/sasl-ntlm Features: (shadow emacsbug rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok wdired markdown-mode org-archive org-capture ob-ditaa org-clock org-colview org-crypt org-habit org-indent plain-tex texmathp preview prv-emacs tex-buf font-latex latex latex-flymake flymake-proc flymake tex-ispell tex-style tex tex-mode latexenc rect unrmail rmail-spam-filter rmailedit rmailsort undigest mutt conf-mode cal-move epa-file peep-dired thai-util thai-word lao-util enriched org-agenda org-eww org-rmail org-mhe org-irc org-info org-gnus nnir org-docview org-bibtex bibtex org-bbdb org-w3m hi-lock hilit-chg helm-ring helm-elisp helm-eval helm-info tramp-adb tramp-archive tramp-cache tramp-cmds tramp-ftp tramp-gvfs cl-indent rcirc grep url-file url-dired mhtml-mode css-mode js pcmpl-unix pcmpl-linux bookmark sh-script executable em-rebind em-smart wordnut wordnut-history wordnut-u imenu em-tramp gforth forth-interaction-mode forth-mode forth-spec forth-smie pcase smie forth-syntax names edebug autoload tar-mode mm-archive compare-w helm-system-packages-pacman hashcash ecomplete goto-addr jabber-rtt jabber-otr dired-aux view image-file image-dired ps-print ps-print-loaddefs ps-def lpr tabify handwrite slime etags fileloop xref project arc-mode archive-mode hyperspec macros strokes talk network-stream url-cache webjump completion macrostep-c cmacexp macrostep cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cl-print debug backtrace tutorial let-alist md4rd tree-mode tree-widget request hierarchy eww mm-url url-queue magit-utils face-remap mule-util eieio-opt skeleton apropos finder lisp-mnt jabber-keepalive jabber-ping sasl-digest hex-util hmac-md5 jabber jabber-notifications notifications jabber-libnotify dbus jabber-awesome jabber-osd jabber-wmii jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux jabber-screen jabber-socks5 jabber-ft-server jabber-si-server jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common jabber-feature-neg jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-avatar jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse jabber-search jabber-register jabber-roster jabber-presence jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console sgml-mode ewoc jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls gnutls jabber-xml jabber-menu jabber-util mml1991 misearch multi-isearch rmailkwd smerge-mode diff proced rmailout quail winner helm-mode helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types bbdb-com crm bbdb bbdb-site timezone mail-extr pp elec-pair help-fns radix-tree cus-edit em-unix em-term term disp-table ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-dirs esh-var em-cmpl em-basic em-banner em-alias esh-mode qp rmailsum shr-color shr svg dom vc-git diff-mode rmailmm warnings ob-dot ob-plantuml ob-sql paren savehist ivy delsel colir color ivy-overlay ffap guide-key s popwin dash cus-start cus-load emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-volume emms-volume-amixer emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-info later-do emms-playlist-mode emms-player-vlc emms-player-mpv emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat rcd-sent-folder gold-price rcd/business rx cl-extra help-mode org-id dired-x rcd/percentages rcd/utilities rcd-db pq time-stamp units mutt-alias festival persistent-scratch google-translate google-translate-default-ui google-translate-core-ui google-translate-core google-translate-tk google-translate-backend helm-system-packages helm helm-source helm-multi-match helm-lib async tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell ls-lisp graphviz-dot-mode compile auto-compile packed mu4e desktop frameset mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-view thingatpt browse-url gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader wid-edit mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions rfc2368 smtpmail mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils doc-view jka-compr image-mode mu4e-lists mu4e-vars message sendmail rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-utils gmm-utils mailheader hl-line mu4e-meta mh-e mh-compat mailabbrev mh-buffers mh-loaddefs eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util identica-mode url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap parse-time xml dired dired-loaddefs edmacro exwm-config ido exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug kmacro server finder-inf org-element avl-tree generator orgtbl-ascii-plot org-table org ob ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities time-date noutline outline easy-mmode org-version ob-emacs-lisp org-loaddefs find-func cal-menu calendar cal-loaddefs ob-tangle org-src ob-comint comint ansi-color ring ob-keys ob-core ob-eval org-compat org-macs format-spec org-install gh-common marshal eieio-compat advice slime-autoloads cl tex-site info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 3380406 325872) (symbols 48 77875 111) (strings 32 554923 43811) (string-bytes 1 30068221) (vectors 16 142501) (vector-slots 8 2626886 144700) (floats 8 1759 2480) (intervals 56 341997 666) (buffers 992 799)) ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-19 21:21 bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Jean Louis @ 2019-07-20 7:16 ` Eli Zaretskii 2019-07-20 7:50 ` Jean Louis 2020-02-29 1:30 ` bug#36733: (no subject) Ivan Kozlov ` (2 subsequent siblings) 3 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 7:16 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > From: Jean Louis <bugs@gnu.support> > Date: Fri, 19 Jul 2019 23:21:28 +0200 > > > I have observed that if I write in Eshell: > > $ cd Documents > > That it enters the directory quickly. > > But if I write: > > $ cd Docum TAB > > it expands into > > $ cd Documents/ > > then when I press ENTER it is taking sometimes 1 second or few seconds > just to enter the directory. > > This also happens if inside of directory there is just one file. Doesn't happen here. I suggest to start a CPU profiler, perform this many times, then show the profile, completely expanded. For best results, load em-dirs.el as an uncompiled file, before doing this experiment. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 7:16 ` Eli Zaretskii @ 2019-07-20 7:50 ` Jean Louis 2019-07-20 8:31 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Jean Louis @ 2019-07-20 7:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 36733 * Eli Zaretskii <eliz@gnu.org> [2019-07-20 09:16]: > Doesn't happen here. I suggest to start a CPU profiler, perform this > many times, then show the profile, completely expanded. For best > results, load em-dirs.el as an uncompiled file, before doing this > experiment. Help me how to start CPU profiler? Is it gprof? ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 7:50 ` Jean Louis @ 2019-07-20 8:31 ` Eli Zaretskii 2019-07-20 9:07 ` Jean Louis 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 8:31 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > Date: Sat, 20 Jul 2019 09:50:07 +0200 > From: Jean Louis <bugs@gnu.support> > Cc: 36733@debbugs.gnu.org > > * Eli Zaretskii <eliz@gnu.org> [2019-07-20 09:16]: > > Doesn't happen here. I suggest to start a CPU profiler, perform this > > many times, then show the profile, completely expanded. For best > > results, load em-dirs.el as an uncompiled file, before doing this > > experiment. > > Help me how to start CPU profiler? Is it gprof? "M-x profiler-start RET RET", then do the command, perhaps several times, then "M-x profiler-report RET". To expand the profile, go to the top-level line with "+" at its left, and type "C-u RET". ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 8:31 ` Eli Zaretskii @ 2019-07-20 9:07 ` Jean Louis 2019-07-20 10:08 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Jean Louis @ 2019-07-20 9:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 36733 This is what I have done: $ emacs -Q Then I started profiler, and within Emacs I went to em-dirs.el.gz and clicked L to load the file Then I started eshell and did following: Welcome to the Emacs shell ~ $ cd Programming/ ~/Programming $ cd .. ~ $ cd Documents/ ~/Documents $ cd .. ~ $ cd tmp ~/tmp $ cd .. ~ $ cd tmp/ ~/tmp $ cd .. ~ $ cd Media/ ~/Media $ Here is the report: - completion-in-region--postch 348 85% - #<compiled 0xd05b1d> 348 85% - pcomplete-completions-at-point 348 85% - pcomplete-completions 348 85% - #<compiled 0xd04211> 348 85% - pcomplete--here 348 85% - #<compiled 0xd041fd> 348 85% - eshell-complete-commands-list 151 37% - pcomplete-uniquify-list 4 0% sort 1 0% - eshell-winnow-list 2 0% eshell-find-alias-function 1 0% - ... 49 12% Automatic GC 47 11% - minibuffer-complete 2 0% - completion-in-region 2 0% - completion--in-region 2 0% - #<compiled 0xcfe355> 2 0% - apply 2 0% - #<compiled 0x1ffde1d7d889> 2 0% - completion--in-region-1 2 0% - completion--do-completion 2 0% - completion-try-completion 2 0% - completion--nth-completion 2 0% - completion--some 2 0% - #<compiled 0xcfe37d> 2 0% - completion-basic-try-completion 2 0% - try-completion 2 0% - #<compiled 0x1ffde1da8f4b> 2 0% complete-with-action 2 0% - command-execute 11 2% - call-interactively 10 2% - funcall-interactively 8 1% - execute-extended-command 7 1% - command-execute 6 1% - call-interactively 6 1% - funcall-interactively 6 1% - eshell 5 1% - eshell-mode 5 1% - load 2 0% - file-truename 1 0% - file-truename 1 0% file-truename 1 0% - byte-code 1 0% - require 1 0% - byte-code 1 0% - require 1 0% - defvar 1 0% - byte-code 1 0% - substitute-key-definition 1 0% - map-keymap 1 0% - #<compiled 0xd11045> 1 0% - substitute-key-definition-key 1 0% - substitute-key-definition 1 0% - map-keymap 1 0% #<compiled 0xd11075> 1 0% - run-hooks 1 0% - eshell-emit-prompt 1 0% - eshell-output-filter 1 0% - eshell-run-output-filters 1 0% - run-hooks 1 0% - eshell-postoutput-scroll-to-bottom 1 0% walk-windows 1 0% profiler-report 1 0% - sit-for 1 0% read-event 1 0% - eshell-send-input 1 0% - eval 1 0% - eshell-commands 1 0% - let 1 0% - progn 1 0% - run-hooks 1 0% - eshell-emit-prompt 1 0% - eshell-output-filter 1 0% - eshell-run-output-filters 1 0% - run-hooks 1 0% - eshell-postoutput-scroll-to-bottom 1 0% walk-windows 1 0% - byte-code 2 0% - read-extended-command 2 0% - completing-read 2 0% - completing-read-default 2 0% read-from-minibuffer 2 0% ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 9:07 ` Jean Louis @ 2019-07-20 10:08 ` Eli Zaretskii 2019-07-20 10:31 ` Jean Louis 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 10:08 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > Date: Sat, 20 Jul 2019 11:07:20 +0200 > From: Jean Louis <bugs@gnu.support> > Cc: 36733@debbugs.gnu.org > > This is what I have done: > > $ emacs -Q > > Then I started profiler, and within Emacs I went > to em-dirs.el.gz and clicked L to load the file > > Then I started eshell and did following: > > Welcome to the Emacs shell > > ~ $ cd Programming/ > ~/Programming $ cd .. > ~ $ cd Documents/ > ~/Documents $ cd .. > ~ $ cd tmp > ~/tmp $ cd .. > ~ $ cd tmp/ > ~/tmp $ cd .. > ~ $ cd Media/ > ~/Media $ > > Here is the report: Thanks. I don't see eshell/cd anywhere in this report, so it's hard to glean anything useful from the profile. Please modify your procedure as follows: emacs -Q M-x load-library RET em-dirs.el RET M-x eshell RET M-x profiler-start RET RET ~ $ cd Programming/ ~/Programming $ cd .. ~ $ cd Documents/ ~/Documents $ cd .. ~ $ cd tmp ~/tmp $ cd .. ~ $ cd tmp/ ~/tmp $ cd .. ~ $ cd Media/ ~/Media $ M-x profiler-report RET IOW, start the profiler just before you start the Eshell commands. If the results don't show eshell/cd in the profile, or if the percentage for that is too low, perhaps repeat the recipe with more "cd" commands. Thanks. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 10:08 ` Eli Zaretskii @ 2019-07-20 10:31 ` Jean Louis 2019-07-20 10:55 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Jean Louis @ 2019-07-20 10:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 36733 Here it is: - completion-in-region--postch 357 86% - #<compiled 0xb94c41> 357 86% - pcomplete-completions-at-point 357 86% - pcomplete-completions 357 86% - #<compiled 0xade071> 357 86% - pcomplete--here 357 86% - #<compiled 0xade05d> 357 86% - eshell-complete-commands-list 156 37% - pcomplete-uniquify-list 4 0% sort 1 0% - eshell-winnow-list 1 0% eshell-find-alias-function 1 0% - ... 41 9% Automatic GC 40 9% - #<compiled 0x1fc9a5d12089> 1 0% - completion--in-region-1 1 0% - completion--do-completion 1 0% - completion-try-completion 1 0% - completion--nth-completion 1 0% - completion--some 1 0% - #<compiled 0xb98625> 1 0% - completion-basic-try-completion 1 0% - try-completion 1 0% - #<compiled 0xb2454d> 1 0% - complete-with-action 1 0% - #<compiled 0xb24541> 1 0% - completion-table-with-predicate 1 0% - complete-with-action 1 0% - comint-completion-file-name-table 1 0% completion-file-name-table 1 0% - command-execute 17 4% - call-interactively 17 4% - funcall-interactively 17 4% - execute-extended-command 17 4% - execute-extended-command--shorter 17 4% - completion-try-completion 17 4% - completion--nth-completion 17 4% - completion--some 17 4% - #<compiled 0xb88ee1> 17 4% - completion-pcm-try-completion 9 2% - completion-pcm--find-all-completions 9 2% completion-pcm--all-completions 9 2% completion-basic-try-completion 8 1% ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 10:31 ` Jean Louis @ 2019-07-20 10:55 ` Eli Zaretskii 2019-07-20 15:28 ` Jean Louis 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 10:55 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > Date: Sat, 20 Jul 2019 12:31:02 +0200 > From: Jean Louis <bugs@gnu.support> > Cc: 36733@debbugs.gnu.org > > Here it is: > > - completion-in-region--postch 357 86% > - #<compiled 0xb94c41> 357 86% > - pcomplete-completions-at-point 357 86% > - pcomplete-completions 357 86% > - #<compiled 0xade071> 357 86% > - pcomplete--here 357 86% > - #<compiled 0xade05d> 357 86% > - eshell-complete-commands-list 156 37% Hmm... something related to completion, it seems. Do you see the problem when the directory into which you cd is completely empty? ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 10:55 ` Eli Zaretskii @ 2019-07-20 15:28 ` Jean Louis 2019-07-20 15:56 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Jean Louis @ 2019-07-20 15:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 36733 * Eli Zaretskii <eliz@gnu.org> [2019-07-20 12:55]: > > Date: Sat, 20 Jul 2019 12:31:02 +0200 > > From: Jean Louis <bugs@gnu.support> > > Cc: 36733@debbugs.gnu.org > > > > Here it is: > > > > - completion-in-region--postch 357 86% > > - #<compiled 0xb94c41> 357 86% > > - pcomplete-completions-at-point 357 86% > > - pcomplete-completions 357 86% > > - #<compiled 0xade071> 357 86% > > - pcomplete--here 357 86% > > - #<compiled 0xade05d> 357 86% > > - eshell-complete-commands-list 156 37% > > Hmm... something related to completion, it seems. > > Do you see the problem when the directory into which you cd is > completely empty? Yes, my directory ~/Desktop is completely empty. It happens only when I do: $ cd Desk TAB then comes expansion and I see: $ cd Desktop/X whereby the cursor is still at X position and waiting first time like 3-6 seconds. Second time there is also lag, but shorter, like 1 second or 0.4 seconds something. Then if repeated again little later, it can again be with longer lag. I wonder how you do not have see it, as I am starting it with emacs -Q Jean ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 15:28 ` Jean Louis @ 2019-07-20 15:56 ` Eli Zaretskii 2019-07-20 16:22 ` Jean Louis 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 15:56 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > Date: Sat, 20 Jul 2019 17:28:55 +0200 > From: Jean Louis <bugs@gnu.support> > Cc: 36733@debbugs.gnu.org > > I wonder how you do not have see it, as I am starting > it with emacs -Q What if you empty your ~/.eshell directory, and then restart Emacs -- does that make any change? ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 15:56 ` Eli Zaretskii @ 2019-07-20 16:22 ` Jean Louis 2019-07-20 16:40 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Jean Louis @ 2019-07-20 16:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 36733 * Eli Zaretskii <eliz@gnu.org> [2019-07-20 17:57]: > > I wonder how you do not have see it, as I am starting > > it with emacs -Q > > What if you empty your ~/.eshell directory, and then restart Emacs -- > does that make any change? That one I did not have. I had directory in ~/.emacs.d/eshell and I emptied it, and I have the same phenomena again. Jean ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-20 16:22 ` Jean Louis @ 2019-07-20 16:40 ` Eli Zaretskii 0 siblings, 0 replies; 22+ messages in thread From: Eli Zaretskii @ 2019-07-20 16:40 UTC (permalink / raw) To: Jean Louis; +Cc: 36733 > Date: Sat, 20 Jul 2019 18:22:14 +0200 > From: Jean Louis <bugs@gnu.support> > Cc: 36733@debbugs.gnu.org > > > What if you empty your ~/.eshell directory, and then restart Emacs -- > > does that make any change? > > That one I did not have. I had directory in > ~/.emacs.d/eshell and I emptied it, and I have the > same phenomena again. Then I'm stumped. Maybe someone who knows Eshell better could chime in. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: (no subject) 2019-07-19 21:21 bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Jean Louis 2019-07-20 7:16 ` Eli Zaretskii @ 2020-02-29 1:30 ` Ivan Kozlov 2020-02-29 9:40 ` Ivan Kozlov 2020-02-29 3:51 ` bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Ivan Kozlov 2024-07-28 20:06 ` Jim Porter 3 siblings, 1 reply; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 1:30 UTC (permalink / raw) To: 36733 This indeed has nothing to do with cd. Any time complete-in-region-mode (apparently, I don’t actually know what does that) is active in eshell, typing RET, or C-j, or C-c C-u and probably many similar commands which should probably conceptually exit the mode, it lags forever. It takes many seconds on my old netbook. Not only that, it doesn’t even exit the mode! So if you enter ls a<TAB>, then C-c C-u, then type something again and do RET/C-c C-u/etc., it will lag. Even if you type RET and get a new prompt, it will continue to lag. But then if you type something in the new prompt, apparently it won’t. It’s crazy. Needless to say, erasing only the argument in question also doesn’t quit it. If you enter ls a<TAB> and erase the ‘a’ with DEL/M-DEL/C-c C-w/etc., then press RET/C-c C-u/etc., it will lag. But here are some things that do quit it: — typing SPC; — pressing C-g; — moving the point to outside the argument; — switching to a different buffer and back. All this equally applies to command completion etc. In general, completion in eshell is *completely* broken. One further example: when complete-in-region-mode is active (again, _apparently_) and there is some text before the point, typing * (the asterisk character) runs some undocumented command which completes the argument if there is exactly one possible completion and doesn’t do anything otherwise, so it’s like TAB without the *Completions* buffer. So typing ls a<TAB>/* will produce ls a/b if b is the only file in a/, and ls a/ otherwise. This makes entering glob patterns (one of the most common tasks in shell) a *giant pain* with constantly hitting C-g and what not to make the completion stuff go away. I have no idea whether using * for the command was a deliberate decision, but it is really bad. Moreover, typing \ inserts \<TAB>! This one is inexplicable. It makes quoting characters a giant pain with constantly erasing the tab or cancelling the completion garbage as above. The third atrocity is bug #15386. Together they render eshell clearly unusable. I wish I could remotely understand what’s going on between completion-in-region/pcomplete/eshell, but the code appears complicated and is completely undocumented. I can’t even find where the * and \ bindings are set up. It is certainly the most horribly broken thing I have encountered in Emacs. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: (no subject) 2020-02-29 1:30 ` bug#36733: (no subject) Ivan Kozlov @ 2020-02-29 9:40 ` Ivan Kozlov 0 siblings, 0 replies; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 9:40 UTC (permalink / raw) To: 36733@debbugs.gnu.org 29.02.2020, 04:30, "Ivan Kozlov" <kanichos@yandex.ru>: >One further example: when complete-in-region-mode is active (again, _apparently_) and there is some text before the point, typing * (the asterisk character) runs some undocumented command which completes the argument if there is exactly one possible completion and doesn’t do anything otherwise, so it’s like TAB without the *Completions* buffer. > >So typing ls a<TAB>/* will produce ls a/b if b is the only file in a/, and ls a/ otherwise. > >This makes entering glob patterns (one of the most common tasks in shell) a *giant pain* with constantly hitting C-g and what not to make the completion stuff go away. I have no idea whether using * for the command was a deliberate decision, but it is really bad. > >Moreover, typing \ inserts \<TAB>! This one is inexplicable. It makes quoting characters a giant pain with constantly erasing the tab or cancelling the completion garbage as above. I now realise what is actually going on here. Typing * and \ when completion-in-region-mode is active is exactly equivalent to activating this mode from a pattern ending in these characters. In other words, a<TAB>* is equivalent to a*<TAB>, and a<TAB>\ is equivalent to a\<TAB>, which is actually supposed to allow escaping TAB. Awful. The two cases should be treated completely differently. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-19 21:21 bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Jean Louis 2019-07-20 7:16 ` Eli Zaretskii 2020-02-29 1:30 ` bug#36733: (no subject) Ivan Kozlov @ 2020-02-29 3:51 ` Ivan Kozlov 2020-02-29 6:40 ` Ivan Kozlov 2024-07-28 20:06 ` Jim Porter 3 siblings, 1 reply; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 3:51 UTC (permalink / raw) To: 36733 I think I am starting to understand what’s going on. The profiler shows that eshell-complete-commands-list is being called. This function completes a command name. But weren’t we completing a file name? What does this function have to do with it? completion-in-region-mode installs a hook function completion-in-region--postch to post-command-hook, which is supposed to exit the mode when necessary. I don’t quite understand its logic. It tests for a bunch of conditions; here is the crucial block: (and completion-in-region--data (and (eq (marker-buffer (nth 0 completion-in-region--data)) (current-buffer)) (>= (point) (nth 0 completion-in-region--data)) (<= (point) (save-excursion (goto-char (nth 1 completion-in-region--data)) (line-end-position))) (funcall completion-in-region-mode--predicate))) The initial conditions somehow turn out to be true when the argument, or the whole line, is deleted, or a new line is entered. Then it calls completion-in-region-mode--predicate, which is in this case apparently provided by completion-at-point, which is what TAB is bound to in eshell. I don’t quite understand the logic. It calls a function which ultimately comes from the completion-at-point-functions list. In eshell it is pcomplete-completions-at-point. Because C-c C-u has erased the line (apparently post-command-hook is run before redisplay?), or, in the original bug, a line feed has been entered, pcomplete-completions-at-point operates from an empty line. The result is exactly the same as hitting TAB at an empty prompt. It creates a list of all possible commands including *all executables from $PATH*. Hence the bug. I believe fixing it properly requires altering completion-in-region--postch. Altering it requires understanding why it is the way it is (like why doesn’t it already exit the mode when the region is gone), which I don’t have. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2020-02-29 3:51 ` bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Ivan Kozlov @ 2020-02-29 6:40 ` Ivan Kozlov 2020-02-29 7:24 ` Ivan Kozlov 0 siblings, 1 reply; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 6:40 UTC (permalink / raw) To: 36733 I have identified the problem. completion-in-region uses markers to identify the beginning and the end of the region where the completion is active. The markers are saved into the list completion-in-region--data. completion-in-region--post checks if the point has left the buffer, in which case it quits the completion mode (as I have already noted): (>= (point) (nth 0 completion-in-region--data)) (<= (point) (save-excursion (goto-char (nth 1 completion-in-region--data)) (line-end-position))) Erasing text or entering line feed moves markers, it appears to be their whole purpose. Here is the problem. The markers move and the conditions above give true, so 1) completion-in-mode--predicate is called 2) completion-in-region mode remains active, both of which are wrong. My investigation must end here. I don’t know why completion-in-region-mode is using markers (to enter text outside the region you probably need to move the point out of it, which exits the mode), and I don’t know if it is possible to avoid this situation when using them. All I know is that the current behavior is wrong and doesn’t make any sense. I do hope somebody chimes in who has any ideas. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2020-02-29 6:40 ` Ivan Kozlov @ 2020-02-29 7:24 ` Ivan Kozlov 2020-02-29 7:56 ` Ivan Kozlov 0 siblings, 1 reply; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 7:24 UTC (permalink / raw) To: 36733 >completion-in-region--post checks if the point has left the buffer Correction: the region (where the completion is active). To reiterate the point: completion-in-region-mode must stop using persistent markers. It’s literally a bug. I don’t see why it can’t use numerical positions. If there is a legitimate reason, may be it is possible to make markers work differently. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2020-02-29 7:24 ` Ivan Kozlov @ 2020-02-29 7:56 ` Ivan Kozlov 2020-02-29 9:02 ` Ivan Kozlov 2020-02-29 9:33 ` Ivan Kozlov 0 siblings, 2 replies; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 7:56 UTC (permalink / raw) To: 36733 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. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2020-02-29 7:56 ` Ivan Kozlov @ 2020-02-29 9:02 ` Ivan Kozlov 2020-02-29 9:33 ` Ivan Kozlov 1 sibling, 0 replies; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 9:02 UTC (permalink / raw) To: 36733 29.02.2020, 10:56, "Ivan Kozlov" <kanichos@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. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2020-02-29 7:56 ` Ivan Kozlov 2020-02-29 9:02 ` Ivan Kozlov @ 2020-02-29 9:33 ` Ivan Kozlov 1 sibling, 0 replies; 22+ messages in thread From: Ivan Kozlov @ 2020-02-29 9:33 UTC (permalink / raw) To: 36733 29.02.2020, 10:56, "Ivan Kozlov" <kanichos@yandex.ru>: >It works. I don’t know if it also breaks anything. Of course, it breaks completion from an empty pattern. Now I genuinely have no idea what to do. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2019-07-19 21:21 bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Jean Louis ` (2 preceding siblings ...) 2020-02-29 3:51 ` bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Ivan Kozlov @ 2024-07-28 20:06 ` Jim Porter 2024-07-30 16:16 ` Jean Louis 3 siblings, 1 reply; 22+ messages in thread From: Jim Porter @ 2024-07-28 20:06 UTC (permalink / raw) To: bugs, 36733 On 7/19/2019 2:21 PM, Jean Louis wrote: > > I have observed that if I write in Eshell: > > $ cd Documents > > That it enters the directory quickly. > > But if I write: > > $ cd Docum TAB > > it expands into > > $ cd Documents/ > > then when I press ENTER it is taking sometimes 1 second or few seconds > just to enter the directory. > > This also happens if inside of directory there is just one file. In the intervening 5 years, there have been many improvements to both Eshell and Pcomplete. Are you still able to reproduce this? I tried locally, and everything seems ok to me, but maybe I'm just missing some essential step. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion 2024-07-28 20:06 ` Jim Porter @ 2024-07-30 16:16 ` Jean Louis 0 siblings, 0 replies; 22+ messages in thread From: Jean Louis @ 2024-07-30 16:16 UTC (permalink / raw) To: Jim Porter; +Cc: 36733 * Jim Porter <jporterbugs@gmail.com> [2024-07-28 23:06]: > On 7/19/2019 2:21 PM, Jean Louis wrote: > > > > I have observed that if I write in Eshell: > > > > $ cd Documents > > > > That it enters the directory quickly. > > > > But if I write: > > > > $ cd Docum TAB > > > > it expands into > > > > $ cd Documents/ > > > > then when I press ENTER it is taking sometimes 1 second or few seconds > > just to enter the directory. > > > > This also happens if inside of directory there is just one file. > > In the intervening 5 years, there have been many improvements to both Eshell > and Pcomplete. Are you still able to reproduce this? I tried locally, and > everything seems ok to me, but maybe I'm just missing some essential step. I do not see it happening, but that was one of reasons I stopped using it actively, so I can verify it over the time. I see that TAB completion now works fast unlike before. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns ✡️🛡️ Proudly standing with Israel, a nation rooted in history and culture. Let's condemn hatred and promote understanding. In support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2024-07-30 16:16 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-19 21:21 bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Jean Louis 2019-07-20 7:16 ` Eli Zaretskii 2019-07-20 7:50 ` Jean Louis 2019-07-20 8:31 ` Eli Zaretskii 2019-07-20 9:07 ` Jean Louis 2019-07-20 10:08 ` Eli Zaretskii 2019-07-20 10:31 ` Jean Louis 2019-07-20 10:55 ` Eli Zaretskii 2019-07-20 15:28 ` Jean Louis 2019-07-20 15:56 ` Eli Zaretskii 2019-07-20 16:22 ` Jean Louis 2019-07-20 16:40 ` Eli Zaretskii 2020-02-29 1:30 ` bug#36733: (no subject) Ivan Kozlov 2020-02-29 9:40 ` Ivan Kozlov 2020-02-29 3:51 ` bug#36733: 27.0.50; Eshell taking long time to enter directory after TAB completion Ivan Kozlov 2020-02-29 6:40 ` Ivan Kozlov 2020-02-29 7:24 ` Ivan Kozlov 2020-02-29 7:56 ` Ivan Kozlov 2020-02-29 9:02 ` Ivan Kozlov 2020-02-29 9:33 ` Ivan Kozlov 2024-07-28 20:06 ` Jim Porter 2024-07-30 16:16 ` Jean Louis
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).