From: Graham Barr Date: Fri, 19 Jun 1998 11:31:04 +0000 (-0500) Subject: applied patch, modified logic to avoid reentering lexer at compile-time X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=4318d5a0158916acc059aa8e6af84037cb7296b9;p=p5sagit%2Fp5-mst-13.2.git applied patch, modified logic to avoid reentering lexer at compile-time Message-ID: <19980619113104.S9711@asic.sc.ti.com> Subject: Re: [PATCH perl5.004_67] Add Errno in ext/ p4raw-id: //depot/perl@1173 --- diff --git a/Configure b/Configure index 307f250..8dd8d9a 100755 --- a/Configure +++ b/Configure @@ -147,6 +147,7 @@ dynamic_ext='' extensions='' known_extensions='' static_ext='' +nonxs_ext='' useopcode='' useposix='' d_bsd='' @@ -10867,6 +10868,7 @@ cd $rsrc/ext : If we are using the old config.sh, known_extensions may contain : old or inaccurate or duplicate values. known_extensions='' +nonxs_extensions='' : We do not use find because it might not be available. : We do not just use MANIFEST because the user may have dropped : some additional extensions into the source tree and expect them @@ -10879,17 +10881,27 @@ for xxx in * ; do else if $test -d $xxx; then cd $xxx + zzz=$known_extensions for yyy in * ; do if $test -f $yyy/$yyy.xs; then known_extensions="$known_extensions $xxx/$yyy" fi done cd .. + if $test "$zzz" = "$known_extensions"; then + if $test -f $xxx/Makefile.PL; then + known_extensions="$known_extensions $xxx" + nonxs_extensions="$nonxs_extensions $xxx" + fi + fi fi fi ;; esac done +set X $nonxs_extensions +shift +nonxs_extensions="$*" set X $known_extensions shift known_extensions="$*" @@ -10939,7 +10951,11 @@ for xxx in $known_extensions ; do true|$define|y) avail_ext="$avail_ext $xxx" ;; esac ;; - *) avail_ext="$avail_ext $xxx" + *) + case " $nonxs_extensions " in + *" $xxx "*) ;; + *) avail_ext="$avail_ext $xxx" ;; + esac ;; esac done @@ -10948,6 +10964,19 @@ set X $avail_ext shift avail_ext="$*" +: Now see which nonxs extensions are supported on this system. +nonxs_ext='' +for xxx in $nonxs_extensions ; do + case "$xxx" in + *) nonxs_ext="$nonxs_ext $xxx" + ;; + esac +done + +set X $nonxs_ext +shift +nonxs_ext="$*" + case $usedl in $define) $cat <Makefile < 1) + if (len > 1) break; - if(sv_type > SVt_PV) { + if (sv_type > SVt_PV && curcop != &compiling) { HV* stash = gv_stashpvn("Errno",5,FALSE); if(!stash || !(gv_fetchmethod(stash, "TIEHASH"))) { dSP; diff --git a/lib/English.pm b/lib/English.pm index 1cbacd1..bbb6bd7 100644 --- a/lib/English.pm +++ b/lib/English.pm @@ -137,8 +137,8 @@ sub import { # Error status. *CHILD_ERROR = *? ; - *OS_ERROR = \$! ; - *ERRNO = \$! ; + *OS_ERROR = *! ; + *ERRNO = *! ; *EXTENDED_OS_ERROR = *^E ; *EVAL_ERROR = *@ ;