GNU bug report logs - #52865
29.0.50; eshell: bash-completion as a capf is not working anymore

Previous Next

Package: emacs;

Reported by: "Jose A. Ortega Ruiz" <jao <at> gnu.org>

Date: Wed, 29 Dec 2021 03:53:01 UTC

Severity: normal

Tags: moreinfo

Found in version 29.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52865 in the body.
You can then email your comments to 52865 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#52865; Package emacs. (Wed, 29 Dec 2021 03:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Jose A. Ortega Ruiz" <jao <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 29 Dec 2021 03:53:01 GMT) Full text and rfc822 format available.

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

From: "Jose A. Ortega Ruiz" <jao <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; eshell: bash-completion as a capf is not working anymore
Date: Wed, 29 Dec 2021 03:52:00 +0000
Hi,

Recent changes in the master branch on eshell completion have broken a
very useful CAPF i have been using for awhile and was working
flawlessly.  bash-completion is an elisp package that uses the
underlying bash_completion scripts to provide the latter's functionality
at the elisp level (nominally for use with M-! and friends).  I have
code like this to use it in eshell via capf:

        (defun jao-eshell-completion-capf ()
          (let ((c (bash-completion-dynamic-complete-nocomint
                    (save-excursion (eshell-bol) (point))
                    (point)
                    t)))
            (when (and c (listp c))
              (append c '(:exclusive no)))))

        (defun jao-eshell--add-bash-completion ()
          (setq completion-at-point-functions
                '(jao-eshell-completion-capf pcomplete-completions-at-point t)))

        (add-hook 'eshell-mode-hook #'jao-eshell--add-bash-completion)

bash-completion-dynamic-complete-nocomint is a function from the
above-mentioned package that returns possible completions given a
region, in the format expected from a CAPF (unless something changed).
Since a few days ago, all those completions seem ignored and i only get
the ones coming from pcomplete-completions-at-point, if any.

Is there anything obviosuly wrong in the above that wouldn't have been
wrong before the latest changes to eshell's complete mechanism?

Thanks in advance from any hints: i realize this is not a good bug
report as it stands, so i'd be happy to move it to emacs-devel if you
prefer.

Cheers,
jao



In GNU Emacs 29.0.50 (build 3, x86_64-pc-linux-gnu, cairo version 1.16.0)
 of 2021-12-28 built on rivendell
Repository revision: 116fabcd29a08b62ec7568152213f3ae42b3d104
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure --prefix=/usr/local/stow/emacs --with-x-toolkit=no
 --with-imagemagick --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG
SECCOMP SOUND THREADS TIFF X11 XDBE XIM XPM ZLIB

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  gnus-topic-mode: t
  gnus-undo-mode: t
  circe-lagmon-mode: t
  telega-root-auto-fill-mode: t
  telega-active-locations-mode: t
  telega-patrons-mode: t
  telega-mode-line-mode: t
  global-diff-hl-mode: t
  eshell-syntax-highlighting-global-mode: t
  pdf-occur-global-minor-mode: t
  shell-dirtrack-mode: t
  winner-mode: t
  global-auto-revert-mode: t
  marginalia-mode: t
  mct-mode: t
  corfu-global-mode: t
  corfu-mode: t
  persistent-scratch-autosave-mode: t
  global-so-long-mode: t
  display-battery-mode: t
  minibuffer-electric-default-mode: t
  minibuffer-depth-indicate-mode: t
  repeat-mode: t
  savehist-mode: t
  recentf-mode: t
  save-place-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t

Load-path shadows:
/home/jao/lib/elisp/org-static-blog/org-static-blog hides /home/jao/.emacs.d/elpa.29/org-static-blog-20211201.1221/org-static-blog
/home/jao/etc/emacs/site/custom hides /usr/local/stow/emacs/share/emacs/29.0.50/lisp/custom
/home/jao/.emacs.d/elpa.29/transient-20211226.738/transient hides /usr/local/stow/emacs/share/emacs/29.0.50/lisp/transient

Features:
(shadow flow-fill gnus-fun geiser-reload geiser-mode geiser-xref
geiser-guile geiser geiser-repl geiser-compile geiser-debug geiser-image
geiser-company geiser-doc geiser-menu geiser-edit geiser-completion
geiser-autodoc geiser-eval geiser-connection geiser-syntax geiser-log
geiser-popup geiser-impl geiser-custom geiser-base loadhist url-file
url-dired pulse goto-chg cl-print debug backtrace url-cache shortdoc
ucs-normalize bbdb-pgp org-id magit-extras misearch multi-isearch
term/xterm xterm vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
bug-reference git-rebase bash-completion em-unix em-script em-prompt
em-ls em-hist em-pred em-glob em-cmpl em-basic em-banner magit-bookmark
magit-submodule magit-obsolete magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff git-commit log-edit add-log magit-core magit-autorevert
magit-margin magit-transient magit-process with-editor magit-mode
magit-git magit-section magit-utils sh-script paredit
display-fill-column-indicator smartscan executable copyright mailalias
bbdb-message sort gnus-cite shr-color qp mm-archive mail-extr gnus-async
gnus-bcklg gnus-dup gnus-ml gnus-topic nnml bbdb-gnus bbdb-mua
gnus-icalendar ol-gnus nnselect gnus-search eieio-opt speedbar ezimage
dframe gnus-delay gnus-draft gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-cache gnus-msg gnus-art mm-uu mml2015 gnus-sum nndraft
nnmh gnus-demon nntp gnus-group gnus-undo gnus-start gnus-dbus
gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int
gnus-range gnus-win cal-move org-duration cal-iso org-appear cdlatex
texmathp image-file image-converter face-remap emojify apropos tar-mode
arc-mode archive-mode ht network-stream circe-display-images
circe-lagmon lui-track circe lui-irc-colors irc lcs lui-logging
lui-format circe-compat slack slack-company slack-unread slack-websocket
slack-thread-event slack-room-event slack-star-event
slack-reaction-event slack-reply-event slack-typing slack-slash-commands
slack-message-event slack-event slack-dialog-edit-element-buffer
slack-dialog-buffer slack-dialog slack-stars-buffer
slack-search-result-buffer slack-thread-message-compose-buffer
slack-file-list-buffer slack-file-info-buffer slack-all-threads-buffer
slack-message-buffer slack-user-profile-buffer slack-pinned-items-buffer
slack-pinned-item slack-thread-message-buffer slack-room-info-buffer
slack-room-buffer slack-message-share-buffer slack-message-edit-buffer
slack-room-message-compose-buffer slack-message-compose-buffer
slack-message-attachment-preview-buffer slack-action slack-star
slack-reminder slack-search slack-message-reaction slack-message-editor
slack-message-sender slack-message-notification slack-buffer
slack-message-formatter slack-thread slack-im slack-channel slack-group
slack-conversations slack-create-message slack-attachment
slack-selectable slack-bot-message slack-user-message slack-file
slack-message slack-message-faces slack-unescape slack-block
slack-mrkdwn slack-usergroup slack-reaction slack-modeline slack-room
slack-counts slack-user slack-bot slack-dnd-status slack-emoji
slack-image slack-request slack-log request lui flyspell ispell
slack-team slack-team-ws slack-util websocket exwm-systemtray
xcb-systemtray xcb-xembed exwm-edit 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 bigml bml-logs bml bml-misc bml-whizzml bml-clojure
bml-clj-tests bml-python bml-skels bml-utils whizzml-skeletons skeleton
whizzml-mode lice sieve sieve-mode sieve-manage sasl sasl-anonymous
sasl-login sasl-plain jao-mpc jao-random-album jao-lyrics jao-mpris
consult-spotify espotify telega-obsolete telega telega-tdlib-events
telega-webpage visual-fill-column telega-root telega-info telega-chat
telega-modes telega-company telega-user telega-notifications telega-voip
telega-msg telega-tme telega-sticker telega-i18n telega-vvnote bindat
telega-ffplay telega-media telega-sort telega-filter telega-ins
telega-folders telega-inline telega-tdlib telega-util
rainbow-identifiers dired-aux telega-server telega-core cursor-sensor
telega-customize emacsbug sendmail jao-mullvad bluetooth json-mode
json-snatcher js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs virtualenvwrapper gud ediprolog
haskell-doc inf-haskell haskell-decl-scan haskell haskell-completions
haskell-load haskell-commands highlight-uses-mode haskell-modules
haskell-sandbox haskell-navigate-imports haskell-repl haskell-svg
haskell-collapse hideshow haskell-debug haskell-interactive-mode
haskell-presentation-mode haskell-compile haskell-hoogle haskell-process
haskell-session haskell-mode haskell-cabal haskell-utils
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports
haskell-complete-module haskell-ghc-support flymake-proc flymake dabbrev
haskell-customize pie info-look etags fileloop xref project scheme
help-fns radix-tree package-lint finder lisp-mnt edit-list git-modes
gitignore-mode gitconfig-mode conf-mode gitattributes-mode git-link
git-timemachine url-http url-auth url-gw gh-profile diff-hl log-view
pcvs-util vc-dir ewoc vc jao-eshell-here eshell-autojump em-dirs esh-var
eshell-up git-ps1-mode em-term term disp-table ehelp
eshell-syntax-highlighting em-alias saveplace-pdf-view pdf-occur
ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local cedet pdf-isearch pdf-misc consult-notmuch
org-capture jao-notmuch notmuch notmuch-tree notmuch-jump notmuch-hello
notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
notmuch-tag notmuch-lib notmuch-compat pcase hl-line mm-view mml-smime
smime dig bbdb-anniv bbdb-com crm bbdb bbdb-site timezone randomsig
message yank-media rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader socks gnutls nsm rmc elpher ol-eww jao-eww-session eww xdg
url-queue shr pixel-fill kinsoku svg dom puny mm-url gnus nnheader
gnus-util mail-utils mm-util mail-prsvr markdown-toc dash s
markdown-mode htmlize jao-org-links jao-maildir jao-doc-view let-alist
doc-view pdf-tools pdf-view pdf-cache pdf-info tq pdf-util pdf-macs
image-mode exif ol-info ol-bbdb ol-eshell esh-mode eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
jao-org-notes ob-shell ob-scheme ob-python python tramp-sh tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
parse-time ls-lisp ob-org ob-ocaml ob-makefile ob-haskell ob-gnuplot
ob-clojure ob-calc calc-store calc-trail calc-ext calc calc-loaddefs
rect calc-macs ob-prolog prolog smie align poly-org polymode poly-lock
polymode-base polymode-weave polymode-export polymode-compat
polymode-methods polymode-core polymode-classes eieio-custom eieio-base
color org-tempo tempo ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda org-refile ox-html table ox-ascii ox-publish ox
org-element avl-tree generator org-fragtog jao-afio winner autorevert
filenotify autoinsert embark-consult embark ffap thingatpt
consult-recoll jao-compilation consult bookmark marginalia mct corfu
orderless imenu find-dired dired-x dired dired-loaddefs wgrep grep
compile text-property-search jka-compr persistent-scratch so-long view
mule-util cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays hol-loaddefs vc-git diff-mode vc-dispatcher appt diary-lib
diary-loaddefs jao-tracking tracking shorten jao-notify alert log4e
notifications gntp battery time jao-minibuffer minibuf-eldef mb-depth
jao-recoll diminish jao-light-theme jao-themes pinentry epa-file epa
derived epg rfc6068 epg-config transient comp comp-cstr warnings
cus-edit pp cus-load repeat edmacro kmacro jao-sleep dbus xml server
savehist recentf tree-widget wid-edit saveplace gnu-elpa-keyring-update
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core cl-extra help-mode org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete pcomplete comint ansi-color ring org-list
org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601
time-date ol org-keys oc org-compat advice org-macs org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs finder-inf tex-site
rx info package browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt
bytecomp byte-compile cconv cl-loaddefs cl-lib 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 keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 2439404 360512)
 (symbols 48 98096 159)
 (strings 32 549131 53137)
 (string-bytes 1 20899599)
 (vectors 16 239729)
 (vector-slots 8 7941621 301977)
 (floats 8 15162 8646)
 (intervals 56 112871 23656)
 (buffers 992 124))

-- 
The habit of reading is the only enjoyment in which there is no alloy;
it lasts when all other pleasures fade.
  -Anthony Trollope, novelist (1815-1882)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52865; Package emacs. (Wed, 29 Dec 2021 15:28:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Jose A. Ortega Ruiz" <jao <at> gnu.org>
Cc: 52865 <at> debbugs.gnu.org
Subject: Re: bug#52865: 29.0.50; eshell: bash-completion as a capf is not
 working anymore
Date: Wed, 29 Dec 2021 16:27:25 +0100
"Jose A. Ortega Ruiz" <jao <at> gnu.org> writes:

> Is there anything obviosuly wrong in the above that wouldn't have been
> wrong before the latest changes to eshell's complete mechanism?

I think that should work, so I guess some of the recent eshell changes
must have broken something.  Would it be possible for you to bisect to
identify which commit broke this?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 29 Dec 2021 15:28:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52865; Package emacs. (Tue, 11 Jan 2022 22:25:02 GMT) Full text and rfc822 format available.

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

From: Jose Antonio Ortega Ruiz <jao <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 52865 <at> debbugs.gnu.org
Subject: Re: bug#52865: 29.0.50; eshell: bash-completion as a capf is not
 working anymore
Date: Tue, 11 Jan 2022 22:24:33 +0000
On Wed, Dec 29 2021, Lars Ingebrigtsen wrote:

> "Jose A. Ortega Ruiz" <jao <at> gnu.org> writes:
>
>> Is there anything obviosuly wrong in the above that wouldn't have been
>> wrong before the latest changes to eshell's complete mechanism?
>
> I think that should work, so I guess some of the recent eshell changes
> must have broken something.  Would it be possible for you to bisect to
> identify which commit broke this?

i just discovered the problem is with my configuration, concretely my
settings for completion-styles, which were treating the - prefix
specially.  so this is in fact not a bug and the issue can be closed.
sorry about the noise, and happy new year!




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52865; Package emacs. (Wed, 12 Jan 2022 05:50:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Jose Antonio Ortega Ruiz <jao <at> gnu.org>
Cc: 52865 <at> debbugs.gnu.org
Subject: Re: bug#52865: 29.0.50; eshell: bash-completion as a capf is not
 working anymore
Date: Wed, 12 Jan 2022 06:49:38 +0100
Jose Antonio Ortega Ruiz <jao <at> gnu.org> writes:

> i just discovered the problem is with my configuration, concretely my
> settings for completion-styles, which were treating the - prefix
> specially.  so this is in fact not a bug and the issue can be closed.
> sorry about the noise, and happy new year!

No problem; I'm closing this bug report, then.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug closed, send any further explanations to 52865 <at> debbugs.gnu.org and "Jose A. Ortega Ruiz" <jao <at> gnu.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 12 Jan 2022 05:51:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 09 Feb 2022 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 70 days ago.

Previous Next


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