Thread (8 messages) flat view 8 messages, 5 authors, 2016-06-15

Re: Compiling git with makepp patch

From: Daniel Pfeiffer <hidden>
Date: 2016-06-15 22:49:23

  la 08/23/2010 10:27 PM Ævar Arnfjörð Bjarmason skribis:
On Sun, Aug 22, 2010 at 22:31, Daniel Pfeiffer[off-list ref]  wrote:
quoted
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.
quoted
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!
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help