fix outdated/incorrect info about arbitrary limits
Gurusamy Sarathy [Sun, 6 Dec 1998 13:35:31 +0000 (13:35 +0000)]
p4raw-id: //depot/perl@2454

Changes
perl.h
pod/perl.pod
pod/perl5005delta.pod
pod/perldiag.pod
pod/perlfunc.pod
pp_sys.c
util.c

diff --git a/Changes b/Changes
index be8b3d2..23464f9 100644 (file)
--- a/Changes
+++ b/Changes
@@ -20,7 +20,6 @@ current addresses (as of July 1998):
     Abigail             <abigail@fnx.com>
     Kenneth Albanowski  <kjahds@kjahds.com>
     Russ Allbery        <rra@stanford.edu>
-    Graham Barr         <gbarr@ti.com>
     Spider Boardman     <spider@orb.nashua.nh.us>
     Tom Christiansen    <tchrist@perl.com>
     Jan Dubois          <jan.dubois@ibm.net>
@@ -51,10 +50,11 @@ current addresses (as of July 1998):
 And the Keepers of the Patch Pumpkin:
 
     Charles Bailey      <bailey@newman.upenn.edu>
+    Graham Barr         <gbarr@ti.com>
     Malcolm Beattie     <mbeattie@sable.ox.ac.uk>
     Tim Bunce           <Tim.Bunce@ig.co.uk>
     Andy Dougherty      <doughera@lafcol.lafayette.edu>
-    Gurusamy Sarathy    <gsar@engin.umich.edu>
+    Gurusamy Sarathy    <gsar@umich.edu>
     Chip Salzenberg     <chip@perl.com>
 
 And, of course, the Author of Perl:
diff --git a/perl.h b/perl.h
index 0f8a94c..9560567 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1349,6 +1349,15 @@ typedef I32 (*filter_t) _((int, SV *, int));
 # endif
 #endif         
 
+/* XXX MAXPATHLEN should be determined by Configure */
+#ifndef MAXPATHLEN
+#  ifdef PATH_MAX
+#    define MAXPATHLEN PATH_MAX
+#  else
+#    define MAXPATHLEN 1024
+#  endif
+#endif
+
 #ifndef FUNC_NAME_TO_PTR
 #define FUNC_NAME_TO_PTR(name)         name
 #endif
index 0d2251e..8bc94fa 100644 (file)
@@ -119,9 +119,9 @@ BASIC-PLUS.)  Expression syntax corresponds quite closely to C
 expression syntax.  Unlike most Unix utilities, Perl does not
 arbitrarily limit the size of your data--if you've got the memory,
 Perl can slurp in your whole file as a single string.  Recursion is of
-unlimited depth.  And the tables used by hashes (previously called
+unlimited depth.  And the tables used by hashes (sometimes called
 "associative arrays") grow as necessary to prevent degraded
-performance.  Perl uses sophisticated pattern matching techniques to
+performance.  Perl can use sophisticated pattern matching techniques to
 scan large amounts of data very quickly.  Although optimized for
 scanning text, Perl can also deal with binary data, and can make dbm
 files look like hashes.  Setuid Perl scripts are safer than C programs
@@ -298,9 +298,7 @@ and syswrite().)
 
 While none of the built-in data types have any arbitrary size limits
 (apart from memory size), there are still a few arbitrary limits:  a
-given variable name may not be longer than 255 characters, and no
-component of your PATH may be longer than 255 if you use B<-S>.  A regular
-expression may not compile to more than 32767 bytes internally.
+given variable name may not be longer than 251 characters.
 
 You may mail your bug reports (be sure to include full configuration
 information as output by the myconfig program in the perl source tree,
index 23bf0f3..205c6af 100644 (file)
@@ -884,6 +884,14 @@ a B<-e> switch.  Maybe your /tmp partition is full, or clobbered.
 (F) The create routine failed for some reason while trying to process
 a B<-e> switch.  Maybe your /tmp partition is full, or clobbered.
 
+=item regexp too big
+
+(F) The current implementation of regular expressions uses shorts as
+address offsets within a string.  Unfortunately this means that if
+the regular expression compiles to longer than 32767, it'll blow up.
+Usually when you want a regular expression this big, there is a better
+way to do it with multiple statements.  See L<perlre>.
+
 =back
 
 =head1 BUGS
index 29ed897..6b4c127 100644 (file)
@@ -2241,14 +2241,6 @@ expression compiler gave it.
 
 (P) A "can't happen" error, because safemalloc() should have caught it earlier.
 
-=item regexp too big
-
-(F) The current implementation of regular expressions uses shorts as
-address offsets within a string.  Unfortunately this means that if
-the regular expression compiles to longer than 32767, it'll blow up.
-Usually when you want a regular expression this big, there is a better
-way to do it with multiple statements.  See L<perlre>.
-
 =item Reversed %s= operator
 
 (W) You wrote your assignment operator backwards.  The = must always
index 557d418..702d8bf 100644 (file)
@@ -15,7 +15,7 @@ operator.  A unary operator generally provides a scalar context to its
 argument, while a list operator may provide either scalar and list
 contexts for its arguments.  If it does both, the scalar arguments will
 be first, and the list argument will follow.  (Note that there can ever
-be only one list argument.)  For instance, splice() has three scalar
+be only one such list argument.)  For instance, splice() has three scalar
 arguments followed by a list.
 
 In the syntax descriptions that follow, list operators that expect a
@@ -1473,7 +1473,7 @@ L</last>, L</next>, and L</redo> for additional control flow.
 Enter BLOCK as LOOPVAR set in turn to each element of LIST.
 For example:
 
-       foreach $rolling (@stones) { print "rolling $stone\n" }
+       foreach $rolling (@stones) { print "$rolling stone\n" }
 
        foreach my $file (@files)  { print "file $file\n" }
 
index 35d6f6f..d60c8dc 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -173,14 +173,6 @@ static int dooneliner _((char *cmd, char *filename));
 
 #endif /* no flock() */
 
-#ifndef MAXPATHLEN
-#  ifdef PATH_MAX
-#    define MAXPATHLEN PATH_MAX
-#  else
-#    define MAXPATHLEN 1024
-#  endif
-#endif
-
 #define ZBTLEN 10
 static char zero_but_true[ZBTLEN + 1] = "0 but true";
 
diff --git a/util.c b/util.c
index 1c5ea59..845ae4c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2459,7 +2459,7 @@ find_script(char *scriptname, bool dosearch, char **search_ext, I32 flags)
     dTHR;
     char *xfound = Nullch;
     char *xfailed = Nullch;
-    char tmpbuf[512];
+    char tmpbuf[MAXPATHLEN];
     register char *s;
     I32 len;
     int retval;