| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
These functions can read beyond the end of their input strings if
presented with malformed UTF-8 input. Perl core code has been converted
to use other functions instead of these.
|
|
|
|
|
| |
These functions should be used in preference to the old ones which can
read beyond the end of the input string.
|
|
|
|
|
|
|
|
| |
These functions are like utf8_to_uvuni() and utf8_to_uvchr(), but their
name implies that the input UTF-8 has been validated.
They are not currently documented, as it's best for XS writers to call
the functions that do validation.
|
|
|
|
|
|
|
|
| |
The existing functions (utf8_to_uvchr and utf8_to_uvuni) have a
deficiency in that they could read beyond the end of the input string if
given malformed input. This commit creates two new functions which
behave as the old ones did, but have an extra parameter each, which
gives the upper limit to the string, so no read beyond it is done.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
These functions were replaced long ago, apparently in 5.8, but I didn't
verify that for sure.
|
| |
|
| |
|
|
|
|
| |
Fix the git commit line as well.
|
| |
|
|
|
|
| |
This outdents code to line up vertically with surrounding text
|
|
|
|
|
| |
This allow mktables to be compiled for earlier Unicode versions and
work for them.
|
|
|
|
|
|
|
|
| |
The Name table can have multiple names for each code point. The highest
priority ones are first in the file. Prior to this patch, adding a
high priority name to a code point which already had the same name, the
old name could be retained, leaving two identical names for the code
point. This patch causes the lower-priority one to be deleted.
|
|
|
|
|
|
|
|
|
| |
Commit b91749bce0ff3d86c6e210a0b35289b4ad36c144 assumed that a single
0 was a leading 0. This inappropriately makes a table appear to be hex
when it isn't. This currently affects the kPrimaryNumeric property
which is part of the Unihan database, and is not normally generated by
mktables; it is generated only if an installation decides they want
to compile Perl to use the Unihan properties.
|
|
|
|
|
|
| |
The type of an 'a' table should not be changed to 's'. This bug
happened currently only if someone changed mktables to output one of the
optional files.
|
|
|
|
|
| |
These concatenated the package name with the beginning of the text with
no intervening punctuation. Add also the function within the package
|
|
|
|
|
|
| |
Should this message ever get triggered, it would fail because the
precedence is wrong: the argument to hex needs parens. Also reword
somewhat for clarity.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, fix the spelling of html.
|
|
|
|
|
| |
This won't change the rendered pod, but will clarify to anyone thinking to
patch the "mistake" that the seeming typo is intentional.
|
|
|
|
|
|
|
| |
Porting/bisect.pl is intended to cover 90% of use cases, whilst being simpler
to use than git bisect, so mention it first. Condense the description of
git bisect slightly - it's giving implementation details which duplicate
git help bisect, which we already refer the reader to.
|
| |
|
|
|
|
|
| |
This both avoids cluttering the flow of manpage with auxiliary data, and
saves the user from having to extract the script from within the pod file.
|
|
|
|
|
| |
ccache 2.4 doesn't support the --version parameter, only -V. ccache 3
supports both.
|
|
|
|
| |
(Done as a second commit to avoid confusing git's rename detection.)
|
|
|
|
|
|
| |
Installing the Perl 5 to-do list as a manpage isn't that useful to anyone, as
it's a snapshot that becomes increasingly out of date. Much better to point
anyone interested in contributing direct to git HEAD, to view the current list.
|
| |
|
|
|
|
|
|
|
|
| |
Porting/sync-with-cpan hasn't automated all situations yet. In particular,
it assumes the FILE entry has just one element, and that element is a
directory. It also does not know what to do with MAP. If we determine
this situation, we terminate the program before making any changes.
Although there's the --force option for the braves.
|
|
|
|
|
|
| |
By default, the script removes the tarball of the new distributions.
However, if the --tarball option was given (and hence, the file was not
downloaded from CPAN), we opt to keep this file around.
|
|
|
|
|
|
| |
/usr/bin/perl on dromedary is 5.8.8; but the script requires 5.10.
By using #!/usr/bin/env, we give the user more control over which perl
should be used. (And this benefits not just dromedary usesr)
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
current_bundle() was added after 5.14.0 was released, so has never been in
a stable release. Hence it's totally safe to kill it.
|
| |
| |
| |
| |
| | |
normalise_hints() was added after 5.14.0 was released, so has never been in
a stable release. Hence it's totally safe to kill it.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There were a couple of inconsistencies (shift with/without an explicit @_,
exists with/without(), !@_ vs @_ == 0) which turn out to date back to
before 5.10.0
Also fix an inadvertent use of a single element array slice with a simple
array lookup in current_bundle().
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead, directly access feature's package variables, as B::Deparse already
does in 14 other places. (It also has its tentacles firmly into strict
and warning's package variables - it's not fussy)
feature::current_bundle() was not part of the documented API of feature
either, so B::Deparse wasn't clean previously.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also, require feature unconditionally.
Deparse already directly uses data from feature, switch and warnings, so
this isn't a new trend in encapsulation breakage. Previously Deparse copied
the value of $feature::hint_mask, and lazily loaded require in 4 places.
|
| | |
|
| |
| |
| |
| | |
Converge the code, so that it's easy to extract out into a subroutine.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 6634bb9d0ed117be introduced a regression, causing this
use 5.10.0;
say "Perl rules";
to be deparsed as C<CORE::say>, not C<say>, etc. It wasn't actually possible
to write tests for this within the t/deparse.t framework until the recent
refactoring.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These mostly codify the current output of B::Deparse, which is not invalid,
but might not be considered to be the optimal output. (It's defensive, in
that it uses C<no feature;> which will ensure consistent behaviour whatever
pragma context the output is evaluated in.)
Some are TODO for the cases where B::Deparse is wrongly outputting
C<CORE::say> instead of plain C<say> and C<CORE::__SUB__> instead of plain
C<__SUB__>.
|
| |
| |
| |
| |
| | |
Only use feature ':5.10' in those tests that actually need it. This will let
us add tests for deparsing without any features enabled.
|
| |
| |
| |
| |
| |
| | |
Call ambient_pragmas() before each deparse test. This will allow use to remove
the constraints of the current default, which is to always run under
use feature ":5.10";
|