git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Compiling git with makepp patch

From
DPDaniel Pfeiffer <occitan@t-online.de>
Date
Aug 25, 2010, 20:58 UTC
Message-ID
<4C7583DB.6010001@t-online.de>
In-Reply-To
<AANLkTinbTph=cggp4V=avorzrf9BT7vPtpanDtDtXm=q@mail.gmail.com>
  la 08/23/2010 10:27 PM Ævar Arnfjörð Bjarmason skribis:
Show 6 quoted lines
> On Sun, Aug 22, 2010 at 22:31, Daniel Pfeiffer<occitan@t-online.de>  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.

Show 9 quoted lines
>> 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!
Show 9 quoted lines
>> 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
Previous: Ævar Arnfjörð BjarmasonNext: Jonathan Nieder
Message 6 of 11 in “Compiling git with makepp patch”
  1. Daniel PfeifferAug 22, 2010
  2. Thomas RastAug 23, 2010
  3. Jakub NarebskiAug 23, 2010
  4. Daniel PfeifferAug 25, 2010
  5. Ævar Arnfjörð BjarmasonAug 23, 2010
  6. Daniel PfeifferAug 25, 2010
  7. Jonathan NiederAug 24, 2010
  8. Daniel PfeifferAug 25, 2010
  9. Andreas SchwabAug 25, 2010
  10. Junio C HamanoAug 25, 2010
  11. Jonathan NiederAug 26, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.