autoconf
[Top][All Lists]
Advanced

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

Bug in AS_ESCAPE, AS_MKDIR_P, or my understanding of M4?


From: Derek R. Price
Subject: Bug in AS_ESCAPE, AS_MKDIR_P, or my understanding of M4?
Date: Tue, 30 Jan 2001 18:53:35 -0500

With the latest CVS Autoconf:


     address@hidden testSubDir]$ cat >configure.ac <<\EOF
     > AC_INIT()
     > AS_ESCAPE(m4_quote(AS_MKDIR_P(["sdir"])), [\$`])
     > EOF
     address@hidden testSubDir]$ rm configure.in
     address@hidden testSubDir]$ autoconf
     address@hidden testSubDir]$ ./configure
     ./configure: line 886: syntax error near unexpected token `;'
     ./configure: line 886: `  \\\\/* | ?:\\\\/*  as_incr_dir=;;'

Taking a look at configure, we see:


     { case \"sdir\" in
       \\\\/* | ?:\\\\/*  as_incr_dir=;;
       *                      as_incr_dir=.;;
     esac
     as_dummy="sdir"
     for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo
     "$@"`; do
       case $as_mkdir_dir in
         # Skip DOS drivespec
         ?:) as_incr_dir=$as_mkdir_dir ;;
         *)
           as_incr_dir=$as_incr_dir/$as_mkdir_dir
           test -d "$as_incr_dir" || mkdir "$as_incr_dir"
         ;;
       esac
     done; }
     ), \$`)

          ^^^
          Look there and at the case statement above.

It looks like the ')'s in AS_MKDIR_P's case statement are closing the
AS_ESCAPE statement early, but I thought I had quoted AS_MKDIR_P
properly.

Did I make a mistake?  Shouldn't AS_ESCAPE work properly with a single
set of quotes around the string passed in?  I tried using m4_dquote too,
unsuccessfully.  Shouldn't _one_ of them work as is?

Derek
--
Derek Price                      CVS Solutions Architect (
http://CVSHome.org )
mailto:address@hidden     OpenAvenue ( http://OpenAvenue.com )
--
It's potato, not potatoe.
It's potato, not potatoe.
It's potato, not potatoe...

          - Bart Simpson on chalkboard, _The Simpsons_





reply via email to

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