summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* perl 2.0 patch 1: removed redundant debugging code in regexp.cperl-2.001Larry Wall1988-06-28152-4596/+12413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you used ++ on a variable that had the value '' (as opposed to being undefined) it would increment the numeric part but not invalidate the string part, which could then give false results. Berkeley recently sent out a patch that disables setuid #! scripts because of an inherent problem in the semantics as they are currently defined. If you have installed that patch, your setuid and setgid bits are useless on scripts. I've added a means for perl to examine those bits and emulate setuid/setgid scripts itself in what I believe is a secure manner. If normal perl detects such a script, it passes it off to another version of perl that runs setuid root, and can run the script under the desired uid/gid. This feature is optional, and Configure will ask if you want to do it. Some machines didn't like config.h when it said #/*undef SYMBOL. Config.h.SH now is smart enough to tuck the # inside the comment. There were several small problems in Configure: the return code from ar was hidden by a piped call to sed, so if ar failed it went undetected. The Cray uses a program called bld instead of ar. Let's hear it for compatibilty. At least one version of gnucpp adds a space after symbol interpolation, which was giving the C preprocessor detector fits. There was a call to grep '-i' that needed to have the -i protected by a backslash. Also, Configure should remove the UU subdirectory that it makes while running. "make realclean" now knows about the alternate patch extension ~. In the manual page, I fixed some quotes that were ugly in troff, and did some clarification of LIST, study, tr and unlink. regexp.c had some redundant debugging code. tr/x/y/ could dump core if y is shorter than x. I found this out when I tried translating a bunch of characters to space by saying something like y/a-z/ /.
* perl 1.0 patch 14: a2p incorrectly translates 'for (a in b)' construct.Jeff Siegal1988-02-012-4/+7
| | | | | The code a2p creates for the 'for (a in b)' construct ends up assigning the wrong value to the key variable.
* perl 1.0 patch 13: fix for faulty patch 12, plus random portability glitchesKriton Kyrimis1988-02-019-13/+89
| | | | | | | | | | I botched patch #12, so that split(' ') only works on the first line of input due to unintended interference by the optimization that was added at the same time. Yes, I tested it, but only on one line of input. *Sigh* Some glitches have turned up on some of the rusty pig iron out there, so here are some unglitchifications.
* perl 1.0 patch 12: scripts made by a2p doen't handle leading white space ↵Kriton Kyrimis1988-02-015-13/+49
| | | | | | | | | | | | | | right on input Awk ignores leading whitespace on split. Perl by default does not. The a2p translator couldn't handle this. The fix is partly to a2p and partly to perl. Perl now has a way to specify to split to ignore leading white space as awk does. A2p now takes advantage of that. I also threw in an optimization that let's runtime patterns compile just once if they are known to be constant, so that split(' ') doesn't compile the pattern every time.
* perl 1.0 patch 11: documentation upgradeMark Biggar1988-01-314-17/+69
| | | | | | | | I documented the new eval operator for patch 8 but my automatic patch generator overlooked it for some reason. Here's the documentation for the eval operator, along with some other documentation changes suggested by Mark.
* perl 1.0 patch 10: if your libc is in a strange place, Configure blows upPeter E. Yee1988-01-292-3/+3
| | | | | There's a line in Configure that says libc=ans which should say libc=$ans. This only shows up if libc.a isn't in /lib.
* perl 1.0 patch 9: 3 portability problemsMarnix (ain't unix!) A. van Ammers1988-01-294-9/+15
| | | | | | | | | | | | | | | | | | | | There's a #define YYDEBUG; in perl.h that ought to be #define YYDEBUG 1. Interesting that it works the former way on any systems at all. Patch 2 was defective and introduced a couple of lines with missing right parens. Learn something old every day... Some awks can't handle awk '$6 != "" {print substr($6,2,100)}' </tmp/Cppsym2$$ ;; if field 6 doesn't exist. Changed conditional to NF > 5. There was also a problem that I fixed in metaconfig that involved Configure grepping .SH files out of MANIFEST when the .SH was only in the commentary. This doesn't affect perl's Configure because there aren't any comments containing .SH in the MANIFEST file. But that's the nice thing about metaconfig--you generate a new Configure script and also get the changes you don't need (yet).
* perl 1.0 patch 8: perl needed an eval operator and a symbolic debuggerLarry Wall1988-01-2717-41/+690
| | | | | | | | | | | I didn't add an eval operator to the original perl because I hadn't thought of any good uses for it. Recently I thought of some. Along with creating the eval operator, this patch introduces a symbolic debugger for perl scripts, which makes use of eval to interpret some debugging commands. Having eval also lets me emulate awk's FOO=bar command line behavior with a line such as the one a2p now inserts at the beginning of translated scripts.
* perl 1.0 patch 7: use of included malloc.c should be optionalArnold D. Robbins1988-01-264-8/+53
| | | | | | | The version of malloc.c that comes with perl was not really intended to be used everywhere--it was included mostly for debugging purposes. It's a nice little package, however, so I'm making it optional (via Configure) as to whether you want it or not.
* perl 1.0 patch 6: printf doesn't finish processing format string when out of ↵Andrew Burt1988-01-252-3/+11
| | | | | | args. printf "%% %d %%", 1; produces "% 1 %%", which is counterintuitive.
* perl 1.0 patch 5: a2p didn't make use of the config.h generated by ConfigureArnold D. Robbins1988-01-252-2/+13
| | | | | | The a2p program used index() and bcopy(), both of do not exist everywhere. Since Configure was already figuring out about those functions, it is fairly trivial to get a2p to make use of the info.
* perl 1.0 patch 4: make depend doesn't work if . isn't in your PATHPaul Eggert1988-01-252-3/+6
| | | | make depend doesn't work if . isn't in your PATH.
* perl 1.0 patch 3: Patch 2 was incompleteLarry Wall1988-01-232-1/+21
| | | | | | I left one file out of patch 2. This is perhaps forgivable since it is a file that is produced automatically by metaconfig along with Configure.
* perl 1.0 patch 2: Various portability fixes.Andrew Burt1988-01-2310-28/+124
| | | | Some things didn't work right on System V and Pyramids.
* perl 1.0 patch 1: Portability bugs and one possible SIGSEGVDan Faigin, Doug Landauer1988-01-218-72/+214
| | | | | | | | On some systems the Configure script and C compilations get warning messages that may scare some folks unnecessarily. Also, use of the "redo" command if debugging is compiled in overflows a stack on which the trace context is kept.
* a "replacement" for awk and sedperl-1.0Larry Wall1987-12-18108-0/+20388
[ Perl is kind of designed to make awk and sed semi-obsolete. This posting will include the first 10 patches after the main source. The following description is lifted from Larry's manpage. --r$ ] Perl is a interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it. (Language historians will also note some vestiges of csh, Pascal, and even BASIC-PLUS.) Expression syntax corresponds quite closely to C expression syntax. If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capabilities or must run a little faster, and you don't want to write the silly thing in C, then perl may be for you. There are also translators to turn your sed and awk scripts into perl scripts.