summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate pod.lst. pod/perl.pod is now the master file for Pod metadata.Nicholas Clark2011-12-2110-359/+120
| | | | | | | | perl.pod already contained virtually all the information in pod.lst. Add the remainder as =begin and =for Pod blocks. As perl.pod no longer needs to be regenerated, remove the redundant code from Porting/pod_rules.pl. Update (nearly) all references to pod.lst.
* Fixing crash in hint.tFather Chrysostomos2011-12-201-4/+9
| | | | | | | | | | | | The test that was added in 95cf23680e tickled another bug in the same code in Perl_hv_copy_hints_hv than the one it fixed, but not on the committer’s machine. Not only can a HE from a tied hash have a null entry, but it can also have an SV for its key. Treating it as a hek and trying to read flags from it may result in other code being told to free something it shouldn’t because the SV, when looked at as a hek, appeared to have the HVhek_FREEKEY flag.
* [perl #91416] Deparse open("blah blah blah") properlyFather Chrysostomos2011-12-202-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ‘open bareword’ compiles down to open `--+--pushmark `--gv whereas ‘open "string"’ compiles down to open `--+--pushmark `--rv2gv `----gv the same as ‘open *glob’. B::Deparse was deparsing the child of the rv2gv, in order to deparse things like open(my $fh...) as they were entered, instead of open(*my $fh), which wouldn’t work. gvops were being deparsed as the name. But this meant that ‘open "open"’ would be deparsed as ‘open open’, which does something different, ‘open’ being a keyword. It also did that with ‘open '%^$^$%'’, which would deparse without the quotation marks. This commit changes the deparsing of filehandle-op -> rv2gv -> gv, by keeping the explicit * present if the name of the gv is a valid identifier (so open("foo") and open(*foo), which compile identi- cally, both come out as open(*foo)), or by using quotation marks if it is not.
* Increase $B::Deparse::VERSION to 1.11Father Chrysostomos2011-12-201-1/+1
|
* charnames tests: Add names to some more testsKarl Williamson2011-12-202-27/+28
|
* test.pl: Add commentKarl Williamson2011-12-201-1/+1
|
* Autoload charnames for \N{name}Karl Williamson2011-12-2011-66/+103
| | | | | | | | | | | | | | | | This autoloads charnames.pm when needed. It uses the :full and :short options. :loose is not used because of its relative unfamiliarity in the Perl community, and is slower. (If someone later added a typical "use charnames qw(:full)", things that previously matched under :loose would start to fail, causing confustion. If :loose does become more common, we can change this in the future to use it; the converse isn't true.) The callable functions in the module are not automatically loaded. To access them, an explicity "use charnames" must be provided. Thanks to Tony Cook for doing a code inspection and finding a missing SPAGAIN.
* toke.c: Reorder a testKarl Williamson2011-12-201-4/+4
| | | | This is in preparation for a later commit
* charnames.t: Rmv extra blank in commentKarl Williamson2011-12-201-1/+1
|
* charnames: Split into two modulesKarl Williamson2011-12-206-1119/+1167
| | | | | | | This takes the source and splits it into two modules with the only changes those that are required to get them to work together. This is in preparation for future commits
* pod nitsKarl Williamson2011-12-202-3/+6
|
* [perl #106282] Don’t crash cloning tied %^HFather Chrysostomos2011-12-202-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When hv_iternext_flags is called on a tied hash, the hash entry (HE) that it returns has no value. Perl_hv_copy_hints_hv, added in commit 5b9c067131, was assuming that it would have a value and calling sv_magic on it, resulting in a crash. Commit b50b205 made namespace::clean’s test suite crash, because strict.pm started using %^H. It was already possible to crash namespace::clean with other hh-using pragmata, like sort: # namespace::clean 0.21 only uses ties in the absence of B:H:EOS use Devel::Hide 'B::Hooks::EndOfScope'; use sort "stable"; use namespace::clean; use sort "stable"; {;} It was possible to trigger the crash with no modules like this: package namespace::clean::_TieHintHash; sub TIEHASH { bless[] } sub STORE { $_[0][0]{$_[1]} = $_[2] } sub FETCH { $_[0][0]{$_[1]} } sub FIRSTKEY { my $a = scalar keys %{$_[0][0]}; each %{$_[0][0]} } sub NEXTKEY { each %{$_[0][0]} } package main; BEGIN { $^H{foo} = "bar"; tie( %^H, 'namespace::clean::_TieHintHash' ); $^H{foo} = "bar"; } { ; } This commit puts in a simple null check before calling sv_magic. Tied hint hashes still do not work, but they now only work as badly as in 5.8 (i.e., they don’t crash). I don’t think tied hint hashes can ever be made to work properly, even if we do make Perl_hv_copy_hints_hv copy the hash properly, because in the scope where %^H is tied, the tie magic takes precedence over hint magic, preventing the underlying he chain from being updated. So hints set in that scope will just not stick.
* Link to release announcement in epigraphs.podDave Rolsky2011-12-201-1/+2
|
* Add a step asking release managers to blog about their epigraphDave Rolsky2011-12-201-0/+5
|
* Add the 5.15.6 epigraphDave Rolsky2011-12-201-0/+20
|
* Add details on how to figure out if rt.perl.org needs to be updated.Dave Rolsky2011-12-201-3/+7
|
* Create a perldelta for 5.15.7Dave Rolsky2011-12-2011-746/+1149
|
* Merge branch 'drolsky/release-5.15.6' into bleadDave Rolsky2011-12-2026-638/+1175
|\
| * Add perldelta entry for new version of Module::CoreListv5.15.6Dave Rolsky2011-12-201-0/+5
| |
| * Fix version of Module::CoreList in 5.15.6Dave Rolsky2011-12-201-1/+1
| |
| * Add Changes entry for Module::CoreListDave Rolsky2011-12-201-0/+3
| |
| * Add 5.15.6 release date to perlhistDave Rolsky2011-12-191-0/+1
| |
| * Updated Module::CoreList for 5.15.6 - including $VERSION bumpDave Rolsky2011-12-191-4/+701
| |
| * Bump the perl version in various places for 5.15.6Dave Rolsky2011-12-1922-141/+141
| |
| * Final pass through perldeltaDave Rolsky2011-12-191-82/+87
| | | | | | | | | | | | | | | | - copy edited for clarity & typos - standardized on two spaces after a period - detabified - ran it through a spellchecker - ran it through podtidy one last time
| * Remove an XXX note - questions resolvedDave Rolsky2011-12-191-2/+0
| |
| * The POSIX TCSANOW appears to have been introduced in 5.15.3Dave Rolsky2011-12-191-3/+1
| |
| * Not going to document 43d9ecf eitherDave Rolsky2011-12-191-4/+0
| |
| * Not going to document f300909 in perldeltaDave Rolsky2011-12-191-1/+0
| |
| * Perldelta for b0f2e9e - buildtoc fixesDave Rolsky2011-12-191-1/+5
| |
| * Small pod fix - s/build/built/Dave Rolsky2011-12-191-1/+1
| |
| * Clean up perldelta.pod for releaseDave Rolsky2011-12-191-463/+294
| | | | | | | | | | | | | | | | - Removed all the empty sections - Ran it through podtidy Still need to resolve some open questions/missing changes and run it through a spellchecker.
* | pod_rules.pl was always (re)building everything, not what was asked for.Nicholas Clark2011-12-201-1/+1
| | | | | | | | | | | | | | The bug was introduced by commit b78c110439167132, which split Porting/pod_rules.pl out from pod/buildtoc. The previous code in buildtoc would correctly honour the command line options, and only (re)build the requested files.
* | Use tr/_// instead of eval $VERSIONSteffen Mueller2011-12-2010-20/+20
| | | | | | | | | | | | Also bumps the version of all contained modules to 3.39_01, which is the version of a new PathTools CPAN release (and the code is in sync with this commit).
* | Update CPANPLUS to CPAN version 0.9114Chris 'BinGOs' Williams2011-12-196-6/+8
|/ | | | | | | | | [DELTA] Changes for 0.9114 Mon Dec 19 21:15:38 2011 ================================================ * Fail earlier on unresolvable prereqs as per [rt.cpan.org #73310]
* Sync Maintainers.pl with teh CPANChris 'BinGOs' Williams2011-12-191-3/+3
|
* SelfLoader: Version bump to match CPAN releaseSteffen Mueller2011-12-191-1/+1
|
* ExtUtils::ParseXS: Version bump and changelog for CPAN releaseSteffen Mueller2011-12-195-4/+9
|
* Restructure the heredocs in perlmodlib.PL so the file as-is is valid Pod.Nicholas Clark2011-12-191-10/+15
| | | | | | | Using =cut as the heredoc terminator makes the whole file parse as (reasonably) sane Pod as-is to anything that attempts to brute-force treat it as such. The content is already useful - this just makes it tidier, by stopping anything doing this mistaking the rest of the Perl code for Pod.
* Add autodoc.pl to the 'no_index' section of META.ymlNicholas Clark2011-12-192-1/+2
| | | | | This stops search.cpan.org mistaking its stub contents for the (full, generated) perlapi manpage.
* Merge installman and pod/buildtoc improvements to blead.Nicholas Clark2011-12-196-162/+191
|\
| * Note the user-visible installman changes in perldelta.Nicholas Clark2011-12-191-0/+15
| |
| * Some pod_lib.pl cleanups.Nicholas Clark2011-12-191-7/+6
| | | | | | | | | | Eliminate the file-scoped lexical %Readmepods. Use slurp_or_die() instead of coding it longhand.
| * installman should use the data in pod.lst to track dual-life pods in lib/Nicholas Clark2011-12-192-15/+9
| | | | | | | | | | | | | | | | This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's man pages are installed in man1, not man3, along with any future dual-life pods. This is an improvement on commit 0beff067932254cd which only dealt with perlfaq* and perlglossary, and had the unfortunate side effect of also causing these 11 files to be installed to bin/
| * Various installman cleanups.Nicholas Clark2011-12-191-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | Eliminate the C<use File::Copy> and various $Is_* vars, unneeded since commit 9e6fc21fcd859351 moved the code that uses them into install_lib.pl Move the filename-based skip code into the callback for File::Find::find(), as this saves ever storing them in %$modpods. Eliminate @to_process, which has been mostly redundant since commit a274383458745101, and completely redundant since commits 02bc0c09b2a02ba6^ and 02bc0c09b2a02ba6. Eliminate the batchlimit command line option, which has been redundant since commit a274383458745101.
| * In installman, pod2man() now takes a hashref instead of a list of scripts.Nicholas Clark2011-12-191-26/+28
| | | | | | | | | | | | Avoid needless splitting and joining of paths when processing the "scripts" from utils.lst. Remove the unused lexical $where2. Remove an inaccurate comment about nochdir.
| * In pod2man() in installman, transpose the keys and values of %modpods.Nicholas Clark2011-12-191-4/+4
| | | | | | | | | | This doesn't change the order of processing (Pod pathnames all in lib/ sort in the same order as module names), but will make future refactoring easier.
| * Stop installing the manpage for XS::Typemap.Nicholas Clark2011-12-191-0/+1
| | | | | | | | | | | | Like XS::APItest, we don't install the module anyway, so there's no need to have confusing documentation installed. (See commit ae5391ad3eac0349, which made the analogous change for XS::APItest*)
| * In buildtoc, eliminate @modpods by building %Found directly.Nicholas Clark2011-12-191-18/+11
| | | | | | | | | | | | | | | | | | | | There's no need to use an intermediate array to store the results from calling File::Find::find() as its only use is to build a hash of work to do, by looping over it once. Standardise on !! for the regex delimiter, and convert ^ and $ to \A and \z. The temporary variable $pod can be eliminated, because it doesn't matter whether $_ ends '.pod' or '.pm' in the code that follows.
| * In buildtoc, pass 'no_chdir' to File::Find::find().Nicholas Clark2011-12-191-12/+12
| |