libtool-patches
[Top][All Lists]
Advanced

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

Re: cygwin breakage


From: Gary V. Vaughan
Subject: Re: cygwin breakage
Date: Tue, 19 Oct 2004 12:10:40 +0100
User-agent: Mozilla Thunderbird 0.8 (X11/20040913)

Hi Noah,

Noah Misch wrote:
>
>On Mon, Oct 18, 2004 at 09:51:08AM +0100, Gary V. Vaughan wrote:
>
>>As it turns out, your untested patch at:
>>
>>http://lists.gnu.org/archive/html/libtool/2004-10/msg00127.html
>>
>>is a much better generalised analysis and cleaner patch that mine.
>>
>>As I had hoped, this also paves the road to cleaning up all the 
>>$show/$run cruft on HEAD.  Excellent catch!
>  
> Thank you.  I also wrote a test case that validates the behavior of
> func_quote_for_eval with the invariant I proposed in that message, using a
> number of metacharacters.  I will clean it up for inclusion.

Excellent.  I look forward to it!

> There remains the issue of expanding parameters in the ``$show'' of an ``eval
> $run''ed command.  func_quote_for_eval'ing the command prevents word 
> splitting,
> command substitution, and parameter expansion.  We need something else, call 
> it
> func_quote_for_expand, that only stops word splitting and command 
> substitution.
> I have attached a sample implementation.  With something like it, one writes:
> 
> func_quote_for_expand "$cmd"
> eval "$show $func_quote_for_expand_result"
> $run eval "$cmd"

I am testing the following function on HEAD at the moment:

# func_verbose_eval arg
func_verbose_eval ()
{
  my_arg=`$ECHO "X$1" | $Xsed -e "$double_quote_subst"`

  case $my_arg in
    # Double-quote args containing shell metacharacters to delay
    # word splitting and command substitution for a subsequent eval.
    # Many Bourne shells cannot handle close brackets correctly
    # in scan sets, so we specify it separately.
    *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]]*|*@:>@*|"")
      my_arg="\"$my_arg\""
      ;;
  esac

  # First, show what we are about to do
  eval "func_verbose $my_arg"

  # Finally, evaluate the original command
  $opt_dry_run || eval "$1"
}

However, there are places that this can't be factored back in around
some of the $show/$run calls, so I think it makes sense to break out
your func_quote_for_expand and use it in those awkward cases.

Thanks for all your help with this :-)

>>I've successfully run the testsuite on my powerbook, and the failing
>>mdemo tests are now working on cygwin.  To be doubly sure there are no 
>>regressions, I am running the entire testsuite on cygwin before I 
>>commit.  I expect it to take another 12-18 hours for that to complete
>>(assuming Windows 98 can stay up that long under heavy processor load ;-)).

It didn't stay up.  And I think I botched the file redirections somehow
since the make-check.log file was zero sized :-(  I've restarted it,
with the log going to a file on a shared Mac OS X filesystem that I can
watch with 'tail -f'.  See you in 18 hours :-/

> The Autoconf test suite has taken up residence on my 486/33 laptop.  It 
> appears
> on track for completion within sixteen hours.

I've managed to get bochs running on virtual PC, and have bootstrapped
Gentoo Linux inside it.  'emerge world' is due to finish a little before
Christmas 2005.  Assuming my powerbook doesn't implode under such
heavy processor load... ;-)

Cheers,
        Gary.
-- 
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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