summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| |
| * In buildtoc, move the "has a NAME?" file check into podset().Nicholas Clark2011-12-191-13/+17
| | | | | | | | | | | | | | | | Instead of opening each file to search for /^=head1\s+NAME\b/ within the File::Find::find() callback, move the check to the main processing code in podset(), where the file is already open. Seeking the file back to the start is less costly than closing and subsequently reopening, and performing all the reads at the same time reduces pressure on the OS disk cache.
| * Prime the duplicate Pod cache the first time is_duplicate_pod() is called.Nicholas Clark2011-12-192-16/+25
| | | | | | | | | | | | | | | | | | | | | | | | Previously it was primed when get_pod_metadata() was called. This removes the undocumented assumption that is_duplicate_pod() will only be called after get_pod_metadata(), and avoids reading 14 Pod files to calculate their MD5s unless actually necessary. This change means that the array references in @{$state{master}} are being accessed much later during runtime. This reveals that podset() in buildtoc had been clobbering its callers $_, which happened to be an alias to the current element of @{$state{master}}.
| * In pod_lib.pl, split out the code that initialises %state from pod.lstNicholas Clark2011-12-191-23/+27
| | | | | | | | It's now extracted from get_pod_metadata() into __prime_state().
| * Change get_pod_metadata() to take a callback to report consistency errors.Nicholas Clark2011-12-193-18/+17
| | | | | | | | | | | | Using the callback to report errors instead of passing the 'inconsistent' arrayref back in the state means that get_pod_metadata() doesn't even need to calculate this information if it's not going to be used.
| * Move the pod de-duplication logic from buildtoc to pod_lib.plNicholas Clark2011-12-192-24/+20
| | | | | | | | | | is_duplicate_pod() moves. register_duplicate_pod() can be inlined into get_pod_metadata().