| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- hyperlink function names
- hyperlink variable names
- hyperlink module names
- hyperlink $Config{...} entries
- hyperlink some C function names
- hyperlink ``/qx, tr///, bitwise operators, BEGIN
- remove bareword filehandles from examples
- remove 2-arg open from examples
- recommend 3-arg open always
- clean up weird formatting and use \Q \E in $Config{_exe} example
- mention Time::Piece (a core module) for date parsing (-> strptime)
- prefer 'use' for loading modules unless there's a reason to 'require'
- remove paragraph about using 'use bytes' to indicate that your source
code is in some native 8-bit encoding (that's not what 'use bytes'
does and its use is "strongly discouraged" anyway)
- consistently use 2 spaces after a period
- consistently spell $Config{foo} as $Config{foo}, not $Config{'foo'}
sometimes
- fix some POD markup
- remove reference to 'pl2cmd' because I've never heard of it and all
search results on the web point back to copies of perlport
- remove claim that binmode is a no-op on non-windows systems (that
hasn't been true since the introduction of I/O layers and Unicode text
files)
- realign some tables
- don't describe sets of characters as "matching tr/...//" because tr///
isn't really a matching operator (it can be used to *count*, but
that's not obvious to most people)
- remove nonsensical VOS example that claims to check the architecture
by examining @INC but doesn't actually use @INC or check the
architecture
- 'chown' can't be both "not implemented" and "implemented, but does
nothing" on Win32
- remove "semantics of raise()" wording from 'kill' because it's unclear
(raise doesn't send a signal to another process anyway)
- remove 'sockatmark' entry because there is no such built-in function
(the closest thing I can find is IO::Socket->atmark, which already
carries appropriate portability warnings)
- in 'stat', consistently refer to fields by their names from
perlfunc/stat
- add myself to list of contributors
|
|
|
|
|
| |
I messed up my search and replace and didn't notice it when
committing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit is the first step in making locale handling thread-safe.
[perl #127708] was solved for 5.24 by adding a mutex in this function.
That bug was caused by the code changing the locale even if the calling
program is not consciously using locales.
Posix 2008 introduced thread-safe locale functions. This commit changes
this function to use them if the perl is threaded and the platform has
them available. This means that the mutex is avoided on modern
platforms.
It restructures the function to return a mortal copy of the error
message. This is a step towards making the function completely thread
safe. Right now, as documented, if you do 'use locale', locale handling
isn't thread-safe.
A global C locale object is created and used here if necessary. It is
destroyed at the end of the program.
Note that some platforms have a strerror_r(), which is automatically
used instead of strerror() if available. It differs form straight
strerror() by taking a buffer to place the returned string, so the
return does not point to internal static storage. One could test for
the existence of this and avoid the mortal copy.
|
|
|
|
|
| |
The next commit causes one test in the suite to use more than the
previously allowed max.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit:
commit 533367d84727b326a81c972a3555d6a7847a4558
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Sun Jun 24 22:24:49 2001 +0000
Move the pack warnings to their own file, as pointed
out by Spider.
copied several tests into pp_pack which have nothing to do with pack. Most of them were still in pp, and were thus redundant. The ‘Use of uninitialized value $a in scalar dereference’ test was removed from pp, but I see now that there is a nearly identical test elsewhere in pp, added by this commit:
commit 3b434eb14b7fab4ed6941403c71b683066ab60a2
Author: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Date: Tue Sep 18 00:48:05 2001 +0200
new tests
Message-Id: <20010917224805.C11744@rafael>
|
|
|
|
|
| |
A value may legitimately be marked SvTEMP even when it is not about
to be freed.
|
|
|
|
|
| |
These should have been in the recent commit
6c5b02ac7a9ff1c91f2ca46bedd89ba9012bb34f
|
|
|
|
| |
perl -pi -e 'BEGIN { %map = split " ", join "", `cat pb2rt.txt` } s/(?<!\d)\d{8}\.\d{3}(?!\d)/$& (#$map{$&})/g' *.[ch]
|
|
|
|
|
|
| |
This is my quick-and-dirty script:
find dist -print0 | xargs -0 perl -pi -e 'BEGIN { %map = split " ", join "", `cat pb2rt.txt` } s/(?<!\d)\d{8}\.\d{3}(?!\d)/$& (#$map{$&})/g'
|
|
|
|
|
| |
Some of this is ugly, but that’s because I wrote a one-liner to do
it. It’s good enough for practical purposes.
|
|
|
|
|
|
|
|
| |
[DELTA]
0.68 Fri Jul 29 08:01:12 BST 2016
* Fix unconditional @INC localisation
|
| |
|
| |
|
|
|
|
|
| |
so that we get the benefit of the assertions for non-debugging builds
but without any run-time penalty.
|
|
|
|
|
|
| |
On VMS, the test suite collapses multiple newlines into one in
order to work around a bug in the pipe implementation, so the
test needs to allow for that.
|
|
|
|
|
|
|
| |
This removes some '#ifdef EBCDIC' so as to make more code common between
the platforms. This is at the expense of some efficiency, but the
affected code only runs when compiling utilities, so ease of maintenance
wins out.
|
| |
|
|
|
|
|
|
|
|
|
| |
This extends the mechanism we added in 5.24 to more macros to make sure
that a macro is called with an integer and not a pointer. It adds a
"| 0"
to the macro parameter, which is illegal if the parameter is a pointer.
|
|
|
|
| |
re-wrap a comment.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
[DELTA]
0.66 Wed Jul 27 08:22:53 BST 2016
* Add FORCE_SAFE_INC option to fix CVE-2016-1238
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In commit 6745174b561 I changed the multi_open and multi_close
parser pastruct members (known as PL_multi_open/close in toke.c) from
char to UV.
I failed to change the localization code in S_sublex_start:
SAVEI8(PL_multi_close);
So on big-endian architectures only the most significant byte would be
localized. That meant that effectively no localization would happen
for ASCII string delimiters.
In S_sublex_done:
LEAVE;
if (PL_multi_close == '<')
PL_parser->herelines += l - PL_multi_end;
That LEAVE undoes the localization. '<' for PL_multi_close is a spe-
cial value that can only happen for here-docs. The ->herelines line
makes sure that line numbers are correct after a here-doc.
What ended up happening was that s//<<END/e would throw off line num-
bers after the here-doc body. PL_multi_close would end up being set
to '<', not '/', when the lexer was finishing up the s///, so it
treated it like a here-doc and screwed things up. This resulted in
the test failures in ticket #128747.
I found that we also had a bug on little-endian machines. But to get
the localization of the *least* sigificant byte to screw things up,
you have to try something other than s//<<END/e:
use utf8;
<<END;
${
#line 57
qq || }
END
warn; # line 59
Replace the pipes with lightning bolts:
use utf8;
<<END;
${
#line 57
qq ϟϟ }
END
warn; # line 7
and you get line 7 instead of 59. In this case, the inner construct
has a delimiter character whose code is > 255, but only the lower
8 bits get localized. So when the localization unwinds, you get
ord("ϟ") & 0xff | ord("<") instead of just ord("<"), resulting in the
here-doc line number handling being skipped.
This commit fixes the localization and adds the little-endian test.
|
|
|
|
| |
I need to call it from toke.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The changes to parallelize win32 perl builds with dmake and gmake
assumed that ppport.h only provided macros and functions that are
already provided by the latest perl.
This turns out not to be the case, preventing the building of
a new Scalar-List-Utils with dmake and gmake.
I only briefly considered changing Scalar-List-Utils - the difference
in build systems is what lead to the failure, so properly build ppport.h
so that all Win32 builds have a full ppport.h just as POSIXish builds
do.
|
|
|
|
| |
(And in VAX, that is exactly what happens with the infinities.)
|
| |
|
| |
|
| |
|
|
|
|
| |
Though S, T, and X are not really pure VAX formats per se.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- test explicitly for $^O equivalence (faster, simpler),
as suggested in #126380
- allow also \b-/i match of archname
- however, do not explicitly anchor the archname,
as suggested in #126380, since if the regexp needs that, it can do so
- \Q-\E-protect the $^O, for paranoia
- for skip, use test.pl skip() instead of ok(1),
pointed out privately by Dan Collins
- drop the newly added /xxx/ functionality to simplify things
|
|
|
|
|
|
|
| |
The upper latin1 characters when expressed as \N{U+...} were failing.
This was due to trying to convert them to UTF-8 when the result isn't
UTF-8. I added a test for \N{name} as well, though these were not
affected by this regression.
|
|
|
|
| |
fixed by cb65013.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output of
perl -CS -e 'use utf8; q«'
is now correctly:
Can't find string terminator "«" anywhere before EOF at -e line 1.
Previously, the first byte of the delimiter (as encoded in UTF-8)
would be used instead:
Can't find string terminator "Â" anywhere before EOF at -e line 1.
|
|
|
|
|
|
| |
We will need to store characters > 255 in here.
Also, cast accordingly in toke.c.
|
|\
| |
| |
| |
| | |
Some of these changes are unnecessary if we remove the default . from
@INC for 5.26.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
I didn't update base.pm since that seems more likely to be loading
modules *expected* to be in the current directory. Opinions
welcome.
|
| |
| |
| |
| |
| |
| | |
Add a note about version numbering, since if we use X.XX_XX versions
in blead it's harder to find an unused version number if the module
is modified in maint.
|
| | |
|
| |
| |
| |
| |
| |
| | |
I tried to follow the numbering convention of the module,
bumping every module if the versions are synchronized, bumping
just the primary module if not.
|
|/
|
|
|
|
|
| |
While currently Encode and Storable are know to attempt to load modules
not included in the core, updates to other modules may lead to those
also attempting to load new modules, so be safe and remove . for those
as well.
|