* bug#58921: Tab completion hangs in eshell [not found] <2cb2b8aa-0813-5eae-3bfc-27831b3d50dd@housseini.me> @ 2022-10-31 9:04 ` reza via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-11-02 7:28 ` Gerd Möllmann 2023-02-10 7:34 ` Jim Porter 0 siblings, 2 replies; 10+ messages in thread From: reza via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-10-31 9:04 UTC (permalink / raw) To: 58921 [-- Attachment #1: Type: text/plain, Size: 39563 bytes --] Open an eshell: M-x eshell <enter> Type this command in the eshell tab --warning=no-timestamp -xf <tab> emacs will hang and has to be killed. This behavior does not occur when only typing tar -xf <tab> In GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.16.0) Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Guix System Configured using: 'configure CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash --prefix=/gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2 --enable-fast-install --with-modules --with-cairo --with-native-compilation --disable-build-details' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $EMACSLOADPATH: /home/reza/.guix-home/profile/share/emacs/site-lisp:/gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp value of $EMACSNATIVELOADPATH: /home/reza/.guix-home/profile/lib/emacs/native-site-lisp value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-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 indent-tabs-mode: t transient-mark-mode: t Load-path shadows: /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-workspaces hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-workspaces /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-visuals hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-visuals /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-treelib hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-treelib /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-themes hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-themes /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-tags hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-tags /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-tag-follow-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-tag-follow-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-rendering hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-rendering /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-scope hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-scope /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-persistence hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-persistence /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-mouse-interface hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-mouse-interface /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-macros hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-macros /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-interface hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-interface /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-hydras hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-hydras /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-git-commit-diff-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-git-commit-diff-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-filewatch-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-filewatch-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-file-management hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-file-management /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-extensions hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-extensions /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-dom hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-dom /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-customization hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-customization /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-bookmarks hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-bookmarks /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-annotations hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-annotations /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-project-follow-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-project-follow-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-pkg hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-pkg /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-peek-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-peek-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-logging hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-logging /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-icons hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-icons /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-header-line hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-header-line /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-fringe-indicator hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-fringe-indicator /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-follow-mode hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-follow-mode /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-faces hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-faces /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-diagnostics hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-diagnostics /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-core-utils hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-core-utils /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-compatibility hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-compatibility /gnu/store/4mz3ky3wbgxh4hpbnb9madqax2l28gvc-emacs-treemacs-3.0/share/emacs/site-lisp/treemacs-3.0/treemacs-async hides /gnu/store/rrf5s2grgpbyjhk8133nvihig1m51l99-emacs-treemacs-extra-3.0/share/emacs/site-lisp/treemacs-extra-3.0/treemacs-async /gnu/store/h0wqx3hffd3p4d3vkyr3kgzxqgnnq9d9-emacs-jsonrpc-1.0.15-0.50654cf/share/emacs/site-lisp/jsonrpc-1.0.15-0.50654cf/jsonrpc hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/jsonrpc /gnu/store/4548rknhkpg4x4dxjfin87h7v3xfpw2a-emacs-auth-source-pass-5.0.0-2.847a1f5/share/emacs/site-lisp/auth-source-pass-5.0.0-2.847a1f5/auth-source-pass hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/auth-source-pass /gnu/store/pgxr2l2y1hjn38j0qaw21h19p351s933-emacs-xref-1.5.1/share/emacs/site-lisp/xref-1.5.1/xref hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/progmodes/xref /gnu/store/y2xv4l96w1995s29kgkvgalvyj37nrnv-emacs-project-0.8.2/share/emacs/site-lisp/project-0.8.2/project hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/progmodes/project /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-texinfo hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-texinfo /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-publish hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-publish /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-org hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-org /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-odt hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-odt /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-man hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-man /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-md hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-md /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-latex hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-latex /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-koma-letter hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-koma-letter /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-icalendar hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-icalendar /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-html hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-html /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-beamer hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-beamer /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ox-ascii hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ox-ascii /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-timer hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-timer /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-table hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-table /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-src hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-src /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-refile hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-refile /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-protocol hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-protocol /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-plot hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-plot /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-pcomplete hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-pcomplete /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-num hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-num /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-mouse hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-mouse /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-mobile hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-mobile /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-macs hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-macs /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-macro hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-macro /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-loaddefs hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-loaddefs /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-list hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-list /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-lint hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-lint /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-keys hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-keys /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-inlinetask hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-inlinetask /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-indent hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-indent /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-id hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-id /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-habit hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-habit /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-goto hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-goto /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-footnote hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-footnote /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-feed hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-feed /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-faces hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-faces /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-entities hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-entities /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-element hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-element /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-duration hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-duration /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-ctags hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-ctags /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-compat hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-compat /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-colview hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-colview /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-clock hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-clock /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-capture hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-capture /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-attach hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-attach /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-archive hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-archive /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-agenda hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-agenda /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-bibtex hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-bibtex /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-bbdb hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-bbdb /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/oc hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/oc /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/oc-csl hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/oc-csl /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/oc-basic hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/oc-basic /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-tangle hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-tangle /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-sql hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-sql /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-shell hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-shell /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-ruby hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-ruby /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-python hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-python /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-octave hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-octave /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-lua hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-lua /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-lilypond hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-lilypond /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-julia hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-julia /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-java hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-java /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-haskell hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-haskell /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-gnuplot hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-gnuplot /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-exp hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-exp /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-core hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-core /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-comint hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-comint /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-R hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-R /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-C hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-C /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-version hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-version /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-tempo hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-tempo /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-install hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-install /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-datetree hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-datetree /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-crypt hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-crypt /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/org-attach-git hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/org-attach-git /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-w3m hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-w3m /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-rmail hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-rmail /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-mhe hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-mhe /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-irc hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-irc /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-man hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-man /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-info hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-info /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-doi hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-doi /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-eww hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-eww /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-gnus hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-gnus /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-eshell hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-eshell /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ol-docview hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ol-docview /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/oc-natbib hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/oc-natbib /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/oc-biblatex hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/oc-biblatex /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-table hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-table /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-sqlite hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-sqlite /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-sed hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-sed /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-screen hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-screen /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-scheme hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-scheme /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-sass hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-sass /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-ref hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-ref /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-processing hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-processing /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-perl hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-perl /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-plantuml hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-plantuml /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-org hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-org /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-ocaml hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-ocaml /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-maxima hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-maxima /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-matlab hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-matlab /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-makefile hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-makefile /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-lob hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-lob /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-lisp hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-lisp /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-latex hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-latex /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-js hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-js /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-groovy hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-groovy /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-fortran hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-fortran /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-forth hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-forth /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-eval hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-eval /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-eshell hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-eshell /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-emacs-lisp hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-emacs-lisp /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-dot hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-dot /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-ditaa hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-ditaa /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-css hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-css /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-clojure hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-clojure /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-calc hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-calc /gnu/store/l0875pf7r4vr3g5x7fc1g58n387k1v1c-emacs-org-9.5.5/share/emacs/site-lisp/org-9.5.5/ob-awk hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/org/ob-awk /gnu/store/gcvj3grb55ic034b9a56p6m182b2qfdr-emacs-nadvice-0.3/share/emacs/site-lisp/nadvice-0.3/nadvice hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/emacs-lisp/nadvice /gnu/store/647vafv4sxcs30qh566bdabhxh5iiw9v-emacs-eldoc-1.13.0/share/emacs/site-lisp/eldoc-1.13.0/eldoc hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/emacs-lisp/eldoc /gnu/store/xn6s0vh7i0pk5p5kq7hc5w89fgmp02j8-emacs-let-alist-1.0.6/share/emacs/site-lisp/let-alist-1.0.6/let-alist hides /gnu/store/8n3sgdlylaxns28g9kldmfp3b3rah5dv-emacs-28.2/share/emacs/28.2/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window 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 cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 69045 3570) (symbols 48 6639 0) (strings 32 19789 2469) (string-bytes 1 706002) (vectors 16 14959) (vector-slots 8 305735 7624) (floats 8 22 31) (intervals 56 223 0) (buffers 992 10)) [-- Attachment #2: OpenPGP_0xC375C6AF05125C52.asc --] [-- Type: application/pgp-keys, Size: 15557 bytes --] [-- Attachment #3: OpenPGP_signature --] [-- Type: application/pgp-signature, Size: 499 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2022-10-31 9:04 ` bug#58921: Tab completion hangs in eshell reza via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-02 7:28 ` Gerd Möllmann 2023-02-10 7:34 ` Jim Porter 1 sibling, 0 replies; 10+ messages in thread From: Gerd Möllmann @ 2022-11-02 7:28 UTC (permalink / raw) To: reza; +Cc: 58921 reza <reza@housseini.me> writes: > Open an eshell: > > M-x eshell <enter> > > Type this command in the eshell > > tab --warning=no-timestamp -xf <tab> > > emacs will hang and has to be killed. > > This behavior does not occur when only typing > > tar -xf <tab> Didn't check 28. On master, it gets into a loop which can be interrupted with C-g. Backtrace is Debugger entered--Lisp error: (quit) pcomplete-match("\\`--suffix=" 0) pcomplete/tar() pcomplete-completions() pcomplete-completions-at-point() completion--capf-wrapper(pcomplete-completions-at-point all) run-hook-wrapped(completion--capf-wrapper pcomplete-completions-at-point all) completion-at-point() funcall-interactively(completion-at-point) call-interactively(completion-at-point nil nil) command-execute(completion-at-point) Maybe this helps someone knowing pcomplete. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2022-10-31 9:04 ` bug#58921: Tab completion hangs in eshell reza via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-11-02 7:28 ` Gerd Möllmann @ 2023-02-10 7:34 ` Jim Porter 2023-02-23 6:57 ` Jim Porter 2023-02-23 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 2 replies; 10+ messages in thread From: Jim Porter @ 2023-02-10 7:34 UTC (permalink / raw) To: reza, 58921; +Cc: monnier [-- Attachment #1: Type: text/plain, Size: 563 bytes --] X-Debbugs-Cc: monnier@iro.umontreal.ca On 10/31/2022 2:04 AM, reza via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > Open an eshell: > > M-x eshell <enter> > > Type this command in the eshell > > tab --warning=no-timestamp -xf <tab> > > emacs will hang and has to be killed. > > This behavior does not occur when only typing > > tar -xf <tab> I believe the attached patch fixes this. It ensures that even when 'pcomplete/tar' encounters an option it doesn't recognize, it continues to make forward progress. [-- Attachment #2: 0001-Fix-Pcompletion-of-tar-when-using-unrecognized-argum.patch --] [-- Type: text/plain, Size: 3556 bytes --] From b11cfb6fc1cbb52b88425f66b4dc503b9e3cd543 Mon Sep 17 00:00:00 2001 From: Jim Porter <jporterbugs@gmail.com> Date: Thu, 9 Feb 2023 23:27:50 -0800 Subject: [PATCH] Fix Pcompletion of "tar" when using unrecognized arguments Previously, arguments to tar like "--warning=no-timestamp" would cause Pcompletion to hang (bug#58921). * lisp/pcmpl-gnu.el (pcomplete/tar): Properly handle completion of arguments that look like "--ARG=", even if they're not recognized by this function. (This also lets us coalesce a lot of the different cases into one.) --- lisp/pcmpl-gnu.el | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el index 7d270ea789f..00e9af3a974 100644 --- a/lisp/pcmpl-gnu.el +++ b/lisp/pcmpl-gnu.el @@ -276,20 +276,12 @@ pcomplete/tar (cond ((pcomplete-match "\\`-\\'" 0) (pcomplete-here*)) - ((pcomplete-match "\\`--after-date=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--backup=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--blocking-factor=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--directory=\\(.*\\)" 0) (pcomplete-here* (pcomplete-dirs) (pcomplete-match-string 1 0))) ((pcomplete-match "\\`--exclude-from=\\(.*\\)" 0) (pcomplete-here* (pcomplete-entries) (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--exclude=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--\\(extract\\|list\\)\\'" 0) (setq complete-within t)) ((pcomplete-match "\\`--file=\\(.*\\)" 0) @@ -304,36 +296,26 @@ pcomplete/tar ((pcomplete-match "\\`--info-script=\\(.*\\)" 0) (pcomplete-here* (pcomplete-entries) (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--label=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--mode=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--new-volume-script=\\(.*\\)" 0) (pcomplete-here* (pcomplete-entries) (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--newer=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--owner=\\(.*\\)" 0) (pcomplete-here* (pcmpl-unix-user-names) (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--record-size=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--rsh-command=\\(.*\\)" 0) (pcomplete-here* (funcall pcomplete-command-completion-function) (pcomplete-match-string 1 0))) ((pcomplete-match "\\`--starting-file=\\(.*\\)" 0) (pcomplete-here* (pcomplete-entries) (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--suffix=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--tape-length=" 0) - (pcomplete-here*)) ((pcomplete-match "\\`--use-compress-program=\\(.*\\)" 0) (pcomplete-here* (funcall pcomplete-command-completion-function) (pcomplete-match-string 1 0))) ((pcomplete-match "\\`--volno-file=\\(.*\\)" 0) (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))))) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--.*=" 0) + (pcomplete-here*)))) (unless saw-option (pcomplete-here (mapcar #'char-to-string -- 2.25.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-10 7:34 ` Jim Porter @ 2023-02-23 6:57 ` Jim Porter 2023-02-23 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 0 replies; 10+ messages in thread From: Jim Porter @ 2023-02-23 6:57 UTC (permalink / raw) To: reza, 58921; +Cc: monnier On 2/9/2023 11:34 PM, Jim Porter wrote: > I believe the attached patch fixes this. It ensures that even when > 'pcomplete/tar' encounters an option it doesn't recognize, it continues > to make forward progress. Stefan, any thoughts on this patch? I think it's pretty safe, but maybe there's a better way to do all this... ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-10 7:34 ` Jim Porter 2023-02-23 6:57 ` Jim Porter @ 2023-02-23 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-02-23 19:25 ` Jim Porter 1 sibling, 1 reply; 10+ messages in thread From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-02-23 18:08 UTC (permalink / raw) To: Jim Porter; +Cc: 58921, reza > @@ -304,36 +296,26 @@ pcomplete/tar > ((pcomplete-match "\\`--info-script=\\(.*\\)" 0) > (pcomplete-here* (pcomplete-entries) > (pcomplete-match-string 1 0))) > - ((pcomplete-match "\\`--label=" 0) > - (pcomplete-here*)) > - ((pcomplete-match "\\`--mode=" 0) > - (pcomplete-here*)) > ((pcomplete-match "\\`--new-volume-script=\\(.*\\)" 0) > (pcomplete-here* (pcomplete-entries) > (pcomplete-match-string 1 0))) > - ((pcomplete-match "\\`--newer=" 0) > - (pcomplete-here*)) > ((pcomplete-match "\\`--owner=\\(.*\\)" 0) > (pcomplete-here* (pcmpl-unix-user-names) > (pcomplete-match-string 1 0))) > - ((pcomplete-match "\\`--record-size=" 0) > - (pcomplete-here*)) > ((pcomplete-match "\\`--rsh-command=\\(.*\\)" 0) > (pcomplete-here* (funcall pcomplete-command-completion-function) > (pcomplete-match-string 1 0))) > ((pcomplete-match "\\`--starting-file=\\(.*\\)" 0) > (pcomplete-here* (pcomplete-entries) > (pcomplete-match-string 1 0))) > - ((pcomplete-match "\\`--suffix=" 0) > - (pcomplete-here*)) > - ((pcomplete-match "\\`--tape-length=" 0) > - (pcomplete-here*)) > ((pcomplete-match "\\`--use-compress-program=\\(.*\\)" 0) > (pcomplete-here* (funcall pcomplete-command-completion-function) > (pcomplete-match-string 1 0))) > ((pcomplete-match "\\`--volno-file=\\(.*\\)" 0) > (pcomplete-here* (pcomplete-entries) > - (pcomplete-match-string 1 0))))) > + (pcomplete-match-string 1 0))) > + ((pcomplete-match "\\`--.*=" 0) > + (pcomplete-here*)))) > (unless saw-option > (pcomplete-here > (mapcar #'char-to-string This looks good, but doesn't that still leave an inf-loop bug when the input doesn't (pcomplete-match "\\`--.*=" 0)? Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-23 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-02-23 19:25 ` Jim Porter 2023-02-23 19:34 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 10+ messages in thread From: Jim Porter @ 2023-02-23 19:25 UTC (permalink / raw) To: Stefan Monnier; +Cc: reza, 58921 On 2/23/2023 10:08 AM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > This looks good, but doesn't that still leave an inf-loop bug when the > input doesn't (pcomplete-match "\\`--.*=" 0)? Testing this manually, I think it's ok. Prior to my patch, the following works ok: 1) tar potato <TAB> 2) tar --potato <TAB> However, this would hang: 3) tar --potato=russet <TAB> So we just need to fix the case where the argument matches "\\`--.*=". I'm still not really clear on all the details of how Pcomplete works, but I think case (2) works because of this code just before my diff: (if (pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) ;; FIXME: Extract this list from "tar --help". (pcomplete-here* '("--absolute-names" ;; ... "--volno-file="))) That is, if we have an arg starting with "--" and without an "=", call 'pcomplete-here*'. Even the arg doesn't match anything in that list, it should still move forward (I think). However, when we have an "=" in the arg, the function instead evaluates the 'cond' block that I modified, so it needs to be sure to call 'pcomplete-here*' (or some other function) to make forward progress. Maybe this should have some regression tests... ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-23 19:25 ` Jim Porter @ 2023-02-23 19:34 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-02-23 20:43 ` Jim Porter 0 siblings, 1 reply; 10+ messages in thread From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-02-23 19:34 UTC (permalink / raw) To: Jim Porter; +Cc: reza, 58921 > So we just need to fix the case where the argument matches "\\`--.*=". I'm > still not really clear on all the details of how Pcomplete works, but > I think case (2) works because of this code just before my diff: > > (if (pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) > ;; FIXME: Extract this list from "tar --help". > (pcomplete-here* > '("--absolute-names" > ;; ... > "--volno-file="))) > > That is, if we have an arg starting with "--" and without an "=", call > 'pcomplete-here*'. Even the arg doesn't match anything in that list, it > should still move forward (I think). However, when we have an "=" in the > arg, the function instead evaluates the 'cond' block that I modified, so it > needs to be sure to call 'pcomplete-here*' (or some other function) to make > forward progress. The way I see it, either we still have an inf-loop or your (pcomplete-match "\\`--.*=" 0) condition is redundant. From what you say the inf-loop should only manifest if we match neither (pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) nor (pcomplete-match "\\`--.*=" 0) and indeed: tar --pot\ <TAB> seems to hang. Stefan ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-23 19:34 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-02-23 20:43 ` Jim Porter 2023-03-04 5:37 ` Jim Porter 0 siblings, 1 reply; 10+ messages in thread From: Jim Porter @ 2023-02-23 20:43 UTC (permalink / raw) To: Stefan Monnier; +Cc: 58921, reza [-- Attachment #1: Type: text/plain, Size: 987 bytes --] On 2/23/2023 11:34 AM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > The way I see it, either we still have an inf-loop or your > (pcomplete-match "\\`--.*=" 0) condition is redundant. > > From what you say the inf-loop should only manifest if we match neither > > (pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) > > nor > > (pcomplete-match "\\`--.*=" 0) > > and indeed: > > tar --pot\ <TAB> > > seems to hang. Ah, good point. Instead of '(pcomplete-match "\\`--.*=" 0)', I think we want to handle all args starting with "--", but not matching "^--\\([^= \t\n\f]*\\)\\'". The goal is to call 'pcomplete-here*' exactly once per option. I did this a slightly different way in the updated patch by moving all the "--" cases into a single place (likewise with the "-" options). I think this is easier to follow than before, and makes it more obvious that we're calling 'pcomplete-here*' the right number of times. [-- Attachment #2: 0001-Fix-Pcompletion-of-tar-when-using-unrecognized-argum.patch --] [-- Type: text/plain, Size: 11413 bytes --] From 1b84e2cbf2fbfa0acde84d6fd5298a9997f6c8b8 Mon Sep 17 00:00:00 2001 From: Jim Porter <jporterbugs@gmail.com> Date: Thu, 9 Feb 2023 23:27:50 -0800 Subject: [PATCH] Fix Pcompletion of "tar" when using unrecognized arguments Previously, arguments to tar like "--warning=no-timestamp" would cause Pcompletion to hang (bug#58921). This simplifies the logic flow by moving all the cases for "--" arguments inside the THEN form of '(if (pcomplete-match "^--" 0)', and for all "-" arguments inside the ELSE form. * lisp/pcmpl-gnu.el (pcmpl-gnu--tar-long-options): New variable. (pcomplete/tar): Properly handle completion of arguments that look like "--ARG=", even if they're not recognized by this function. --- lisp/pcmpl-gnu.el | 269 ++++++++++++++++++++++------------------------ 1 file changed, 127 insertions(+), 142 deletions(-) diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el index 7d270ea789f..1553c3efed7 100644 --- a/lisp/pcmpl-gnu.el +++ b/lisp/pcmpl-gnu.el @@ -184,6 +184,86 @@ pcmpl-gnu-with-file-buffer (when (and (not ,exist) (buffer-live-p ,buf)) (kill-buffer ,buf)))))) +(defvar pcmpl-gnu--tar-long-options + ;; FIXME: Extract this list from "tar --help". + '("--absolute-names" + "--after-date=" + "--append" + "--atime-preserve" + "--backup" + "--block-number" + "--blocking-factor=" + "--catenate" + "--checkpoint" + "--compare" + "--compress" + "--concatenate" + "--confirmation" + "--create" + "--delete" + "--dereference" + "--diff" + "--directory=" + "--exclude=" + "--exclude-from=" + "--extract" + "--file=" + "--files-from=" + "--force-local" + "--get" + "--group=" + "--gzip" + "--help" + "--ignore-failed-read" + "--ignore-zeros" + "--incremental" + "--info-script=" + "--interactive" + "--keep-old-files" + "--label=" + "--list" + "--listed-incremental" + "--mode=" + "--modification-time" + "--multi-volume" + "--new-volume-script=" + "--newer=" + "--newer-mtime" + "--no-recursion" + "--null" + "--numeric-owner" + "--old-archive" + "--one-file-system" + "--owner=" + "--portability" + "--posix" + "--preserve" + "--preserve-order" + "--preserve-permissions" + "--read-full-records" + "--record-size=" + "--recursive-unlink" + "--remove-files" + "--rsh-command=" + "--same-order" + "--same-owner" + "--same-permissions" + "--sparse" + "--starting-file=" + "--suffix=" + "--tape-length=" + "--to-stdout" + "--totals" + "--uncompress" + "--ungzip" + "--unlink-first" + "--update" + "--use-compress-program=" + "--verbose" + "--verify" + "--version" + "--volno-file=")) + ;;;###autoload (defun pcomplete/tar () "Completion for the GNU tar utility." @@ -192,148 +272,53 @@ pcomplete/tar (while (pcomplete-match "^-" 0) (setq saw-option t) (if (pcomplete-match "^--" 0) - (if (pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) - ;; FIXME: Extract this list from "tar --help". - (pcomplete-here* - '("--absolute-names" - "--after-date=" - "--append" - "--atime-preserve" - "--backup" - "--block-number" - "--blocking-factor=" - "--catenate" - "--checkpoint" - "--compare" - "--compress" - "--concatenate" - "--confirmation" - "--create" - "--delete" - "--dereference" - "--diff" - "--directory=" - "--exclude=" - "--exclude-from=" - "--extract" - "--file=" - "--files-from=" - "--force-local" - "--get" - "--group=" - "--gzip" - "--help" - "--ignore-failed-read" - "--ignore-zeros" - "--incremental" - "--info-script=" - "--interactive" - "--keep-old-files" - "--label=" - "--list" - "--listed-incremental" - "--mode=" - "--modification-time" - "--multi-volume" - "--new-volume-script=" - "--newer=" - "--newer-mtime" - "--no-recursion" - "--null" - "--numeric-owner" - "--old-archive" - "--one-file-system" - "--owner=" - "--portability" - "--posix" - "--preserve" - "--preserve-order" - "--preserve-permissions" - "--read-full-records" - "--record-size=" - "--recursive-unlink" - "--remove-files" - "--rsh-command=" - "--same-order" - "--same-owner" - "--same-permissions" - "--sparse" - "--starting-file=" - "--suffix=" - "--tape-length=" - "--to-stdout" - "--totals" - "--uncompress" - "--ungzip" - "--unlink-first" - "--update" - "--use-compress-program=" - "--verbose" - "--verify" - "--version" - "--volno-file="))) - (pcomplete-opt "01234567ABCFGKLMNOPRSTUVWXZbcdfghiklmoprstuvwxz")) - (cond - ((pcomplete-match "\\`-\\'" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--after-date=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--backup=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--blocking-factor=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--directory=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-dirs) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--exclude-from=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--exclude=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--\\(extract\\|list\\)\\'" 0) - (setq complete-within t)) - ((pcomplete-match "\\`--file=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-dirs-or-entries pcmpl-gnu-tarfile-regexp) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--files-from=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--group=\\(.*\\)" 0) - (pcomplete-here* (pcmpl-unix-group-names) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--info-script=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--label=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--mode=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--new-volume-script=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--newer=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--owner=\\(.*\\)" 0) - (pcomplete-here* (pcmpl-unix-user-names) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--record-size=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--rsh-command=\\(.*\\)" 0) - (pcomplete-here* (funcall pcomplete-command-completion-function) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--starting-file=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--suffix=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--tape-length=" 0) - (pcomplete-here*)) - ((pcomplete-match "\\`--use-compress-program=\\(.*\\)" 0) - (pcomplete-here* (funcall pcomplete-command-completion-function) - (pcomplete-match-string 1 0))) - ((pcomplete-match "\\`--volno-file=\\(.*\\)" 0) - (pcomplete-here* (pcomplete-entries) - (pcomplete-match-string 1 0))))) + (cond + ((pcomplete-match "^--\\([^= \t\n\f]*\\)\\'" 0) + (pcomplete-here* pcmpl-gnu--tar-long-options)) + ((pcomplete-match "\\`--directory=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-dirs) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--exclude-from=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--\\(extract\\|list\\)\\'" 0) + (setq complete-within t)) + ((pcomplete-match "\\`--file=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-dirs-or-entries + pcmpl-gnu-tarfile-regexp) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--files-from=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--group=\\(.*\\)" 0) + (pcomplete-here* (pcmpl-unix-group-names) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--info-script=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--new-volume-script=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--owner=\\(.*\\)" 0) + (pcomplete-here* (pcmpl-unix-user-names) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--rsh-command=\\(.*\\)" 0) + (pcomplete-here* (funcall pcomplete-command-completion-function) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--starting-file=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--use-compress-program=\\(.*\\)" 0) + (pcomplete-here* (funcall pcomplete-command-completion-function) + (pcomplete-match-string 1 0))) + ((pcomplete-match "\\`--volno-file=\\(.*\\)" 0) + (pcomplete-here* (pcomplete-entries) + (pcomplete-match-string 1 0))) + (t + (pcomplete-here*))) + (pcomplete-opt "01234567ABCFGKLMNOPRSTUVWXZbcdfghiklmoprstuvwxz") + (when (pcomplete-match "\\`-\\'" 0) + (pcomplete-here*)))) (unless saw-option (pcomplete-here (mapcar #'char-to-string -- 2.25.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-02-23 20:43 ` Jim Porter @ 2023-03-04 5:37 ` Jim Porter 2023-03-08 23:53 ` Jim Porter 0 siblings, 1 reply; 10+ messages in thread From: Jim Porter @ 2023-03-04 5:37 UTC (permalink / raw) To: Stefan Monnier; +Cc: reza, 58921 On 2/23/2023 12:43 PM, Jim Porter wrote: > Ah, good point. Instead of '(pcomplete-match "\\`--.*=" 0)', I think we > want to handle all args starting with "--", but not matching "^--\\([^= > \t\n\f]*\\)\\'". The goal is to call 'pcomplete-here*' exactly once per > option. > > I did this a slightly different way in the updated patch by moving all > the "--" cases into a single place (likewise with the "-" options). I > think this is easier to follow than before, and makes it more obvious > that we're calling 'pcomplete-here*' the right number of times. Any other thoughts before I merge this patch? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#58921: Tab completion hangs in eshell 2023-03-04 5:37 ` Jim Porter @ 2023-03-08 23:53 ` Jim Porter 0 siblings, 0 replies; 10+ messages in thread From: Jim Porter @ 2023-03-08 23:53 UTC (permalink / raw) To: Stefan Monnier; +Cc: 58921-done, reza On 3/3/2023 9:37 PM, Jim Porter wrote: > Any other thoughts before I merge this patch? Merged as 38427494d5b, and closing this bug now. Of course, if there are any remaining issues, just let me know and I'll take a look. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-03-08 23:53 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <2cb2b8aa-0813-5eae-3bfc-27831b3d50dd@housseini.me> 2022-10-31 9:04 ` bug#58921: Tab completion hangs in eshell reza via Bug reports for GNU Emacs, the Swiss army knife of text editors 2022-11-02 7:28 ` Gerd Möllmann 2023-02-10 7:34 ` Jim Porter 2023-02-23 6:57 ` Jim Porter 2023-02-23 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-02-23 19:25 ` Jim Porter 2023-02-23 19:34 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-02-23 20:43 ` Jim Porter 2023-03-04 5:37 ` Jim Porter 2023-03-08 23:53 ` Jim Porter
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).