[Top][All Lists]

[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 > <<\EOF
     > AC_INIT()
     > AS_ESCAPE(m4_quote(AS_MKDIR_P(["sdir"])), [\$`])
     > EOF
     address@hidden testSubDir]$ rm
     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=.;;
     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 ;;
           test -d "$as_incr_dir" || mkdir "$as_incr_dir"
     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

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 Price                      CVS Solutions Architect ( )
mailto:address@hidden     OpenAvenue ( )
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]