libtool-patches
[Top][All Lists]
Advanced

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

[PATCH 7/7] syntax-check: fix violations and implement sc_prohibit_sed_s


From: Gary V. Vaughan
Subject: [PATCH 7/7] syntax-check: fix violations and implement sc_prohibit_sed_s_comma.
Date: Mon, 21 Nov 2011 21:47:31 +0700

I like to name temporary directories that I will remove shortly
with two leading commas so that they sort lexicographically at
the top of `ls' output.  Now, `./configure
--prefix=`pwd`/,,inst' works again, for the first time in
several years.
* cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a
character to use routinely as the separator for sed
substitutions on file paths and other variables determined by
the user, causing bugs like the one I describe above.  Make sure
we don't accidentally reintroduce any comma separators in
future.
* Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace,
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh,
m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test,
tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh,
tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/need_lib_prefix.at,
tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at:
Try to use `|' as the default separator wherever possible,
otherwise something else that doesn't occur in the substitution
expression.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <address@hidden>
---
 Makefile.am                    |   88 ++++++++++++++++++++--------------------
 NEWS                           |    1 +
 bootstrap                      |   10 ++--
 bootstrap.conf                 |    6 +-
 build-aux/extract-trace        |   10 ++--
 build-aux/general.m4sh         |   16 ++++----
 build-aux/git-hooks/commit-msg |    4 +-
 build-aux/git-log-fix          |   48 +++++++++++-----------
 build-aux/ltmain.m4sh          |    6 +-
 cfg.mk                         |   10 +++++
 libtoolize.m4sh                |   62 ++++++++++++++--------------
 m4/libtool.m4                  |   16 ++++----
 m4/ltdl.m4                     |    2 +-
 tests/cdemo-undef.test         |    2 +-
 tests/cmdline_wrap.at          |    2 +-
 tests/darwin.at                |    2 +-
 tests/defs.m4sh                |    2 +-
 tests/getopt-m4sh.at           |    2 +-
 tests/install.at               |    2 +-
 tests/libtoolize.at            |   14 +++---
 tests/mdemo/Makefile.am        |    2 +-
 tests/need_lib_prefix.at       |    2 +-
 tests/sysroot.at               |    2 +-
 tests/tagdemo-undef.test       |    2 +-
 tests/testsuite.at             |    4 +-
 25 files changed, 164 insertions(+), 153 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 31d286e..680ae3e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -52,7 +52,7 @@ LT_M4SH                       = $(M4SH) -B 
'$(srcdir)/$(m4sh_dir)'
 lt__cd         = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 
 git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '.tarball-version'
-rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | sed 
's,-.*$$,,g'`
+rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | sed 
's|-.*$$||g'`
 
 
 # ---------- #
@@ -108,18 +108,18 @@ EXTRA_DIST     += $(extract_trace) $(libtoolize_in) 
$(libtoolize_m4sh) \
 ## because they must be static in distributed files, and not accidentally
 ## changed by configure running on the build machine.
 bootstrap_edit  = $(SED) \
-                 -e 's,@MACRO_VERSION\@,$(VERSION),g' \
-                 -e "s,@MACRO_REVISION\@,$$revision,g" \
-                 -e "s,@MACRO_SERIAL\@,$$serial,g" \
-                 -e 's,@PACKAGE\@,$(PACKAGE),g' \
-                 -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
-                 -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
-                 -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
-                 -e "s,@package_revision\@,$$revision,g" \
-                 -e 's,@PACKAGE_STRING\@,$(PACKAGE_NAME) $(VERSION),g' \
-                 -e 's,@PACKAGE_TARNAME\@,$(PACKAGE),g' \
-                 -e 's,@PACKAGE_VERSION\@,$(VERSION),g' \
-                 -e 's,@VERSION\@,$(VERSION),g'
+                 -e 's|@MACRO_VERSION\@|$(VERSION)|g' \
+                 -e "s|@MACRO_REVISION\@|$$revision|g" \
+                 -e "s|@MACRO_SERIAL\@|$$serial|g" \
+                 -e 's|@PACKAGE\@|$(PACKAGE)|g' \
+                 -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \
+                 -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \
+                 -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \
+                 -e "s|@package_revision\@|$$revision|g" \
+                 -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \
+                 -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \
+                 -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \
+                 -e 's|@VERSION\@|$(VERSION)|g'
 
 ## ltmain.sh needs some additional editing to remove unsubstituted
 ## variable defaulting lines, because ltmain.sh never gets passed
@@ -210,8 +210,8 @@ $(lt_Makefile_am): $(ltdl_mk)
          }; \
          '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \
              '$(ltdl_mk)' \
-           |'$(SED)' -e 's,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,' \
-             -e 's,\$$(libltdl_,$$(,' \
+           |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \
+             -e 's|\$$(libltdl_|$$(|' \
        ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \
              -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with 
automake to produce Makefile.in,' > '$@'
        $(AM_V_at)chmod a-w '$@'
@@ -275,26 +275,26 @@ all-local: $(LTDL_BOOTSTRAP_DEPS)
 ltdl_ac_aux_dir = `$(extract_trace) AC_CONFIG_AUX_DIR 
$(srcdir)/libltdl/configure.ac`
 
 configure_edit = $(SED) \
-       -e 's,@aclocaldir\@,$(aclocaldir),g' \
-       -e 's,@aux_dir\@,$(aux_dir),g' \
-       -e 's,@datadir\@,$(datadir),g' \
-       -e 's,@EGREP\@,$(EGREP),g' \
-       -e 's,@FGREP\@,$(FGREP),g' \
-       -e 's,@GREP\@,$(GREP),g' \
-       -e 's,@host_triplet\@,$(host_triplet),g' \
-       -e 's,@LN_S\@,$(LN_S),g' \
-       -e "s,@ltdl_ac_aux_dir\@,$(ltdl_ac_aux_dir),g" \
-       -e 's,@macro_dir\@,$(macro_dir),g' \
-       -e 's,@pkgauxdir\@,$(pkgauxdir),g' \
-       -e 's,@pkgaux_files\@,$(pkgaux_scripts) $(pkgaux_data_files),g' \
-       -e 's,@pkgaux_install_files\@,$(pkgaux_install_files),g' \
-       -e 's,@pkgaux_parent_files\@,$(pkgaux_parent_files),g' \
-       -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
-       -e 's,@pkgltdl_files\@,$(pkgltdl_files),g' \
-       -e 's,@pkgmacro_files\@,$(pkgmacro_files),g' \
-       -e 's,@prefix\@,$(prefix),g' \
-       -e 's,@SED\@,$(SED),g' \
-       -e 's,@srcdir\@,$(srcdir),g'
+       -e 's|@aclocaldir\@|$(aclocaldir)|g' \
+       -e 's|@aux_dir\@|$(aux_dir)|g' \
+       -e 's|@datadir\@|$(datadir)|g' \
+       -e 's|@EGREP\@|$(EGREP)|g' \
+       -e 's|@FGREP\@|$(FGREP)|g' \
+       -e 's|@GREP\@|$(GREP)|g' \
+       -e 's|@host_triplet\@|$(host_triplet)|g' \
+       -e 's|@LN_S\@|$(LN_S)|g' \
+       -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \
+       -e 's|@macro_dir\@|$(macro_dir)|g' \
+       -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \
+       -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \
+       -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \
+       -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \
+       -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \
+       -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \
+       -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \
+       -e 's|@prefix\@|$(prefix)|g' \
+       -e 's|@SED\@|$(SED)|g' \
+       -e 's|@srcdir\@|$(srcdir)|g'
 
 # The libtool distributor and the standalone libtool script.
 bin_SCRIPTS = libtoolize libtool
@@ -326,7 +326,7 @@ libtool: $(ltmain_sh) $(config_status) $(dotversion)
 .PHONY: configure-subdirs
 configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
 $(DIST_MAKEFILE_LIST):
-       $(AM_V_at)dir=`echo '$@' |'$(SED)' 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
+       $(AM_V_at)dir=`echo '$@' |'$(SED)' 's|^[^/]*$$|.|;s|/[^/]*$$||'`; \
        test -d "$$dir" || mkdir "$$dir" || exit 1; \
        abs_srcdir=`$(lt__cd) '$(srcdir)' && pwd`; \
        (cd "$$dir" && "$$abs_srcdir/$$dir/configure" --with-dist) || exit 1
@@ -363,12 +363,12 @@ $(stamp_mk): $(lt_Makefile_in)
        $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \
        for p in $(srcdir)/$(aux_dir)/*; do \
          test -f "$$p" || continue; \
-         f=`echo "$$p" | $(SED) 's,^$(srcdir)/$(aux_dir)/,,'`; \
+         f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \
          case " $(pkgaux_scripts) ltmain.sh " in \
            *" $$f "*) ;; \
            *) '$(SED)' \
-                 -e 's,\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$,,' \
-                 -e 's,\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ,,' \
+                 -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \
+                 -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \
                  -e '/^[        ]*\\$$/d' \
                '$(lt_Makefile_in)' > "$$T" \
                  && mv -f "$$T" '$(lt_Makefile_in)';; \
@@ -510,7 +510,7 @@ install-data-local: $(lt_Makefile_in)
        -rm -rf '$(DESTDIR)$(pkgdatadir)'/*
 ## First, put a copy of the libtool m4 macros in the aclocal dir
        @list='$(pkgmacro_files)'; for p in $$list; do \
-         d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's,[^/]*$$,,'`; \
+         d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \
          test -d "$$d" || $(mkinstalldirs) "$$d"; \
          echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' 
'$(DESTDIR)$(aclocaldir)/$$p'"; \
          $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" 
"$(DESTDIR)$(aclocaldir)/$$p"; \
@@ -518,20 +518,20 @@ install-data-local: $(lt_Makefile_in)
 ## install the helper scripts
        @list='extract-trace options-parser $(pkgaux_scripts)' && \
        for p in $$list; do \
-         d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's,[^/]*$$,,'`; \
+         d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \
          test -d "$$d" || $(mkinstalldirs) "$$d"; \
          echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' 
'$(DESTDIR)$(pkgauxdir)/$$p'"; \
          $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" 
"$(DESTDIR)$(pkgauxdir)/$$p"; \
        done
        @list='$(pkgaux_data_files)' && for p in $$list; do \
-         d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's,[^/]*$$,,'`; \
+         d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \
          test -d "$$d" || $(mkinstalldirs) "$$d"; \
          echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' 
'$(DESTDIR)$(pkgauxdir)/$$p'"; \
          $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" 
"$(DESTDIR)$(pkgauxdir)/$$p"; \
        done
 ## install the libltdl files
        @list='$(pkgltdl_files)' && for p in $$list; do \
-         d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's,[^/]*$$,,'`; \
+         d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \
          test -d "$$d" || $(mkinstalldirs) "$$d"; \
          echo " $(INSTALL_DATA) '$(ltdldir)/$$p' 
'$(DESTDIR)$(pkgdatadir)/$$p'"; \
          $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \
@@ -580,7 +580,7 @@ $(readme): FORCE
          $(SHELL) $(edit_readme_alpha) '$@'; \
        fi
 
-git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's,[         ],,g'
+git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[         ]||g'
 
 dist-hook: $(changelog) $(dotversion) $(readme)
 ## Arrange so that .tarball-version appears only in the distribution
diff --git a/NEWS b/NEWS
index 32e9bb1..0479a34 100644
--- a/NEWS
+++ b/NEWS
@@ -48,6 +48,7 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
     and is equivalent to the implied `--subproject' mode when no other
     mode is selected; `--standalone' never worked, and is no longer
     accepted.
+  - Libtool and libtoolize no longer choke on paths with a comma in them.
 
 ** Important incompatible changes:
 
diff --git a/bootstrap b/bootstrap
index 66cab74..afdde66 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,11 +1,11 @@
 #! /bin/sh
 
 # Source required external libraries.
-. `echo "$0" |${SED-sed} 's,[^/]*$,,'`"build-aux/options-parser"
-. `echo "$0" |${SED-sed} 's,[^/]*$,,'`"build-aux/extract-trace"
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`"build-aux/options-parser"
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`"build-aux/extract-trace"
 
 # Set a version string for *this* script.
-scriptversion=2011-11-20.15; # UTC
+scriptversion=2011-11-21.09; # UTC
 
 # Bootstrap this package from checked-out sources.
 # Written by Gary V. Vaughan, 2010
@@ -1296,13 +1296,13 @@ func_require_dotgitmodules_parameters ()
       test -n "$gnulib_path" \
         || gnulib_path=`$SED -e '/^.submodule "gnulib".$/,${
                                    /[   ]*path *= */{
-                                    s,[   ]*,,g;s,^[^=]*=,,;p
+                                    s|[   ]*||g;s|^[^=]*=||;p
                                   }
                                 };d' .gitmodules |$SED 1q`
       test -n "$gnulib_url" \
         || gnulib_url=`$SED -e '/^.submodule "gnulib".$/,${
                                   /[    ]*url *= */{
-                                   s,[   ]*,,g;s,^[^=]*=,,;p
+                                   s|[   ]*||g;s|^[^=]*=||;p
                                  }
                                };d' .gitmodules |$SED 1q`
 
diff --git a/bootstrap.conf b/bootstrap.conf
index c3491b5..f7bc1ac 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -1,4 +1,4 @@
-# bootstrap.conf (GNU Libtool) version 2011-11-11
+# bootstrap.conf (GNU Libtool) version 2011-11-21
 #
 # Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 # Written by Gary V. Vaughan, 2010
@@ -359,7 +359,7 @@ libtool_readme_release_package_substitutions ()
 
     # Perform substitutions to a temporary file
     $SED -e "\
-        s,address@hidden@,$package,g
+        s|address@hidden@|$package|g
     " "$my_readme" > "${my_readme}T" \
         && mv "${my_readme}T" "$my_readme"
 }
@@ -456,7 +456,7 @@ libtool_require_package_url ()
       # How to extract the parameters for `make bootstrap-deps' from
       # configure.ac.  This is very specific to the way Libtool's
       # configure.ac layout.
-      sed_extract_package_url='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;
+      sed_extract_package_url='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;
         /AC_SUBST([[]*PACKAGE_URL/{
             s|.*AC_SUBST([[     ]*PACKAGE_URL[]         ]*,[[   
]*|package_url="|
             s|[])       ]*$|"|
diff --git a/build-aux/extract-trace b/build-aux/extract-trace
index ffae14d..b738257 100755
--- a/build-aux/extract-trace
+++ b/build-aux/extract-trace
@@ -1,10 +1,10 @@
 #! /bin/sh
 
 # Make sure we've evaluated the option-parser library.
-test -n "$progpath" || . `echo "$0" |${SED-sed} 's,[^/]*$,,'`/options-parser
+test -n "$progpath" || . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser
 
 # Set a version string.
-scriptversion=2011-11-20.15; # UTC
+scriptversion=2011-11-21.10; # UTC
 
 # Extract macro arguments from autotools input with GNU M4.
 # Written by Gary V. Vaughan, 2010
@@ -75,7 +75,7 @@ func_autoconf_configure ()
 {
     $debug_cmd
 
-    _G_sed_no_comment='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;'
+    _G_sed_no_comment='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;'
     _G_ac_init=
 
     # If we were passed a genuine file, make sure it calls AC_INIT.
@@ -335,7 +335,7 @@ func_extract_trace ()
     # "autoconf.mini" followed by any other files passed to this
     # function is then scanned by sed to transform it into a colon
     # delimited argument list assigned to a shell variable.
-    _G_transform='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;'
+    _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;'
 
     # Unfortunately, alternation in regexp addresses doesn't work in at
     # least BSD (and hence Mac OS X) sed, so we have to append a capture
@@ -346,7 +346,7 @@ func_extract_trace ()
       IFS=$_G_save
       func_append _G_transform '
         /^m4trace: -1- '"$_G_macro"'/ {
-          s,^m4trace: -1- '"$_G_macro"'[([]*,,
+          s|^m4trace: -1- '"$_G_macro"'[([]*||
           s|], [[]|:|g
           s|[])]*$|:|
           s|\(.\):$|\1|
diff --git a/build-aux/general.m4sh b/build-aux/general.m4sh
index 526c1d2..a29eaac 100644
--- a/build-aux/general.m4sh
+++ b/build-aux/general.m4sh
@@ -135,14 +135,14 @@ func_stripname ()
 
 
 # These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
+pathcar='s|^/\([^/]*\).*$|\1|'
+pathcdr='s|^/[^/]*||'
 removedotparts=':dotsl
-               s@/\./@/@g
+               s|/\./|/|g
                t dotsl
-               s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+               s|/\.$|/|'
+collapseslashes='s|/\{1,\}|/|g'
+finalslash='s|/*$|/|'
 
 # func_normal_abspath PATH
 # Remove doubled-up and trailing slashes, "." path components,
@@ -315,7 +315,7 @@ double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
 # Sed substitution that turns a string into a regex matching for the
 # string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
 # Sed substitution that converts a w32 file name or path
 # which contains forward slashes, into one that contains
@@ -442,7 +442,7 @@ func_mkdir_p ()
         # ...otherwise throw away the child directory and loop
         my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
       done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+      my_dir_list=`$ECHO "$my_dir_list" | $SED 's|:*$||'`
 
       save_mkdir_p_IFS=$IFS; IFS=:
       for my_dir in $my_dir_list; do
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index e11151e..e29dd64 100755
--- a/build-aux/git-hooks/commit-msg
+++ b/build-aux/git-hooks/commit-msg
@@ -44,7 +44,7 @@ fn_rewrite ()
     fn_error "$*"
 
     # And again as a comment in the log_file ready for re-editing
-    $ECHO "$*" |$SED 's,^,# ,'
+    $ECHO "$*" |$SED 's|^|# |'
     echo
     cat "$log_file"
 }
@@ -79,7 +79,7 @@ fn_check_msg ()
 
     # Flag duplicated Copyright-paperwork-exempt lines.
     count=`grep "$CPR_re" "$log_file" 2>/dev/null \
-      |wc |sed -e 's,^[         ]*,,;s,[        ].*$,,'`
+      |wc |sed -e 's|^[         ]*||;s|[        ].*$||'`
 
     test 2 -gt "$count" || {
       $ECHO 'More than one Copyright-paperwork-exempt line.'
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
index e03fe48..9ac3ced 100644
--- a/build-aux/git-log-fix
+++ b/build-aux/git-log-fix
@@ -5,76 +5,76 @@
 a5ef08182ce0fb80b8adcff5872f190afd915908
 # Date:   Wed Nov 16 12:13:55 2011 +0700
 # Fix a typo.
-s,bootstraps,bootstrap's,
+s|bootstraps|bootstrap's|
 
 88224124e4f57166cdcc78be29730372762a147e
 # Date:   Tue Nov 15 16:44:15 2011 +0700
 # Fix a typo.
-s,todays,today's,
+s|todays|today's|
 
 e8db92c345b99acd9c6984a321fc241ed1d01d23
 # Date:   Tue Nov 15 13:26:53 2011 +0700
 # Email address of Reporters is in THANKS.
-s,(Reported by .*?) *<.*>,$1.,
+s|(Reported by .*?) *<.*>|$1.|
 
 0fe4d0740effaec9d08ee9683fb493d8ad0bd8b5
 # Date:   Mon Oct 17 16:43:18 2011 +0700
 # No empty lines in a single commit.
-s,\n\n,\n,g;
+s|\n\n|\n|g;
 # Fix a typo.
-s,soure,source,
+s|soure|source|
 
 789817d512111d063981446efc7493ce87696bb3
 # Date:   Mon Oct 17 12:40:55 2011 +0700
 # No empty lines in a single commit.
-s,\n\n,\n,g
+s|\n\n|\n|g
 
 49ae2888b43cad358e2ff60a69722341116e7b40
 # Date:   Sun Oct 2 10:02:18 2011 -0500
 # No leading tabs in git log message.
-s,\n\t,\n,g
+s|\n\t|\n|g
 
 920da81be698974faa50bd36a60248e2c18c4fd5
 # Date:   Sun Sep 25 17:39:04 2011 -0500
 # No leading tabs in git log message.
-s,\n\t,\n,g;
+s|\n\t|\n|g;
 # No empty lines in a single commit.
-s,\n\n,\n,g
+s|\n\n|\n|g
 
 dc28c2bfbcb4879bc04a73186d72ec0e7ef2ad4c
 # Date:   Thu Sep 1 18:45:03 2011 -0500
 # Typo in name.
-s,Davd,David,
+s|Davd|David|
 
 1ea9302bd1eadf25b466fcd7e8697e4bef111493
 # Date:   Sun Apr 10 10:17:21 2011 +0200
 # Add back missing annotation:
-s,$,\nCopyright-paperwork-exempt: Yes,
+s|$|\nCopyright-paperwork-exempt: Yes|
 
 1b76054f4763a28ae1b01fbeee86ba0c524d1923
 # Date:   Mon Mar 14 08:40:50 2011 +0100
 # Refill to 64 columns (72 in ChangeLog including leading \t):
-s,to add all\nnecessary,to\nadd all necessary,;
-s,support\. Currently,support.\nCurrently,;
-s,filters\n,filters ,;
-s,the case with,the\ncase with,;
-s,This change\nhandles,This change handles,;
-s,the situation for,the situation\nfor,;
-s,thread\nsupport was,thread support\nwas,;
+s|to add all\nnecessary|to\nadd all necessary|;
+s|support\. Currently|support.\nCurrently|;
+s|filters\n|filters |;
+s|the case with|the\ncase with|;
+s|This change\nhandles|This change handles|;
+s|the situation for|the situation\nfor|;
+s|thread\nsupport was|thread support\nwas|;
 # Indent urls slightly:
-s,\nhttp://,\n  http://,g;
+s|\nhttp://|\n  http://|g;
 # No empty lines in a single commit:
-s,\n\n,\n,g;
+s|\n\n|\n|g;
 # Add back missing annotation, and co-author:
-s,$,\nCopyright-paperwork-exempt: Yes,;
-s,$,\nCo-authored-by: Rhys Ulerich <address@hidden>,;
+s|$|\nCopyright-paperwork-exempt: Yes|;
+s|$|\nCo-authored-by: Rhys Ulerich <address@hidden>|;
 
 e94c6d6e0359d92f08f491f57e0ef3371e978952
 # Date:   Thu Jan 20 19:35:14 2011 +0100
 # Add back missing annotation:
-s,$,\nCopyright-paperwork-exempt: Yes,
+s|$|\nCopyright-paperwork-exempt: Yes|
 
 9167aecabd12c5afe7a65d45dc73f8c92ab42f05
 # Date:   Sun Jan 9 19:51:28 2011 +0100
 # Add back missing annotation:
-s,$,\nCopyright-paperwork-exempt: Yes,
+s|$|\nCopyright-paperwork-exempt: Yes|
diff --git a/build-aux/ltmain.m4sh b/build-aux/ltmain.m4sh
index a2b839b..8955838 100644
--- a/build-aux/ltmain.m4sh
+++ b/build-aux/ltmain.m4sh
@@ -2798,7 +2798,7 @@ func_win32_libid ()
        $SED -n -e '
            1,100{
                / I /{
-                   s,.*,import,
+                   s|.*|import|
                    p
                    q
                }
@@ -7072,7 +7072,7 @@ EOF
                        potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
                        case $potliblink in
                        [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
-                       *) potlib=`$ECHO "$potlib" | $SED 
's,[^/]*$,,'`"$potliblink";;
+                       *) potlib=`$ECHO "$potlib" | $SED 
's|[^/]*$||'`"$potliblink";;
                        esac
                      done
                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
@@ -7168,7 +7168,7 @@ EOF
          if test yes = "$allow_libtool_libs_with_static_runtimes"; then
            for i in $predeps $postdeps ; do
              # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
            done
          fi
          case $tmp_deplibs in
diff --git a/cfg.mk b/cfg.mk
index d8de34a..1967309 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -100,6 +100,16 @@ sc_prohibit_nested_quotes:
        halt='found nested double quotes'                               \
          $(_sc_search_regexp_or_exclude)
 
+# Commas in filenames are quite common, so using them routinely for sed is
+# asking for trouble!
+sc_prohibit_sed_s_comma:
+       @explicit='($$SED|sed)[  ]+(-e[  ]+)?['\''"]?s,'                \
+       implicit='['\''";][      ]*s,[^,]*,[^,]*,g?['\''";]'            \
+       literal='^[      ]*s,[^,]*,[^,]*,g?['\''";]?$$'                 \
+       prohibit='('$$implicit'|'$$explicit'|'$$literal')'              \
+       halt='found use of comma separator in sed substitution'         \
+         $(_sc_search_regexp)
+
 # Check for using shift after set dummy (same or following line).
 exclude_file_name_regexp--sc_prohibit_set_dummy_without_shift = ^cfg.mk$$
 sc_prohibit_set_dummy_without_shift:
diff --git a/libtoolize.m4sh b/libtoolize.m4sh
index e39f7f1..deea244 100644
--- a/libtoolize.m4sh
+++ b/libtoolize.m4sh
@@ -125,7 +125,7 @@ M4SH_GETOPTS(
        # be careful that --ltdl=foo --ltdl=bar results in ltdl_dir=bar:
        case $opt_ltdl in
           false|:) ;;  # a bare '--ltdl' followed by another option
-         *)       ltdl_dir=`$ECHO "$optarg" |$SED 's,/*$,,'` ;;
+         *)       ltdl_dir=`$ECHO "$optarg" |$SED 's|/*$||'` ;;
        esac
        opt_ltdl=:],
 [
@@ -326,7 +326,7 @@ func_included_files ()
     my_include_regex=
     my_sed_include='
         /^m4@&address@hidden(\[.*\])$/ {
-           s,^m4@&address@hidden(\[\(.*\)\])$,\1,
+           s|^m4@&address@hidden(\[\(.*\)\])$|\1|
            p
        }
         d'
@@ -354,7 +354,7 @@ func_serial ()
     my_macro_regex=$2
     my_sed_serial='
        /^# serial [1-9][0-9.]*[         ]*'"$my_macro_regex"'[  ]*$/ {
-           s,^# serial \([1-9][0-9.]*\).*$,\1,
+           s|^# serial \([1-9][0-9.]*\).*$|\1|
            q
        }
        d'
@@ -644,7 +644,7 @@ func_ltmain_update ()
 
     my_sed_ltmain='
        /^package_revision='\''*[0-9][1-9.]*'\''*/ {
-           s,^package_revision='\''*\([0-9.]*\)'\''*[   ]*$,\1,
+           s|^package_revision='\''*\([0-9.]*\)'\''*[   ]*$|\1|
            p
        }
        d'
@@ -665,8 +665,8 @@ func_config_update ()
 
     my_sed_config='
        /^timestamp='\''*[0-9][1-9-]*'\''*/ {
-           s,^timestamp='\''*\([0-9-]*\)'\''*,\1,
-           s/-/./g
+           s|^timestamp='\''*\([0-9-]*\)'\''*|\1|
+           s|-|.|g
            p
        }
        d'
@@ -687,9 +687,9 @@ func_install_update ()
 
     my_sed_install='
        /^scriptversion='\''*[0-9][1-9.-]*'\''*/ {
-           s,[#;].*,,
-           s,^scriptversion='\''*\([0-9.-]*\)'\''*,\1,
-           s/-/./g
+           s|[#;].*||
+           s|^scriptversion='\''*\([0-9.-]*\)'\''*|\1|
+           s|-|.|g
            p
        }
        d'
@@ -1051,7 +1051,7 @@ func_check_macros ()
 
     # Don't trace for this, we're just checking the user didn't invoke it
     # directly from configure.ac.
-    $SED 's,dnl .*$,,; s,# .*$,,' "$configure_ac" | grep AC_PROG_RANLIB 
>/dev/null &&
+    $SED 's|dnl .*$||; s|# .*$||' "$configure_ac" | grep AC_PROG_RANLIB 
>/dev/null &&
       func_echo "\`AC_PROG_RANLIB' is rendered obsolete by \`LT_INIT'"
 
     # FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release
@@ -1075,7 +1075,7 @@ func_autoconf_configure ()
 {
     $debug_cmd
 
-    _G_sed_no_comment='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;'
+    _G_sed_no_comment='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;'
     _G_ac_init=
 
     # If we were passed a genuine file, make sure it calls AC_INIT.
@@ -1261,8 +1261,8 @@ func_require_Makefile_am_filter ()
       recursive)
         Makefile_am_filter='
             /^[^#]/{
-              s,(LIBOBJS),(ltdl_LIBOBJS),g
-              s,(LTLIBOBJS),(ltdl_LTLIBOBJS),g
+              s|(LIBOBJS)|(ltdl_LIBOBJS)|g
+              s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g
             }'
         ;;
 
@@ -1278,9 +1278,9 @@ $ltdl_am_macro_dir" |$SED "$sed_make_literal_regex"`
 
           Makefile_am_filter="
             /^ACLOCAL_AMFLAGS = /{
-              s, -I $my_am_macro_dir_regex\$, -I $ltdl_relative_macro_dir,
+              s| -I $my_am_macro_dir_regex\$| -I $ltdl_relative_macro_dir|
             }
-            s,dir)/$my_am_macro_dir_regex,dir)/$ltdl_relative_macro_dir,g"
+            s|dir)/$my_am_macro_dir_regex|dir)/$ltdl_relative_macro_dir|g"
         }
 
         test "$ltdl_ac_aux_dir" = "$ltdl_relative_aux_dir" || {
@@ -1288,8 +1288,8 @@ $ltdl_am_macro_dir" |$SED "$sed_make_literal_regex"`
 $ltdl_ac_aux_dir" |$SED "$sed_make_literal_regex"`
 
           Makefile_am_filter="$Makefile_am_filter
-            s,$my_aux_dir_regex,$ltdl_relative_aux_dir,g
-            s,/\./,/,g
+            s|$my_aux_dir_regex|$ltdl_relative_aux_dir|g
+            s|/\./|/|g
           "
         }
         ;;
@@ -1313,23 +1313,23 @@ func_require_Makefile_inc_filter ()
 
     # Note that we strip comments right here, rather than rely on
     # using a $SED that allows comments.
-    my_uscore=`$ECHO "$ltdl_dir" | $SED 's,[/.+-],_,g'`
+    my_uscore=`$ECHO "$ltdl_dir" | $SED 's|[/.+-]|_|g'`
     Makefile_inc_filter=`$ECHO '
       /^[^#]/{
 
         # Use only libltdl conditional objects.
-        s,(LIBOBJS),(ltdl_LIBOBJS),g
-        s,(LTLIBOBJS),(ltdl_LTLIBOBJS),g
+        s|(LIBOBJS)|(ltdl_LIBOBJS)|g
+        s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g
 
         # Convert libltdl path and variable sections to $ltdl_dir.
-        s,libltdl_,@address@hidden,
-        s,libltdl/,@ltdl_dir@/,
-        s,: libltdl/,: @ltdl_dir@/,
-        s, -Ilibltdl , address@hidden@ ,
-        s,\$(libltdl_,\$(@address@hidden,
-        s,)/libltdl ,)/@ltdl_dir@ ,
-        s,@my_uscore@,'"$my_uscore"',g
-        s,@ltdl_dir@,'"$ltdl_dir"',g
+        s|libltdl_|@address@hidden|
+        s|libltdl/|@ltdl_dir@/|
+        s|: libltdl/|: @ltdl_dir@/|
+        s| -Ilibltdl | address@hidden@ |
+        s|\$(libltdl_|\$(@address@hidden|
+        s|)/libltdl |)/@ltdl_dir@ |
+        s|@my_uscore@|'"$my_uscore"'|g
+        s|@ltdl_dir@|'"$ltdl_dir"'|g
 
       }' | $SED '/^[    ]*#/d;/^$/d'`
 
@@ -1388,7 +1388,7 @@ cannot expand unknown variable in LT_CONFIG_LTDL_DIR 
argument."
     fi
 
     # Strip trailing slashes.
-    ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's,/*$,,'`
+    ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's|/*$||'`
 
     require_ac_ltdl_dir=:
 }
@@ -1480,7 +1480,7 @@ $ltdl_am_macro_dir" |$SED "$sed_make_literal_regex"`
       # undefined macro.
       aclocal_m4_filter="
         /^[m]4_include(/{
-          s,$my_am_macro_dir_regex,$ltdl_relative_macro_dir,g
+          s|$my_am_macro_dir_regex|$ltdl_relative_macro_dir|g
         }"
     }
 
@@ -1570,7 +1570,7 @@ func_require_configure_ac_filter ()
 $ltdl_ac_aux_dir" |$SED "$sed_make_literal_regex"`
 
       configure_ac_filter="
-        s,$my_aux_dir_regex,$ltdl_relative_aux_dir,g
+        s|$my_aux_dir_regex|$ltdl_relative_aux_dir|g
       "
     }
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a8a5517..51507e4 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1103,12 +1103,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
     output_verbose_link_cmd=func_echo_all
     _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o 
\$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname 
\$verstring $_lt_dar_single_mod$_lt_dsymutil"
     _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle 
\$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib 
\$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags 
-install_name \$rpath/\$soname \$verstring 
$_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib 
-bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib 
\$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags 
-install_name \$rpath/\$soname \$verstring 
$_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib 
-bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
     m4_if([$1], [CXX],
 [   if test yes != "$lt_cv_apple_cc_single_mod"; then
       _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o 
\$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib 
\$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname 
\$verstring$_lt_dsymutil"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs 
-nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag 
-o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name 
\$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > 
\$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs 
-nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag 
-o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name 
\$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
     fi
 ],[])
   else
@@ -2166,8 +2166,8 @@ if test yes = "$GCC"; then
     *) lt_awk_arg='/^libraries:/' ;;
   esac
   case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s,=\([[A-Za-z]]:\),\1,g' ;;
-    *) lt_sed_strip_eq='s,=/,/,g' ;;
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e 
"s/^libraries://" -e $lt_sed_strip_eq`
   case $lt_search_path_spec in
@@ -2218,7 +2218,7 @@ BEGIN {RS = " "; FS = "/|\n";} {
   # for these hosts.
   case $host_os in
     mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
   esac
   sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
@@ -4783,7 +4783,7 @@ _LT_EOF
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 
262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols 
>$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname 
$wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr 
${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols 
>$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname 
$wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr 
${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -6355,7 +6355,7 @@ if test yes != "$_lt_caught_CXX_error"; then
        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 
262144 + 1342177280` -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols 
>$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname 
$wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr 
${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols 
>$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-h,$soname 
$wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr 
${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
        ;;
       irix5* | irix6*)
         case $cc_basename in
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index 88b03cd..e2314f1 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -397,7 +397,7 @@ m4_pattern_allow([^LT_CONFIG_H$])dnl
 m4_ifset([AH_HEADER],
     [LT_CONFIG_H=AH_HEADER],
     [m4_ifset([AC_LIST_HEADERS],
-           [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[      ]]*,,;s,[[ 
:]].*$,,'`],
+           [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[      ]]*||;s|[[ 
:]].*$||'`],
        [])])])
 AC_SUBST([LT_CONFIG_H])
 
diff --git a/tests/cdemo-undef.test b/tests/cdemo-undef.test
index 7d5cd9b..732e355 100755
--- a/tests/cdemo-undef.test
+++ b/tests/cdemo-undef.test
@@ -34,7 +34,7 @@ grep '^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$' 
./libtool >/dev/null 2
     && func_skip "$host doesn't support undefined symbols in shared libs"
 
 if test -f ./libtool; then
-  $SED 's,allow_undefined=no,allow_undefined=yes,g' ./libtool > ltnew
+  $SED 's|allow_undefined=no|allow_undefined=yes|g' ./libtool > ltnew
 else
   exit 1
 fi
diff --git a/tests/cmdline_wrap.at b/tests/cmdline_wrap.at
index c7f5671..79a3931 100644
--- a/tests/cmdline_wrap.at
+++ b/tests/cmdline_wrap.at
@@ -30,7 +30,7 @@ AT_KEYWORDS([recursive expensive])
 m4_ifdef([AT_CAPTURE_FILE],
 [AT_CAPTURE_FILE([testsuite.log])])
 
-sed 's,max_cmd_len=.*,max_cmd_len="24",' < $LIBTOOL > libtool
+sed 's|max_cmd_len=.*|max_cmd_len="24"|' < $LIBTOOL > libtool
 chmod +x libtool
 LIBTOOL=`pwd`/libtool
 export LIBTOOL
diff --git a/tests/darwin.at b/tests/darwin.at
index 11be3aa..4b0d789 100644
--- a/tests/darwin.at
+++ b/tests/darwin.at
@@ -74,7 +74,7 @@ if test $# != 1; then
                   exit 1
 fi
 
-echo $1 | sed "s,^.*/,,"
+echo $1 | sed "s|^.*/||"
 ]])
 
 chmod +x bin/basename
diff --git a/tests/defs.m4sh b/tests/defs.m4sh
index 6cfe978..31089a8 100644
--- a/tests/defs.m4sh
+++ b/tests/defs.m4sh
@@ -348,7 +348,7 @@ func_exec ()
 }
 
 # Shared global variables for test scripts
-prefix=./_inst-`echo "$0" | sed 's,.*/,,; s,-.*,,'`
+prefix=./_inst-`echo "$0" | sed 's|.*/||; s|-.*||'`
 abs_srcdir=`cd '@srcdir@' && pwd`
 abs_macro_dir=`cd '@srcdir@/@macro_dir@' && pwd`
 abs_aux_dir=`cd '@srcdir@/@aux_dir@' && pwd`
diff --git a/tests/getopt-m4sh.at b/tests/getopt-m4sh.at
index ee59ca5..5eec5c2 100644
--- a/tests/getopt-m4sh.at
+++ b/tests/getopt-m4sh.at
@@ -49,7 +49,7 @@ m4_pattern_forbid([AS_INIT])
 AT_CHECK([$M4SH --version || exit 77], [], [ignore], [ignore])
 AT_CHECK([$M4SH -B $abs_top_srcdir/build-aux options.m4sh > t-options],
         [], [], [], [AT_CHECK([test 63 -eq "$at_status" && exit 77])])
-$SED "s,@LN_S\@,$LN_S,g;s,@SED\@,$SED,g" t-options > options
+$SED "s|@LN_S\@|$LN_S|g;s|@SED\@|$SED|g" t-options > options
 ])# _LT_AT_GETOPT_M4SH_SETUP
 
 
diff --git a/tests/install.at b/tests/install.at
index 5e15555..5b6c73e 100644
--- a/tests/install.at
+++ b/tests/install.at
@@ -30,7 +30,7 @@ AT_KEYWORDS([libtool])
 
 AT_CHECK([$LIBTOOL --features | grep 'enable shared libraries' || exit 77],
         [], [ignore])
-sed 's,^\(install_override_mode\)=.*,\1=755,' < $LIBTOOL > ./libtool
+sed 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool
 LIBTOOL=./libtool
 chmod a+rx $LIBTOOL
 
diff --git a/tests/libtoolize.at b/tests/libtoolize.at
index 3036284..9bc3770 100644
--- a/tests/libtoolize.at
+++ b/tests/libtoolize.at
@@ -696,7 +696,7 @@ LT_AT_ACLOCAL([-I $abs_top_srcdir/m4])
 : ${GREP="grep"}
 : ${SED="sed"}
 
-basename='s,^.*/,,'
+basename='s|^.*/||'
 
 # func_grep expression filename
 # Check whether EXPRESSION matches any line of FILENAME, without output.
@@ -714,7 +714,7 @@ func_serial ()
     my_macro_regex=$2
     my_sed_serial='
        /^# serial [1-9][0-9.]*[         ]*'"$my_macro_regex"'[  ]*$/ {
-           s,^# serial \([1-9][0-9.]*\).*$,\1,
+           s|^# serial \([1-9][0-9.]*\).*$|\1|
            q
        }
        d'
@@ -742,11 +742,11 @@ libtool_serial=`func_serial "$tst_aclocaldir/libtool.m4" 
LT_INIT`
 ltversion_serial=`func_serial "$tst_aclocaldir/ltversion.m4" ltversion.m4`
 ltsugar_serial=`func_serial "$tst_aclocaldir/ltsugar.m4" ltsugar.m4`
 lt_obsolete_serial=`func_serial "$tst_aclocaldir/lt~obsolete.m4" 
lt~obsolete.m4`
-$SED -e 's,^#.*serial.*ltoptions.m4$,# serial 99999 ltoptions.m4,' \
-   -e "s,^#.*serial.*libtool.m4\$,# serial $libtool_serial libtool.m4," \
-  -e "s,^#.*serial.*ltversion.m4\$,# serial $ltversion_serial ltversion.m4," \
-  -e "s,^#.*serial.*ltsugar.m4\$,# serial $ltsugar_serial ltsugar.m4," \
-  -e "s,^#.*serial.*lt~obsolete.m4\$,# serial $lt_obsolete_serial 
lt~obsolete.m4," \
+$SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \
+   -e "s|^#.*serial.*libtool.m4\$|# serial $libtool_serial libtool.m4|" \
+  -e "s|^#.*serial.*ltversion.m4\$|# serial $ltversion_serial ltversion.m4|" \
+  -e "s|^#.*serial.*ltsugar.m4\$|# serial $ltsugar_serial ltsugar.m4|" \
+  -e "s|^#.*serial.*lt~obsolete.m4\$|# serial $lt_obsolete_serial 
lt~obsolete.m4|" \
  < aclocal.m4 > aclocal.m4t
 mv -f aclocal.m4t aclocal.m4
 
diff --git a/tests/mdemo/Makefile.am b/tests/mdemo/Makefile.am
index 7f34be1..ff9e459 100644
--- a/tests/mdemo/Makefile.am
+++ b/tests/mdemo/Makefile.am
@@ -55,7 +55,7 @@ top_distdir = ../..
 $(LIBLTDL): $(top_distdir)/libtool \
     $(top_distdir)/config.h $(srcdir)/$(top_distdir)/libltdl/ltdl.c \
     $(srcdir)/$(top_distdir)/libltdl/ltdl.h
-       (cd $(top_distdir); $(MAKE) `echo $(LIBLTDL) | sed 
's,.*\.\./libltdl/,libltdl/,g'`)
+       (cd $(top_distdir); $(MAKE) `echo $(LIBLTDL) | sed 
's|.*\.\./libltdl/|libltdl/|g'`)
 # Do not error out if toplevel config.h does not exist:
 $(top_distdir)/config.h:
 
diff --git a/tests/need_lib_prefix.at b/tests/need_lib_prefix.at
index 4eee3b9..5d72e57 100644
--- a/tests/need_lib_prefix.at
+++ b/tests/need_lib_prefix.at
@@ -161,7 +161,7 @@ eval libname=\"$libname_spec\"
 AT_CHECK([test lib = "$libname" || exit 77])
 
 # Create our own libtool, forcing need_lib_prefix setting
-sed 's,^\(need_lib_prefix\)=.*$,\1=unknown,' $LIBTOOL > ./libtool
+sed 's|^\(need_lib_prefix\)=.*$|\1=unknown|' $LIBTOOL > ./libtool
 LIBTOOL="$SHELL ./libtool"
 
 # Installation directory:
diff --git a/tests/sysroot.at b/tests/sysroot.at
index 34e6d48..3c01278 100644
--- a/tests/sysroot.at
+++ b/tests/sysroot.at
@@ -39,7 +39,7 @@ for i in crt0.o crt1.o crt2.o crti.o; do
   test $? = 0 || continue
   case $j in
     $gcc_sysroot*/lib/$i)
-      prefix=`echo "$j" | sed "s,^$gcc_sysroot\\(.*\\)/lib/$i\$,\\1,"`
+      prefix=`echo "$j" | sed "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"`
       break ;;
   esac
 done
diff --git a/tests/tagdemo-undef.test b/tests/tagdemo-undef.test
index e1f966d..89d97cd 100755
--- a/tests/tagdemo-undef.test
+++ b/tests/tagdemo-undef.test
@@ -35,7 +35,7 @@ grep '^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$' 
./libtool >/dev/null 2
     && func_skip "$host doesn't support undefined symbols in shared libs"
 
 if test -f ./libtool; then
-  $SED 's,allow_undefined=no,allow_undefined=yes,g' ./libtool > ltnew
+  $SED 's|allow_undefined=no|allow_undefined=yes|g' ./libtool > ltnew
 else
   exit 1
 fi
diff --git a/tests/testsuite.at b/tests/testsuite.at
index b13acd3..093efd6 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -92,7 +92,7 @@ AT_KEYWORDS([libtoolize])
 # ---------------------------
 # Fix the expected output of installed libtoolize in presence of --program-*.
 m4_define([_LIBTOOLIZE_TRANSFORM],
-[lt_name=`$ECHO "$LIBTOOLIZE" | sed "s,^.*/,,"`
+[lt_name=`$ECHO "$LIBTOOLIZE" | sed "s|^.*/||"`
 sed "s/libtoolize/$lt_name/g
 s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < 
$1 > $1.t
 mv -f $1.t $1
@@ -243,7 +243,7 @@ esac])
 # - location of the libtool script,
 # - error messages involving unstable temporary file names.
 m4_define([LT_AT_NORMALIZE_COMPILER_OUTPUT],
-[_ltbase=`$ECHO "$LIBTOOL" | sed 's,^.*/,,'`
+[_ltbase=`$ECHO "$LIBTOOL" | sed 's|^.*/||'`
 [sed "/^distcc\[[0-9]*\]/d
       /^$_ltbase: compile/d
       s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < $1 
> $1.t]
-- 
1.7.7.4

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)



reply via email to

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