| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Tick off 5.23.3
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
g++ told me so.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we don’t apply scalar context to stat’s argument, then it doesn’t
get its context marked:
$ ./perl -Ilib -MO=Concise -le 'stat stat stat'
7 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
6 <1> stat vK/1 ->7
5 <1> stat K/1 ->6
4 <1> stat K/1 ->5
- <1> ex-rv2sv sK/1 ->4
3 <#> gvsv[*_] s ->4
-e syntax OK
and it might think that it is in void context at run time:
$ ./perl -Ilib -le 'print 1, 2, 3,(stat stat stat), 4, 5, 6'
1456
It ate my stack items!
If it reads past the beginning of the stack, it can crash.
Just apply scalar context, and Bob’s your uncle, of course.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rationale for this change almost twenty years ago was that
the "CRTL's emulation of Unix-style signals and kill()" couldn't
send signals that got noticed by images running in supervisor
mode. This hasn't been true of the CRTL for some time, and we
haven't been using the CRTL's kill for a very long time either.
So remove this once-but-no-longer-necessary hack. Experiments
show that it is still possible to kill any process we want,
assuming the signalling process has the necessary privileges (or
owns the target process).
TODO: implement killpg() -- if Win32 can do it, surely it's
possible on VMS.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should make more CPAN and other code work without change. Usually,
unwittingly, code that says UNI_IS_INVARIANT means to use the native
platform code values for code points below 256, so acquiesce to the
expected meaning and make the macro correspond. Since the native values
on ASCII machines are the same as Unicode, this change doesn't affect
code running on them.
A new macro, OFFUNI_IS_INVARIANT, is created for those few places that
really do want a Unicode value. There are just a few places in the Perl
core like that, which this commit changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
$Revision: 2.77 $ $Date: 2015/09/15 13:53:27 $
! Unicode/Unicode.xs Unicode/Unicode.pm
Address RT#107043: If no BOM is found, the routine dies.
When you decode from UTF-(16|32) without -BE or LE without BOM,
Encode now assumes BE accordingly to RFC2781 and the Unicode
Standard version 8.0
https://rt.cpan.org/Public/Bug/Display.html?id=107043
! Makefile.PL encoding.t
Mend pull/42
! Encode.xs Makefile.PL encoding.pm encoding.t
Pulled: precompile 1252 table as that is now the Pod::Simple default
https://github.com/dankogai/p5-encode/pull/42
|
| |
|
|
|
|
|
| |
Tracking upstream commit dd1e236abed699069 because without
it the build is broken.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-reonly/Extensions_reonly target, which is never used, didn't work in
parallel because it was using left to right execution of an upstream dep
to create build products, that is incompatible with parallel building, fix
by trimming down the list of deps, $(UNIDATAFILES) and Extensions_reonly
know how to build themselves
-regnodes psuedotarget is redundant, it is just an alias for ..\regnodes.h
which isn't a build product, remove regnodes and just use ..\regnodes.h
instead, smaller build graph/less parsing for dmake tool
-I am not questioning relationship between reonly, ..\regnodes.h,
..\regcharclass.h, ..\regcomp.o, $(UNIDATAFILES), Extensions_reonly
since regnodes.h and regcharclass.h are git tracked files and not build
products, and things work well enough as is
-perlglob.exe is needed to build extensions, the natural race conditions
that exist in parallel building ment that it was usually getting built
early enough that it being missing wasn't noticed, and "rebasePE" target
made sure it existed eventually. Some Makefile.PLs indirectly warned that
perlglob was missing from the cmd.exe complaining about perlglob being
missing but didnt cause an non-zero to happen from the Makefile.PL
process. Also since perlglob.exe is installed into the final installed
perl, probably pointlessly since full perl is not built with
PERL_EXTERNAL_GLOB I think an installed perl's perlglob.exe was being
used when I developed commit 3bdc51af3f and related patches. Since re,
DynaLoader, and lib are a very limited fixed list of modules, and they
dont need perlglob.exe, they dont need to get it as a dep.
-reorder the deps in Extensions_static and Extensions_nonxs so permanent
files, rarely changed files are on the left side, and build products are
on the right. Maybe some kind of optimization happens inside dmake due to
the first couple deps being already built (because they are permanent).
-remove ..\lib\buildcustomize.pl dep, it is redundant. Its other name is
HAVEMINIPERL, and CONFIGPM can't exist without miniperl. Less nodes in
dmake's internal graph, since dmake's dep finding algorithm is very
inefficient and repetitive.
-gmake is supported since commit 342634f3c8 but GNUmakefile doesn't
support parallel (-j) building
|
|
|
|
|
|
|
|
|
| |
B was still using some PERL_VERSION checks
in multiple places whereas it's part of core.
This commit removes this dead code and bump B::VERSION.
For archeology we can still use git if we want to know
what it looks like in an older version.
|
|
|
|
|
|
|
|
|
|
| |
Instead of doing a dTHX introduced in
22b433eff9a1ffa2454e18405a56650f07b385b5. I should have pointed out in
that commit message, that instead of doing a full-fledged UTF-8
well-formedness check, it does a quick sanity check sufficient to
prevent looping
Spotted by Vincent Pitt
|
|
|
|
|
|
|
| |
This reverts commit 24631c4f6929bc824e657b74b2edfada4c8d05b0.
The new flock emulation for amigaos now tested with parallel builds
and found to fare well.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The regex engine got into an infinite loop because of the malformation.
It is trying to back-up over a sequence of UTF-8 continuation bytes.
But the character just before the sequence should be a start byte. If
not, there is a malformation. I added a test to croak if that isn't the
case so that it doesn't just infinitely loop. I did this also in the
similar areas of regexec.c.
Comments long ago added to the code suggested that we check for
malformations in the vicinity of the new tests. But that was never
done. These new tests should be good enough to prevent looping, anyway.
|
|
|
|
|
|
|
|
|
| |
This commit just changes a test to look for UTF-8 invariants instead of
legal UTF-8 start characters. The effective difference is that now all
non-invariants go to the general utf8 handling function, which is
equipped to find malformed UTF-8. Previously, this code would
improperly accept malformations that were illegal start characters or
continuation characters.
|
| |
|
| |
|
|
|
|
| |
so that fewer are likely to exceed 79 columns
|
| |
|
|
|
|
|
|
|
|
| |
Consistent formatting (and using "Andy Broad" style) for the amigaos4 code:
astyle --style=bsd --indent=tab=4 amigaos4/*.[hc]
(amigaos patch preparation script automates this)
|
|
|
|
| |
For preprocessor code use 2-indent instead of 4-indent.
|
| |
|
| |
|
|
|
|
| |
(the underlying UNIX emulation has changed)
|
|
|
|
|
| |
Beware: not an exact implementation, the locks follow the OS level
filehandle not the process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Largely reimplements 839a9f02, 54fa14d7, e8432c63, 40262ff4.
The upside is that now doio.c and pp_sys.c have much less AmigaOS
specific ifdefs. As a downside, the exec code is now forked (pun
only partially accidental.)
The earlier story regarding fork+exec, that the AmigaOS creating
thread doesn't terminate but instead continues running is both true
and false. The more detailed story is that the user-observable
behaviour is as with POSIX/UNIX. The thread that created the new
"task" (to use the AmigaOS terms) does hang around -- but all it
does is to wait for the new task to terminate, and more importantly,
it holds on to the resources like filehandles. If the task were to
immediately terminate, the resources would be reclaimed by the kernel.
|
| |
|
| |
|
| |
|
|
|
|
| |
These were added by 29b04a70d1bf9a10be65363f3f8d6dae44cfa6fc
|
|
|
|
|
| |
It previously always said 'use if', even if 'no if' was what was
specified
|
|
|
|
|
|
|
|
|
|
| |
This ticket was originally because the requester did not realize the
function Unicode::UCD::charscript took a code point argument instead of
a chr one. It was rejected on that basis. But discussion here
suggested it would be better to warn on bad input instead of just
returning <undef>. It turns out that all other routines in Unicode::UCD
but charscript and charblock already do warn. This commit extends that
to the two outlier returns.
|
|
|
|
|
|
|
|
|
|
| |
- make the watchdog time exceed the maximum time for the "very basic times
test". This doesn't prevent the test from failing, but prevents the
entire test script from being killed by the watchdog if the times()
test does fail
- do more work inside the loop, with the previous "burn cycles" loop
system time was increasing but user time stayed at its starting value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 638ca15 earlier in the 5.23 development cycle corrected a
long-standing bug in sprintf. Not surprisingly, code outside the
core built on this bug will now exhibit a different behavior.
CPAN library Text-sprintfn is one such case. One test in its
test suite began to fail; see
https://rt.cpan.org/Ticket/Display.html?id=105989.
This commit adds the test which failed in Text-sprintfn's t/01-basic.t to our
t/op/sprintf.t with the corrected test result. It also adds a 'printf'
version of that corrected expectation to pod/perlfunc.pod.
For: RT #125956
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
7.10 Thu Sep 10 19:38:55 BST 2015
Bug fixes:
- Fix an issue with quoting of dist_ci target on Win32
7.08 Tue Sep 8 20:24:15 BST 2015
This release reverts all the changes since v7.04 until such time
as the regressions we have found in the "wild" of CPAN can be
tamed
ExtUtils::Command has been included in this release as it was
reincorporated in v7.06
The following bug fixes have also been included:
- RT#100268 fix wrong variable being used
- Check exit status for commands in "make ci" target
- Fix distsignature dependencies for parallel make
- The bundled Encode::Locale has been updated to 1.04
|
| |
|
| |
|
|
|
|
|
|
|
| |
[DELTA]
0.014 2015-09-12 00:29:37+02:00 Europe/Amsterdam
Add bitwise to list of known features
|
|
|
|
|
|
|
|
|
| |
This reverts commit 801fcc250783bc56ec8033a5940b3257bcd9a7db.
This commit fixed some compiler warnings in S_regmatch() by adding
a new function-scoped var. I have a better fix - to be applied shortly -
that instead uses tmp boolean vars declared in a small scope as and where
needed.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The ticket proposes a new format to output IV's as hex using capital
letters for the digits A-F. However, this isn't necessary in this case,
as even though these are IV's, they can never be negative, and we have
an existing format that prints these fine.
More work needs to be done to fix the problem if something larger than
an IV is used (currently it loops).
|