GNU bug report logs -
#19882
25.0.50; Backwards font-lock regex in m4-mode
Previous Next
Reported by: Rupert Swarbrick <ruperts <at> broadcom.com>
Date: Mon, 16 Feb 2015 11:34:02 UTC
Severity: normal
Tags: fixed
Found in version 25.0.50
Fixed in version 25.1
Done: Noam Postavsky <npostavs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On 2015-02-16, at 11:32, Rupert Swarbrick <ruperts <at> broadcom.com> wrote:
> In m4-mode.el, the last two sexps in m4-font-lock-keywords are the wrong
> way around. As a result, if you are writing M4 code to be expanded in
> "-P mode", so have things like
>
> m4_define
>
> in the file, then the "define" part gets matched by the penultimate
> regex, so m4_ doesn't get highlighted as part of a keyword.
>
> I think the fix for this is to just swap the two regexes around. That
> said, the commented stuff at the bottom of the file is rather
> ugly. Maybe it would be better to have a single regex, made with
> something like:
>
> (regexp-opt (append (mapcar (lambda (kw)
> (concat "m4_" kw))
> prefixed)
> prefixed
> unprefixed))
>
> with prefixed containing:
>
> '("builtin" "changecom" "changequote" "changeword" "debugfile"
> "debugmode" "decr" "define" "defn" "divert" "divnum" "dnl"
> "dumpdef" "errprint" "esyscmd" "eval" "file" "format"
> "ifdef" "ifelse" "include" "incr" "index" "indir" "len" "line"
> "m4exit" "m4wrap" "maketemp" "patsubst" "popdef" "pushdef" "regexp"
> "shift" "sinclude" "substr" "syscmd" "sysval" "traceoff" "traceon"
> "translit" "undefine" "undivert" "unix"))
>
>
> and unprefixed containing:
>
> '("gnu")
>
>
> Or maybe the absence of m4_gnu is a typo, in which case the logic could
> be slightly simpler. I'm assuming that "m4_m4_undefine" at the bottom of
> the file is a mistake.
>
> Sorry there's no patch: I've requested assignment papers, but they
> haven't come through yet. Since I think I've hit my minimal change
> limit, someone else gets to type the code...
Hi,
in case the problem is still there (I don't use m4, so it's difficult
for me to verify it), would you be able to provide a patch now?
> Rupert
Best,
--
Marcin
This bug report was last modified 7 years and 65 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.