GNU bug report logs -
#42411
Bug with M-x compile
Previous Next
Reported by: Gregory Heytings <ghe <at> sdf.org>
Date: Sat, 18 Jul 2020 09:03:01 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Thanks for fixing (the second part of) bug#42383.
The first part remains unfixed, however:
There are too many completion candidates in the list of targets when
completing M-x compile. For example, for the Makefile
"foo:\n\techo\x20bar:\n" three candidates are displayed: "foo", "echo" and
"bar". The regexp in pcmpl-gnu-make-targets is too large, and should be
fixed as follows:
--- pcmpl-gnu.el.orig 2020-06-29 17:39:26.000000000 +0000
+++ pcmpl-gnu.el 2020-07-15 22:43:14.368938346 +0000
@@ -118,7 +118,7 @@
Return the new list."
(goto-char (point-min))
(while (re-search-forward
- "^\\s-*\\([^\n#%.$][^:=\n]*\\)\\s-*:[^=]" nil t)
+ "^\\([^\t\n#%.$][^:=\n]*\\)\\s-*:[^=]" nil t)
(setq targets (nconc (split-string (match-string-no-properties 1))
targets)))
targets)
I see no reason to allow one or more TABs or spaces at the beginning of
targets, as does the "^\\s-*". If one really wants to allow spaces (but
not TABs) at the beginning of a target label, the following regexp could
also be used: "^ *\\([^\t\n#%.$][^:=\n]*\\)\\s-*:[^=]".
The current regexp is an old one (since Emacs 21 at least), and is
inconsistent with for example how bash computes completions (see
_make_target_extract_script).
If changing the regexp is not an option, please make it a configuration
option.
Gregory
This bug report was last modified 4 years and 276 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.