bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42383: 28.0.50; Two bugs with M-x compile


From: Gregory Heytings
Subject: bug#42383: 28.0.50; Two bugs with M-x compile
Date: Thu, 16 Jul 2020 09:48:56 +0000
User-agent: Alpine 2.21 (NEB 202 2017-01-01)



** Bug 1 **

Steps to reproduce:

1. create a Makefile with a few targets
2. start emacs -Q
3. M-x compile
4. press TAB: the list of targets is displayed
5. type the first character of an existing target, and press TAB
6. the result is a "[No match]"

This has been working correctly for years (tested with Emacs 24, 25, 26), and does not work anymore with Emacs 28.

It seems that at step 5 above the list of completion candidates that is considered are subdirectories.


Upon further investigation, this bug has been introduced by the patch for bug#34330, which moved pcomplete-completions-at-point last in shell-dynamic-complete-functions in shell.el:

(defcustom shell-dynamic-complete-functions
   '(comint-c-a-p-replace-by-expanded-history
     shell-environment-variable-completion
     shell-command-completion
     shell-c-a-p-replace-by-expanded-directory
     shell-filename-completion
     comint-filename-completion
     ;; Put `pcomplete-completions-at-point' last so that other
     ;; functions can run before it does, see bug#34330.
     pcomplete-completions-at-point)

See 
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=e4d17d8cb479ffeeb7dfb7320a1432722ac8df75
 .

The obvious fix is to revert the situation (that is, to move pcomplete-completions-at-point again before shell-filename-completion), but I'm not sure, because bug#34330 would again exist. That being said, I'm not sure that handling the exceptional case of filenames with '&' characters correctly when completing in M-x shell (which is what bug#34330 is about) justifies to break normal behavior in other situations.

Gregory





reply via email to

[Prev in Thread] Current Thread [Next in Thread]