| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andreas Klussmann <andreas@infosys.heitec.net> wrote
> using
> $x =~ m:(?:xx):;
> instead of
> $x =~ m:(?\:xx):;
> terminates perl immediatly (not in the debuger) and gives
> Sequence (?
> and nothing more as error message.
This illustrates at least three bugs:
i) The message is truncated because of the "NUL in argument to die"
problem which I reported some time ago (and provided a kludge for
in Carp.pm).
ii) In any case, it would have produced an incorrect error message.
iii) This error and many (most? all?) other parsing errors in regular
expressions cause compilation to be terminated.
The attached patch fixes (i) and (ii) but not (iii). It also extends
the regexp tests to test the error messages generated rather than just
note that an error has occurred.
Additional points which I'll leave to someone else:
a) (iii) needs fixing.
b) I note that many regexp error messages are incorrect, as they quote
the regexp as /(?/ rather than as (e.g.) m:(?: or s:(?::.
c) My understanding of Chip's rework of sprintf was that it now provided
a mechanism for including strings with embedded NULs. Could this
be used to provide a complete fix for (i) rather than kludging each
case as it turns up?
d) I strongly suspect that the regexp tests a\ and 'a\'i
are not doing what the author intended. I've left them so they
say "ok" regardless. (Hint: \' is recognised in a '' string.)
p5p-msgid: E0wtbhv-0005Mm-00@ursa.cus.cam.ac.uk
|
| |
|
| |
|
|
|
|
| |
[editor's note: from history.perl.org. The sparc executables
originally included in the distribution are not in this commit.]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subject: pack(hh,1) dumped core
Subject: read didn't work from character special files open for writing
Subject: close-on-exec wrongly set on system file descriptors
Subject: //g only worked first time through
Subject: perl -v printed incorrect copyright notice
Subject: certain pattern optimizations were botched
Subject: documented some newer features in addenda
Subject: $) and $| incorrectly handled in run-time patterns
Subject: added tests for case-insensitive regular expressions
Subject: m'$foo' now treats string as single quoted
|
|
So far, 4.0 is still a beta test version. For the last production
version, look in pub/perl.3.0/kits@44.
|