> 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.
