GNU bug report logs -
#31906
26.1.50; Properly set completion-at-point-functions in eshell
Previous Next
Reported by: Carlos Pita <carlosjosepita <at> gmail.com>
Date: Wed, 20 Jun 2018 02:35:02 UTC
Severity: minor
Found in version 26.1.50
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
Mmmh it seems to be that it's overriding the default
pcomplete-completions-at-point. But then why is this default set at
all? <Tab> is directly bound to eshell-pcomplete, a simple wrapper
around pcomplete, which AFAICS doesn't rely on
completion-at-point-functions. But there is this workaround for
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12838 in the final line
of eshell-pcomplete:
(defun eshell-pcomplete (&optional interactively)
"Eshell wrapper for `pcomplete'."
(interactive "p")
;; Pretend to be pcomplete so that cycling works (bug#13293).
(setq this-command 'pcomplete)
(condition-case nil
(if interactively
(call-interactively 'pcomplete)
(pcomplete))
(text-read-only (completion-at-point)))) ; Workaround for bug#12838.
Although I don't fully understand the workaround.
So to sum up, what I would have expected is:
1. completion-at-point-functions contains only elisp-completions-at-point.
2. M-<Tab> is bound to completion-at-point.
3. <Tab> is bound to a wrapper to pcomplete (that doesn't call
completion-at-point).
All these expectations are violated.
This bug report was last modified 5 years and 229 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.