develooper Front page | perl.perl5.changes | Postings from April 2008

Change 33730: Integrate:

From:
Nicholas Clark
Date:
April 22, 2008 12:30
Subject:
Change 33730: Integrate:
Change 33730 by nicholas@mouse-mill on 2008/04/22 19:22:09

	Integrate:
	[ 33318]
	Shell patterns are subject to tilde expansion. So the case statement
	in the filexp script (written out by Configure) for expanding ~ and
	~/*  has never worked. It's always been relying on the /bin/csh glob
	for the ~* case. Few people ever noticed because one has to be
	building to one's home directory on a system with no csh installed.
	This is a bug from Perl 1.0's Configure!
	
	[ 33591]
	Make the nv_preserves... checking on VMS more robust (and more like
	what Configure does).  Problem using long int without long double
	reported by Jeremy Begg.

Affected files ...

... //depot/maint-5.10/perl/Configure#2 integrate
... //depot/maint-5.10/perl/configure.com#3 integrate

Differences ...

==== //depot/maint-5.10/perl/Configure#2 (xtext) ====
Index: perl/Configure
--- perl/Configure#1~32694~	2007-12-22 01:23:09.000000000 -0800
+++ perl/Configure	2008-04-22 12:22:09.000000000 -0700
@@ -3590,7 +3590,7 @@
 $startsh
 : expand filename
 case "\$1" in
- ~/*|~)
+ \~/*|\~)
 	echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
 	;;
  ~*)

==== //depot/maint-5.10/perl/configure.com#3 (text) ====
Index: perl/configure.com
--- perl/configure.com#2~33288~	2008-02-12 03:58:42.000000000 -0800
+++ perl/configure.com	2008-04-22 12:22:09.000000000 -0700
@@ -5479,53 +5479,35 @@
 $ echo "(UV will be ""''uvtype'"", ''uvsize' bytes)"
 $ echo "(NV will be ""''nvtype'"", ''nvsize' bytes)"
 $!
-$ echo4 "Checking whether your NVs can preserve your UVs..."
+$ d_nv_preserves_uv = "undef"
+$ echo4 "Checking how many bits of your UVs your NVs can preserve..."
 $ OS
 $ WS "#if defined(__DECC) || defined(__DECCXX)"
 $ WS "#include <stdlib.h>"
 $ WS "#endif"
 $ WS "#include <stdio.h>"
 $ WS "int main() {"
-$ WS "    ''uvtype' k = (''uvtype')~0, l;"
-$ WS "    ''nvtype' d;"
-$ WS "    l = k;"
-$ WS "    d = (''nvtype')l;"
-$ WS "    l = (''uvtype')d;"
-$ WS "    if (l == k)"
-$ WS "       printf(""preserve\n"");"
+$ WS "    ''uvtype' u = 0;"
+$ WS "    int     n = 8 * ''uvsize';"
+$ WS "    int     i;"
+$ WS "    for (i = 0; i < n; i++) {"
+$ WS "      u = u << 1 | (''uvtype')1;"
+$ WS "      if ((''uvtype')(''nvtype')u != u)"
+$ WS "        break;"
+$ WS "    }"
+$ WS "    printf(""%d\n"", i);"
 $ WS "    exit(0);"
 $ WS "}"
 $ CS
 $ GOSUB compile
-$ IF tmp .EQS. "preserve"
-$ THEN 
+$ nv_preserves_uv_bits = tmp
+$ IF F$INTEGER(nv_preserves_uv_bits) .GE. (F$INTEGER(uvsize) * 8)
+$ THEN
 $   d_nv_preserves_uv = "define"
-$   echo "Yes, they can." 
-$   nv_preserves_uv_bits = F$STRING(F$INTEGER(uvsize) * 8)
+$   echo "Your NVs can preserve all ''nv_preserves_uv_bits' bits of your UVs."
 $ ELSE
-$   d_nv_preserves_uv = "undef"
-$   echo "No, they can't."
-$   echo4 "Checking how many bits of your UVs your NVs can preserve..."
-$   OS
-$   WS "#if defined(__DECC) || defined(__DECCXX)"
-$   WS "#include <stdlib.h>"
-$   WS "#endif"
-$   WS "#include <stdio.h>"
-$   WS "int main() {"
-$   WS "    ''uvtype' u = 0;"
-$   WS "    int     n = 8 * ''uvsize';"
-$   WS "    int     i;"
-$   WS "    for (i = 0; i < n; i++) {"
-$   WS "      u = u << 1 | (''uvtype')1;"
-$   WS "      if ((''uvtype')(''nvtype')u != u)"
-$   WS "        break;"
-$   WS "    }"
-$   WS "    printf(""%d\n"", i);"
-$   WS "    exit(0);"
-$   WS "}"
-$   CS
-$   GOSUB compile
-$   nv_preserves_uv_bits = tmp
+$   d_nv_preserves_uv = "undef""
+$   echo "Your NVs can preserve only ''nv_preserves_uv_bits' bits of your UVs."	
 $ ENDIF
 $!
 $! Check for signbit (must already know nvtype)
End of Patch.



Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About