| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
We need to unixify the current working directory since we're going
to be comparing to the pod root that has been unixified internally
in Pod::Html.
Also clean up all versions of the generated files.
|
|
|
|
|
|
|
|
|
|
| |
This is mostly borrowed from CPANPLUS with additional tweaks to
handle corner cases presented by the Pod::Html tests. It seems
to work on VMS, Windows, and Mac OS X.
Also tweak _save_page to make the call to ab2rel more robust in
the case wherethe base is a special string indicating the current
working directory ('./', '[]', or '.\') rather than a literal path.
|
|
|
|
|
| |
Windows has FC (file compare), VMS has DIFFERENCES, and Linux is
certainly not the only OS that can do unified diff.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This commit looks for the passed-in charset, and overrides it only if it
is /d and the pattern requires /u. Previously the passed-in value was
ignored.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was an off-by-one error caused by my failing to realize that things
had to be done differently at the 255/256 boundary depending on whether
U+00FF matched or did not match the property.
Two properties were affected, [:upper:] and [:punct:]. The bug was that
all code points above the first one > 255 that legitimately matches the
property will match whether or not they should. In the case of
[:upper:], this meant that effectively anything from 256..infinity
matched. For [:punct:], it was anything above U+037D.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make the code slightly smaller by changing
if (A)
return X;
if (B)
return X;
into
`
if (A || B)
return X;
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously it would leave the file handle open if it was (equal to) stdin,
on the assumption that this must have been because no script name was
supplied on the interpreter command line, so the interpreter was defaulting
to reading the script from standard input.
However, if the program has closed STDIN, then the next file handle opened
(for any reason) will have file descriptor 0. So in this situation, the
handle that require opened to read the module would be mistaken for the above
situation and left open. Effectively, this leaked a file handle.
This is now fixed, by explicitly tracking from parser creation time whether
it should keep the file handle open, and only setting this flag when
defaulting to reading the main program from standard input. This resolves
RT #37033.
|
| |
| |
| |
| |
| |
| | |
Now that the logic for stdin is implemented as an early return of NULL from
S_open_script(), in all cases that reach the end of S_open_script(), rsfp
is non-NULL, and a file handle that we wish to set to close on exec.
|
| |
| |
| |
| |
| | |
Move the logic to assign PerlIO_stdin() to rsfp from S_open_script() to its
only caller, S_parse_body().
|
| |
| |
| |
| |
| |
| | |
Previously it was being passed &rsfp as a parameter, because it was
returning another value, fdscript. However, the return value has been
ignored since commit cc69b689ee7c2745 removed suidperl in January 2009.
|
|/
|
|
|
|
|
|
|
|
| |
lex_flags holds 4 flag bits, with multiple flag bits manipulated together
at times, so they can't be split out into individual bitfields. This change
permits the C compiler to generate simpler code, reducing toke.o by about
400 bytes on this platform, but doesn't change the size of the structure.
lex_flags was added in commit 802a15e9c01d1a0b in August 2011, so is not in
any stable release.
|
|
|
|
|
| |
Test the error message generated when -x can't find a "#!perl" line.
Test that this error message still appears when -x is used with -e.
|
|
|
|
|
|
| |
Verify that -p actually runs the code in the program body.
Verify that -n doesn't implicitly print out the contents of $_.
For both, verify that an END block runs after the implicit loop.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't assign to two lexical variables, $Is_VMS and $Is_Win32, only to use
them immediately for the same purpose - to skip the entire test.
In turn, there's no need to conditionally set $quote to a value suitable for
VMS or Win32, when neither OS ever runs the test.
The code has been this way since the file was added by commit
742218b34f58f961 in Nov 2006. Hence I don't think that the vestigial $quote
logic corresponds to pre-commit version that did run on these platforms.
Instead I infer that it has come from t/op/exec.t, used as a template for
running sub-scripts in a portable fashion.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It seems that many people have trouble understanding how to add custom
attributes to their subroutines. Here's a doc patch that will
hopefully make things clearer:
|
|
|
|
|
|
|
|
|
| |
It was set to undef, which meant it hadn’t been discussed. In actuality,
it is actively maintained on CPAN. See, for instance:
https://rt.cpan.org/Ticket/Display.html?id=75077#txn-1038945
So this brings Maintainers.pl closer in line with reality.
|
|
|
|
|
|
|
|
|
| |
‘Normalise’ in this case means to set $^H to indicate that features
are in %^H (FEATURE_BUNDLE_CUSTOM) and to make %^H contain the current
feature set.
Since ‘no feature’ sets the default feature bundle in $^H, this is
unnecessary in that case.
|
| |
|
|
|
|
|
| |
It is not features not in the current version, but those not in the
requested version, that are disabled.
|
| |
|
| |
|
|
|
|
|
|
| |
Reading $$ in a tainted expression was tainting the internal sv_setiv()
on $$. Since the value being set came directly from getpid(), it's
always safe, so override the tainting there. Fixes [perl #109688].
|
|
|
|
|
|
| |
The format of the individual function HTML files has changed. The index
generator needs to update to successfully extract the NAME sections.
Fixes [perl #107870].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, a table was being allocated for OP_TRANS(|R), in a
PVOP arrangement, as soon as the op was built. However, it wasn't
used immediately, and for UTF8-flagged ops it would be thrown away,
replaced by an SV-based translation table in a SVOP or PADOP arrangement.
This mutation of the op structure occurred in pmtrans(), some time after
original op building. If an error occurred before pmtrans(), requiring
the op to be freed, op_clear() would be misled by the UTF8 flags into
treating the PV as an SV or pad index, causing crashes in the latter
case [perl #102858]. op_clear() was implicitly assuming that pmtrans()
had been performed, due to lacking any explicit indication of the op's
state of construction.
Now, the PV table is allocated by pmtrans(), when it's actually going to
populate it. The PV doesn't get allocated at all for UTF8-flagged ops.
Prior to pmtrans(), the op_pv/op_sv/op_padix field is all bits zero,
so there's no problem with freeing the op.
|
| |
|
|
|
|
|
|
| |
Unicode 6.1 erroneously omitted Takri as a script that uses two
characters, and have voted to publish the correction that this patch
makes. There isn't an official Corrigendum yet.
|
| |
|
|
|
|
| |
Leo prefers now direct pull requests via Github.
|
| |
|
|
|
|
|
| |
Apparently, 'make distclean' tries to use it in confusing and
counterproducive ways. Easier to remove it than fix the other.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pod2html tests can do diffs of big hunks, and so they try to
use /usr/bin/diff to show how things differ. If there is no such
program, we just say "it wasn't good."
Unfortunately, Win32 is where we keep having problems, and where
we are least likely to have diff available. When there is no diff,
we now use Test::More::is, which will output the whole differing file.
Noisy, yes, but now smoke reports with failing Pod::Html tests will
be more useful.
|
|
|
|
|
| |
Adds a documentation note about support. Adds a README.patching
file with instructions for bumping versions, Changes, etc.
|
|
|
|
|
| |
Also updates release instructions with a reminder to
update Maintainers.pl
|
| |
|
|
|
|
|
| |
Adds Makefile.PL, LICENSE, etc. and updates Changes for
work in blead from 5.14.0
|
| |
|
|
|
|
|
|
|
|
|
| |
See https://rt.perl.org/rt3/Ticket/Display.html?id=108776
"no feature" now resets to the default feature set. To disable all
features (which is likely to be a pretty special-purpose request, since
it presumably won't match any named set of semantics) you can now
write "no feature ':all'"
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than unixifying paths sort of once off, we now do what I
threatened earlier: unixify all the --switch supplied paths during
command line parsing.
There are other bits of File::Spec being sprinkled around, quite
possibly in too-interior sections of the program, but this change
gets *all* tests passing on Win32 as well as GNU/Linux.
I think an audit of filepath normalization "border security" is
still due, but this may tide us over for now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test expectations for the --htmlroot feature wanted to look for
an absolute path, so it concatenated / with the relative-to-root path.
That failed on Win32, where the cwd was C:\etc
I added a new token to the test-expectations-munger for the absolute
cwd. I'm not 100% sure about the features' behavior, but the tests
are now less platform-specific. I look forward to input on whether
the code is doing the right thing now...
|
|
|
|
|
| |
I think we probably need a more systematic regimen of of unixify
calls, but for now, this gets tests passing on Win32.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
86c08a2ca2546ef08513c65dabf686423cade2f3 changed
Porting/corelist-perldelta.pl to be more accepting in section headings
when reading in an existing perldelta.
caaa1415975f6b8763b186234d77803148a4fd37 changed it to output
the correctly pluralized form of "Pragmata".
corelist-perldelta.pl used the same data structure for both, input
and output. This patch divides up the logic between input and output
in two data structures, and keeps the heading of the input
file when generating a fresh pod section.
|