autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: r150960 changed ltmain.sh and broke the build


From: Eric Blake
Subject: Re: r150960 changed ltmain.sh and broke the build
Date: Fri, 28 Aug 2009 07:18:27 -0700 (PDT)

> We should change that recommendation, since escaping | with \| is not 
> portable, while for example :, # or % are portable in practice (I know 
> of no regex engine where anyof \[:#%] is special).

The point of suggesting '|' is that it is less to occur in a file
name, because it would require the file name to be quoted;
therefore constructs like sed 's|file|'"$file"'|g' aren't as likely
to crash due to a particular value of $file.  ':' is bad on windows,
where it is likely to be found in absolute paths.  '#' is bad,
because it interferes with sed scripts embedded in Makefile
rules. But maybe '%' has some merit, although it can occur in
unquoted filenames.  What about ';' - are there any regex
engines that attach meaning to either ; or \;?

I see several s||| in the manual, along with the explicit
recommendation for 's|||', followed by 's,,,', rather than 's///' [1].
I also see several instances of 's,,,' that we should probably
adjust, given this thread.  Meanwhile, I also found things
like [2], where we made a sweep through the source to replace
's,,,' with 's|||'.

[1] http://www.gnu.org/software/autoconf/manual/autoconf.html#Coding-Style
[2] http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=0ee6219

-- 
Eric Blake

-- 
View this message in context: 
http://www.nabble.com/Re%3A-r150960-changed-ltmain.sh-and-broke-the-build-tp25159662p25190755.html
Sent from the Gnu - Autoconf - Patches mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]