la 08/23/2010 10:27 PM Ævar Arnfjörð Bjarmason skribis:
On Sun, Aug 22, 2010 at 22:31, Daniel Pfeiffer<occitan@xxxxxxxxxxx> wrote:
Git has been giving our promise of Gnu make compatibility a hard
time.
Aside from our bugs you can't make that promise if projects like Git
need patches to work with makepp :)
Just two little things in your big makefiles. The compatibility is just an
added bonus, we have many other real strengths in makepp.
The other thing caused me quite a headache before I understood:
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
I suppose you added the comment for Emacs' syntax highlighting, to have an
even number of unescaped quotes.
That was added by John 'Warthog9' Hawley, I wonder if that also came
with a M-x report-emacs-bug, e.g. cperl-mode deals with that case,
sounds like an easy-to-fix bug in makefile-gmake-mode.
Hardly, if you look at my example below!
The problem is makepp parses this line
just like Emacs, so it doesn't find the comment, adding in the #' at the
point of use, which completely screws the sed command. (You might want to
apply my fix to a few other makefiles, which have SQ variables, albeit
without the syntax highlighting workaround, so they are only visually
defect.)
The reason Emacs has issues is because it uses an ad-hoc regexp based
parser that favours speed above correctness for syntax
highlighting.
Well, gmake rules are very twisted: a and b don't do the same thing, because
file functions shall respect quoting (though to my mind that should then be
only one funny file name, which gmake gets wrong, splitting it up anyway), and
c causes gmake to choke:
all: a b
a:
echo : $(dir 'a # b/c/d') :
B = 'a # b/c/d'
b:
echo : $(dir $B) :
C = $(dir 'a # b/c/d')
c:
echo : $C :
I'm surprised you've gotten this far with makepp if you don't tokenize
comments and throw their contents away.
There are a few subtle differences, which mostly don't hurt.
coralament / best Grötens / liebe Grüße / best regards / elkorajn salutojn
Daniel Pfeiffer
--
lerne / learn / apprends / lär dig / ucz się Esperanto:
http://lernu.net / http://ikurso.net
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html