[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42383: 28.0.50; Two bugs with M-x compile
From: |
Eli Zaretskii |
Subject: |
bug#42383: 28.0.50; Two bugs with M-x compile |
Date: |
Thu, 16 Jul 2020 18:17:28 +0300 |
> Date: Thu, 16 Jul 2020 09:48:56 +0000
> From: Gregory Heytings via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
>
> > 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.
Indeed.
Stefan, Alex: any ideas for how to fix this? This problem exists on
the emacs-27 branch, so we must find a safe solution for that branch,
and we must do that quickly. If we don't have any better ideas, I
think we should revert that fix on emacs-27 at least.
Thanks.