GNU bug report logs - #44319
make mode should recognize ::= as a macro assignment

Previous Next

Package: emacs;

Reported by: Robert Lange <rlange <at> corusa.net>

Date: Thu, 29 Oct 2020 21:41:02 UTC

Severity: normal

Tags: fixed

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 44319 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Robert Lange <rlange <at> corusa.net>
Cc: 44319 <at> debbugs.gnu.org
Subject: Re: bug#44319: make mode should recognize ::= as a macro assignment
Date: Fri, 30 Oct 2020 13:52:20 +0100
Robert Lange <rlange <at> corusa.net> writes:

> I've tested this on Emacs 26.1 on Debian, as well as a self-compiled
> 27.1. When I use the GNU immediate assignment operator `:=` the macro
> name ELC_FILES is correctly shown in font-lock in the macro color. But
> if I use the POSIX standard `::=` (well, forthcoming POSIX standard,
> but GNU emacs has supported it since v4.0) ELC_FILES is incorrectly
> shown in the target color.

Yup.  This bug is still present in Emacs 28.

> Looking in lisp/progmodes/make-mode.el, the const
> makefile-macroassign-regex is pretty gnarly, but I *think* it should
> match a `::=`, so I'm assuming it's getting preempted by something
> else, probably the const makefile-dependency-regex. Unfortunately,
> that regexp is a bit more than I can interpret, and I don't dare
> change it because I'll almost certainly break some other obscure but
> legal cases.

The bug seemed to be in makefile-match-dependency, which checked for
":=", but not for "::=", and I've now fixed this on the trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 297 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.