Hello Ralf, * Ralf Menzel wrote on Thu, Feb 15, 2007 at 03:50:48PM CET: > > Hm, did you consider using something like this? [...] > Oops, that was an early version. Here is the latest version: > > --- snip --- > sed_double_backslash="\ > s/$bs4/$bs4\\ > /g > s/^$bs2$dollar/$bs2$bs$dollar/ > s/\\([[^$bs]]\\)$bs2$dollar/\\1$bs2$bs$dollar/g > s/\n//g" > --- snip ---
Looks good to me. I'm applying this to HEAD. Thank you! Cheers, Ralf 2007-02-23 Ralf Menzel <[EMAIL PROTECTED]> (tiny change) * libltdl/config/general.m4sh (sed_double_backslash): Fix hacky sed script to avoid limitations but retain portability to Solaris /bin/sed. Remove old obsolete cruft. Index: libltdl/config/general.m4sh =================================================================== RCS file: /cvsroot/libtool/libtool/libltdl/config/general.m4sh,v retrieving revision 1.5 diff -u -r1.5 general.m4sh --- libltdl/config/general.m4sh 11 Feb 2007 11:07:08 -0000 1.5 +++ libltdl/config/general.m4sh 23 Feb 2007 18:17:26 -0000 @@ -101,28 +101,16 @@ # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. -# -# Note in the first, non-portable but general version, the embedded single -# quotes serve only to enhance readability. -#sed_double_backslash='s/^\(\(''\\\\''\\\\''\)*''\\\\''\)\$/\1\\$/; -# s/\([[^\\]]\(''\\\\''\\\\''\)*''\\\\''\)\$/\1\\$/g' bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ + s/$bs4/&\\ +/g s/^$bs2$dollar/$bs&/ - s/^$bs4$bs2$dollar/$bs&/ - s/^$bs4$bs4$bs2$dollar/$bs&/ - s/^$bs4$bs4$bs4$bs2$dollar/$bs&/ - s/^$bs4$bs4$bs4$bs4$bs2$dollar/$bs&/ - s/^$bs4$bs4$bs4$bs4$bs4$bs2$dollar/$bs&/ - s/\\([[^$bs]]\\)\\($bs2$dollar\\)/\\1$bs\\2/g - s/\\([[^$bs]]\\)\\($bs4$bs2$dollar\\)/\\1$bs\\2/g - s/\\([[^$bs]]\\)\\($bs4$bs4$bs2$dollar\\)/\\1$bs\\2/g - s/\\([[^$bs]]\\)\\($bs4$bs4$bs4$bs2$dollar\\)/\\1$bs\\2/g - s/\\([[^$bs]]\\)\\($bs4$bs4$bs4$bs4$bs2$dollar\\)/\\1$bs\\2/g - s/\\([[^$bs]]\\)\\($bs4$bs4$bs4$bs4$bs4$bs2$dollar\\)/\\1$bs\\2/g" + s/\\([[^$bs]]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" # Standard options: opt_dry_run=false