Subject: 27.1.91; completion issue on eshell

From: Andrés Ramírez <[email-masked]>
Date: Thu, 25 Mar 2021 15:09:32 +0000

Hi. I have not being able of reproducing this issue with emacs -Q. It
just happens sometimes when trying completion M-/ on eshell. On this case I
was trying fsc (for fsck). And this is the error message:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (void-variable glob-name)
  (if glob-name completions (setq completions (append (if (fboundp 'eshell-alias-completions) (eshell-alias-completions filename)) (eshell-winnow-list (mapcar #'(lambda (name) (substring name 7)) (all-completions (concat "eshell/" filename) obarray #'functionp)) nil '(eshell-find-alias-function)) completions)) (append (and (or eshell-show-lisp-completions (and eshell-show-lisp-alternatives (null completions))) (all-completions filename obarray #'functionp)) completions))
  (pcomplete-uniquify-list (if glob-name completions (setq completions (append (if (fboundp 'eshell-alias-completions) (eshell-alias-completions filename)) (eshell-winnow-list (mapcar #'(lambda ... ...) (all-completions (concat "eshell/" filename) obarray #'functionp)) nil '(eshell-find-alias-function)) completions)) (append (and (or eshell-show-lisp-completions (and eshell-show-lisp-alternatives (null completions))) (all-completions filename obarray #'functionp)) completions)))
  (let* ((paths (eshell-get-path)) (cwd (file-name-as-directory (expand-file-name default-directory))) (path "") (comps-in-path nil) (file "") (filepath "") (completions nil)) (while paths (setq path (file-name-as-directory (expand-file-name (or (car paths) "."))) comps-in-path (and (file-accessible-directory-p path) (file-name-all-completions filename path))) (while comps-in-path (setq file (car comps-in-path) filepath (concat path file)) (if (and (not (member file completions)) (or (string-equal path cwd) (not (file-directory-p filepath))) (if eshell-force-execution (file-readable-p filepath) (file-executable-p filepath))) (setq completions (cons file completions))) (setq comps-in-path (cdr comps-in-path))) (setq paths (cdr paths))) (pcomplete-uniquify-list (if glob-name completions (setq completions (append (if (fboundp 'eshell-alias-completions) (eshell-alias-completions filename)) (eshell-winnow-list (mapcar #'... (all-completions ... obarray ...)) nil '(eshell-find-alias-function)) completions)) (append (and (or eshell-show-lisp-completions (and eshell-show-lisp-alternatives (null completions))) (all-completions filename obarray #'functionp)) completions))))
  (if (file-name-directory filename) (if eshell-force-execution (pcomplete-dirs-or-entries nil #'file-readable-p) (pcomplete-executables)) (let* ((paths (eshell-get-path)) (cwd (file-name-as-directory (expand-file-name default-directory))) (path "") (comps-in-path nil) (file "") (filepath "") (completions nil)) (while paths (setq path (file-name-as-directory (expand-file-name (or (car paths) "."))) comps-in-path (and (file-accessible-directory-p path) (file-name-all-completions filename path))) (while comps-in-path (setq file (car comps-in-path) filepath (concat path file)) (if (and (not (member file completions)) (or (string-equal path cwd) (not ...)) (if eshell-force-execution (file-readable-p filepath) (file-executable-p filepath))) (setq completions (cons file completions))) (setq comps-in-path (cdr comps-in-path))) (setq paths (cdr paths))) (pcomplete-uniquify-list (if glob-name completions (setq completions (append (if (fboundp ...) (eshell-alias-completions filename)) (eshell-winnow-list (mapcar ... ...) nil '...) completions)) (append (and (or eshell-show-lisp-completions (and eshell-show-lisp-alternatives ...)) (all-completions filename obarray #'functionp)) completions)))))
  (lambda (filename) (if (file-name-directory filename) (if eshell-force-execution (pcomplete-dirs-or-entries nil #'file-readable-p) (pcomplete-executables)) (let* ((paths (eshell-get-path)) (cwd (file-name-as-directory (expand-file-name default-directory))) (path "") (comps-in-path nil) (file "") (filepath "") (completions nil)) (while paths (setq path (file-name-as-directory (expand-file-name ...)) comps-in-path (and (file-accessible-directory-p path) (file-name-all-completions filename path))) (while comps-in-path (setq file (car comps-in-path) filepath (concat path file)) (if (and ... ... ...) (setq completions ...)) (setq comps-in-path (cdr comps-in-path))) (setq paths (cdr paths))) (pcomplete-uniquify-list (if glob-name completions (setq completions (append ... ... completions)) (append (and ... ...) completions))))))(#("fsc" 0 1 (arg-begin t rear-nonsticky (arg-begin arg-end)) 2 3 (arg-end t rear-nonsticky (arg-end arg-begin))))
  #f(compiled-function (string pred action) #<bytecode -0x1fffffff520945a8>)(#("fsc" 0 1 (arg-begin t rear-nonsticky (arg-begin arg-end)) 2 3 (arg-end t rear-nonsticky (arg-end arg-begin))) nil nil)
  try-completion(#("fsc" 0 1 (arg-begin t rear-nonsticky (arg-begin arg-end)) 2 3 (arg-end t rear-nonsticky (arg-end arg-begin))) #f(compiled-function (string pred action) #<bytecode -0x1fffffff520945a8>) nil)
  completion-basic-try-completion(#("fsc" 0 1 (rear-nonsticky (arg-begin arg-end) arg-begin t) 2 3 (rear-nonsticky (arg-end arg-begin) arg-end t)) #f(compiled-function (string pred action) #<bytecode -0x1fffffff520945a8>) nil 3)
  #f(compiled-function (style) #<bytecode -0x1fffffff52081dc8>)(basic)
  completion--some(#f(compiled-function (style) #<bytecode -0x1fffffff52081dc8>) (basic partial-completion emacs22))
  completion--nth-completion(1 #("fsc" 0 1 (rear-nonsticky (arg-begin arg-end) arg-begin t) 2 3 (rear-nonsticky (arg-end arg-begin) arg-end t)) #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil 3 (metadata (completion--unquote-requote . t)))
  completion-try-completion(#("fsc" 0 1 (rear-nonsticky (arg-begin arg-end) arg-begin t) 2 3 (rear-nonsticky (arg-end arg-begin) arg-end t)) #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil 3 (metadata (completion--unquote-requote . t)))
  completion--do-completion(#<marker at 1471 in *eshell*> 1474)
  completion--in-region-1(#<marker at 1471 in *eshell*> 1474)
  #f(compiled-function (start end collection predicate) #<bytecode -0x1fffffff4df2e098>)(#<marker at 1471 in *eshell*> 1474 #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil)
  apply(#f(compiled-function (start end collection predicate) #<bytecode -0x1fffffff4df2e098>) (#<marker at 1471 in *eshell*> 1474 #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil))
  #f(compiled-function (funs global args) #<bytecode -0x1fffffff52095138>)(nil nil (#<marker at 1471 in *eshell*> 1474 #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil))
  completion--in-region(#<marker at 1471 in *eshell*> 1474 #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil)
  completion-in-region(#<marker at 1471 in *eshell*> 1474 #f(compiled-function (string pred action) #<bytecode -0x1fffffff520949d8>) nil)
  completion-at-point()
  funcall-interactively(completion-at-point)
  call-interactively(completion-at-point nil nil)
  command-execute(completion-at-point)
--8<---------------cut here---------------end--------------->8---

Hope It helps.
Best Regards

In GNU Emacs 27.1.91 (build 1, armv7l-unknown-linux-gnueabihf, X toolkit, cairo version 1.17.4, Xaw3d scroll bars)
 of 2021-03-02 built on sacsa
System Description: Arch Linux ARM

Recent messages:
EMMS: 1600 tracks to go..
EMMS: 1400 tracks to go..
EMMS: 1200 tracks to go..
EMMS: 1000 tracks to go..
EMMS: 800 tracks to go..
EMMS: 600 tracks to go..
EMMS: 400 tracks to go..
EMMS: 200 tracks to go..
EMMS: All track information loaded.

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=lucid --with-xft --with-wide-int
 --with-modules --with-cairo --with-harfbuzz --with-json=yes
 'CFLAGS=-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe
 -fstack-protector-strong -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

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

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

Major mode: Debugger

Minor modes in effect:
  gpm-mouse-mode: t
  erc-list-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  shell-dirtrack-mode: t
  display-time-mode: t
  which-key-mode: t
  jabber-activity-mode: t
  which-function-mode: t
  savehist-mode: t
  show-paren-mode: t
  erc-networks-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  line-number-mode: t

Load-path shadows:
/home/olla/.emacs.d/elpa/circe-20180420.226/shorten hides /home/olla/.emacs.d/elpa/tracking-20201101.1045/shorten
/home/olla/.emacs.d/elpa/circe-20180420.226/tracking hides /home/olla/.emacs.d/elpa/tracking-20201101.1045/tracking
/home/olla/.emacs.d/elpa/flim-20190526.1034/md4 hides /usr/share/emacs/27.1.91/lisp/md4
/home/olla/.emacs.d/elpa/flim-20190526.1034/hex-util hides /usr/share/emacs/27.1.91/lisp/hex-util
/home/olla/.emacs.d/elpa/xref-1.0.3/xref hides /usr/share/emacs/27.1.91/lisp/progmodes/xref
/home/olla/.emacs.d/elpa/project-0.3.0/project hides /usr/share/emacs/27.1.91/lisp/progmodes/project
/home/olla/.emacs.d/elpa/flymake-1.0.9/flymake hides /usr/share/emacs/27.1.91/lisp/progmodes/flymake
/home/olla/.emacs.d/elpa/flim-20190526.1034/sasl-digest hides /usr/share/emacs/27.1.91/lisp/net/sasl-digest
/home/olla/.emacs.d/elpa/flim-20190526.1034/sasl hides /usr/share/emacs/27.1.91/lisp/net/sasl
/home/olla/.emacs.d/elpa/flim-20190526.1034/sasl-ntlm hides /usr/share/emacs/27.1.91/lisp/net/sasl-ntlm
/home/olla/.emacs.d/elpa/flim-20190526.1034/sasl-cram hides /usr/share/emacs/27.1.91/lisp/net/sasl-cram
/home/olla/.emacs.d/elpa/flim-20190526.1034/hmac-md5 hides /usr/share/emacs/27.1.91/lisp/net/hmac-md5
/home/olla/.emacs.d/elpa/flim-20190526.1034/ntlm hides /usr/share/emacs/27.1.91/lisp/net/ntlm
/home/olla/.emacs.d/elpa/flim-20190526.1034/hmac-def hides /usr/share/emacs/27.1.91/lisp/net/hmac-def
/home/olla/.emacs.d/elpa/eldoc-1.9.0/eldoc hides /usr/share/emacs/27.1.91/lisp/emacs-lisp/eldoc

Features:
(shadow emacsbug dired-aux two-column iso-transl tramp-cache tramp-sh
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
ls-lisp ace-window avy t-mouse term/linux help-fns radix-tree cl-print
debug backtrace ibuf-ext ibuffer ibuffer-loaddefs dabbrev mime-pgp
mailalias smtpmail qp mail-extr mel-q-ccl w3m-form w3m-symbol
my-w3m-setup w3m-filter w3m-lnum mime-w3m w3m w3m-hist w3m-fb
bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util
wl-score elmo-internal async ox-beamer 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 ox-html table ox-ascii ox-publish ox
wgrep grep compile dired-x jabber-keepalive jabber-ping erc-list
erc-ring erc-pcomplete erc-netsplit rot13 network-stream nsm
elmo-maildir modb-legacy modb-standard epa-file my-wl-secondary-setup
wl-fldmgr wl-template wl-demo wl-thread wl-action wl wl-draft wl-folder
elmo-nntp elmo-net elmo-cache elmo-map elmo-dop elmo-filter wl-summary
wl-refile wl-message wl-mime mime-play filename emu mime-edit sendmail
mime-setup mail-mime-setup semi-setup wl-e21 wl-highlight invisible
inv-23 elmo-mime mmelmo-buffer mmelmo-imap mmimap mmbuffer mime-view
mime-conf calist semi-def wl-address wl-util wl-vars wl-version
modb-generic elmo-flag elmo-localdir elmo elmo-signal elmo-msgdb modb
modb-entity elmo-date eword-encode poem poem-e20 poem-e20_3 mime-parse
mime mmgeneric elmo-util eword-decode mel mime-def alist mcharset mcs-20
mcs-e20 pces pces-e20 pces-20 pcustom elmo-vars path-util elmo-version
luna std11 pccl pccl-20 ccl broken poe pym static apel-ver product
misearch multi-isearch add-log mhtml-mode css-mode js htmlize view
mule-util cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays hol-loaddefs org-duration cal-iso face-remap org-agenda
org-refile term/xterm xterm shell 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 eshell my-noexternals my-machine-autostart
diary-lib diary-loaddefs sh-script executable org-element avl-tree
generator ol-eww eww mm-url url-queue ol-rmail ol-mhe ol-irc ol-info
ol-gnus nnir gnus-sum shr svg gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec
gnus-int gnus-range message rmc rfc822 mml mml-sec epa epg epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader
gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045
ietf-drums text-property-search mail-utils mm-util mail-prsvr ol-docview
doc-view image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m filenotify time
which-key god-mode cl-extra help-mode org-wl org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys
org-compat org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs sm-c-mode smie server emms-get-lyrics my-wl-setup
my-jabber-setup netrc jabber jabber-notifications jabber-libnotify
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 comint
ansi-color ring 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 dom ewoc jabber-keymap jabber-sasl sasl
sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv
dns starttls tls gnutls puny jabber-xml jabber-menu jabber-util
emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit
emms-volume emms-volume-mixerctl emms-volume-pulse 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 url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap time-date emms-streams emms-show-all emms-tag-editor
emms-mark emms-mode-line emms-cache emms-info-native bindat
emms-info-exiftool emms-info-tinytag emms-info-metaflac
emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-info
emms-later-do emms-playlist-mode emms-player-vlc emms-player-mpv
emms-player-mplayer emms-player-simple emms-source-playlist
emms-source-file locate dired dired-loaddefs emms-setup emms emms-compat
key-chord bbdb-sc supercite regi bbdb-wl bbdb-mua bbdb-com crm
mailabbrev bbdb bbdb-site timezone jka-compr mbsync my-misc-setup ido
which-func savehist paren alert log4e derived rx notifications dbus xml
gntp vc-git diff-mode em-alias em-smart esh-mode esh-cmd esh-ext esh-opt
esh-proc esh-io esh-arg esh-module esh-groups esh-util my-erc-setup
erc-services erc-networks erc-track erc-match erc-sasl cl erc-menu
erc-join erc-hl-nicks color erc-button erc-fill erc-stamp wid-edit
erc-goodies erc erc-backend erc-compat format-spec pp erc-loaddefs
my-defuns-setup pcase easy-mmode imenu thingatpt info-look
google-c-style gtags cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs lemacs-public edmacro
kmacro advice w3m-load info package easymenu browse-url 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 tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu 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 charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray 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 cairo x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 1165136 889542)
 (symbols 48 55198 1)
 (strings 16 232721 145594)
 (string-bytes 1 8109511)
 (vectors 16 90906)
 (vector-slots 8 2030721 332059)
 (floats 8 1225 5448)
 (intervals 40 52593 15453)
 (buffers 880 120))