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

Re: [PATCH v4 1/4] Makefile: generate Perl header from template file

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Dec 3, 2017, 09:26 UTC
Message-ID
<87a7z0upqq.fsf@evledraar.booking.com>
In-Reply-To
<xmqqr2scjsb4.fsf@gitster.mtv.corp.google.com>
On Sun, Dec 03 2017, Junio C. Hamano jotted:
Show 24 quoted lines
> Johannes Sixt <j6t@kdbg.org> writes:
>
>>> +	sed -e 's=@@PATHSEP@@=$(pathsep)=g' \
>>
>> This doesn't work, unfortunately. When $(pathsep) is ';', we get an
>> incomplete sed expression because ';' is also a command separator in
>> the sed language.
>
> It is correct that ';' can be and does get used in place of LF when
> writing a script on a single line, but even then, as part of a
> string argument to 's' command (and also others), there is no need
> to quote ';' or otherwise treat it any specially, as the commands
> know what their syntax is (e.g. 's=string=replacement=' after seeing
> the first '=' knows that it needs to find one unquoted '=' to find
> the end of the first argument, and another to find the end of the
> replacement string, and ';' seen during that scanning would not have
> any special meaning).
>
> If your sed is so broken and does not satisfy the above expectation,
> t6023 would not work for you, I would gess.
>
> t/t6023-merge-file.sh:sed -e "s/deerit.\$/deerit;/" -e "s/me;\$/me./" < new5.txt > new6.txt
> t/t6023-merge-file.sh:sed -e "s/deerit.\$/deerit,/" -e "s/me;\$/me,/" < new5.txt > new7.txt
> t/t6023-merge-file.sh:sed -e 's/deerit./&%%%%/' -e "s/locavit,/locavit;/"< new6.txt | tr '%' '\012' > new8.txt

Since this whole thing is guarded by "ifndef NO_PERL" Dan could just be using "perl -pe" here instead of fiddling around with the portability edge cases of sed, e.g.:

    perl -pe 's[foo][bar[g' <in >out
Previous: Junio C HamanoNext: Dan Jacques
Message 25 of 34 in “RUNTIME_PREFIX relocatable Git”
  1. 0/4 RUNTIME_PREFIX relocatable GitDan Jacques, Nov 29, 2017
  2. 1/4 Makefile: generate Perl header from template fileDan Jacques, Nov 29, 2017
  3. Johannes SixtDec 1, 2017
  4. Johannes SchindelinDec 1, 2017
  5. Johannes SixtDec 1, 2017
  6. Dan JacquesDec 1, 2017
  7. Andreas SchwabDec 1, 2017
  8. Johannes SixtDec 5, 2017
  9. Junio C HamanoDec 5, 2017
  10. Dan JacquesDec 5, 2017
  11. Junio C HamanoDec 5, 2017
  12. Johannes SixtDec 6, 2017
  13. Junio C HamanoDec 6, 2017
  14. Daniel JacquesDec 6, 2017
  15. Ævar Arnfjörð BjarmasonDec 6, 2017
  16. Ævar Arnfjörð BjarmasonDec 8, 2017
  17. 0/2 Handle $IFS in $INSTLIBDIRJonathan Nieder, Apr 23, 2018
  18. 1/2 Makefile: remove unused @@PERLLIBDIR@@ substitution variableJonathan Nieder, Apr 23, 2018
  19. Junio C HamanoApr 24, 2018
  20. 2/2 Makefile: quote $INSTLIBDIR when passing it to sedJonathan Nieder, Apr 23, 2018
  21. Junio C HamanoApr 24, 2018
  22. 2/2 Makefile: quote $INSTLIBDIR when passing it to sedJonathan Nieder, Apr 24, 2018
  23. Daniel JacquesApr 24, 2018
  24. Junio C HamanoDec 3, 2017
  25. Ævar Arnfjörð BjarmasonDec 3, 2017
  26. 4/4 exec_cmd: RUNTIME_PREFIX on some POSIX systemsDan Jacques, Nov 29, 2017
  27. 3/4 Makefile: add Perl runtime prefix supportDan Jacques, Nov 29, 2017
  28. Ævar Arnfjörð BjarmasonNov 29, 2017
  29. Dan JacquesDec 2, 2017
  30. Ævar Arnfjörð BjarmasonNov 29, 2017
  31. 2/4 Makefile: add support for "perllibdir"Dan Jacques, Nov 29, 2017
  32. Ævar Arnfjörð BjarmasonNov 29, 2017
  33. Ævar Arnfjörð BjarmasonNov 29, 2017
  34. Dan JacquesNov 29, 2017

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.