platform/upstream/perl.git
13 years agoIn makedef.pl, inline emit_symbol.
Nicholas Clark [Tue, 26 Jul 2011 10:05:51 +0000 (12:05 +0200)]
In makedef.pl, inline emit_symbol.

All emit_symbol() did was add to the hash of symbols to emit the list it was
passed.

13 years agoIn makedef.pl, eliminate now-superfluous chomp and file-content processing.
Nicholas Clark [Tue, 26 Jul 2011 09:16:02 +0000 (11:16 +0200)]
In makedef.pl, eliminate now-superfluous chomp and file-content processing.

emit_symbol() would chomp every symbol passed to it. The chomp was added in
3e3baf6d63945cb6, in the refactoring which replaced print statements with
emit_symbol(), because its callers (still) passed it the values previously
printed, values generated from the lines of files. The chomp in emit_symbol()
probably should have been removed as part of 22239a37ce131e4f, which unified
the code that parsed external files, adding chomp there, and added chomp to
the code which read from <DATA>.

The chomp of <DATA> added in 22239a37ce131e4f was moved wholesale with all
the file-content specific processing into a new routine try_symbol() in
commit 549a6b102c2ac8c4 on the cfgperl branch. That commit and subsequent
commits used try_symbol() as the general-purpose routine to add symbols to
the export list, even though it also had all the specific file processing
code to ignore comments and other text that did not look like symbols.

An analogous alternative routine to add symbols to the export list,
emit_symbols(), was added to blead 6 days earlier in commit 51371543ca1a75ed.

As makedef.pl no longer uses <DATA>, and reading from external files is
nicely encapsulated, all this vestigial code can be removed.

Technical debt from 1997 and 1999 finally being eliminated.

13 years agoIn makedef.pl, inline skip_symbols.
Nicholas Clark [Mon, 25 Jul 2011 22:02:22 +0000 (00:02 +0200)]
In makedef.pl, inline skip_symbols.

All skip_symbols() did was add to the hash of symbols to skip the list it was
passed.

13 years agoIn makedef.pl, readvar now returns a list, not an array reference.
Nicholas Clark [Mon, 25 Jul 2011 20:59:30 +0000 (22:59 +0200)]
In makedef.pl, readvar now returns a list, not an array reference.

Convert it from a loop to a map. Refactor its callers to use its results
directly, instead of assigning to a lexical variable which is used only once.

13 years agoIn makedef.pl, move the "oddities from PerlIO" from <DATA> to a data structure.
Nicholas Clark [Mon, 25 Jul 2011 16:07:54 +0000 (18:07 +0200)]
In makedef.pl, move the "oddities from PerlIO" from <DATA> to a data structure.

At one time various categories of symbols were listed after __DATA__.
All others are now dealt with elsewhere, leaving only some PerlIO symbols, at
which point it becomes clearer and terser to move the list to the point in the
code that previously looped over <DATA>.

13 years agoIn makedef.pl, consolidate all the code conditional on PERL_IMPLICIT_SYS.
Nicholas Clark [Mon, 25 Jul 2011 13:00:41 +0000 (15:00 +0200)]
In makedef.pl, consolidate all the code conditional on PERL_IMPLICIT_SYS.

Previously the conditional skips were for all platforms (in two places, both
added in commit 7766f1371a6d2b58, whereas the conditional additions to the
export lists were in platform specific blocks for Win32, WinCE and NetWare.
Given that only those 3 platforms can (currently) build with
-DPERL_IMPLICIT_SYS, it's safe to implicitly remove the platform check for
those export additions by moving the code.

13 years agoIn makedef.pl, NetWare can't export perl_clone_host without USE_ITHREADS.
Nicholas Clark [Mon, 25 Jul 2011 12:13:51 +0000 (14:13 +0200)]
In makedef.pl, NetWare can't export perl_clone_host without USE_ITHREADS.

NetWare/nw5.c conditionally compiles perl_clone_host only if USE_ITHREADS is
defined. It can't be added to the export list if it isn't compiled.
NetWare/config.wc has useithreads='define'

13 years agoIn makedef.pl, read Config::{,non_}bincompat_options() on all platforms.
Nicholas Clark [Fri, 22 Jul 2011 16:54:01 +0000 (18:54 +0200)]
In makedef.pl, read Config::{,non_}bincompat_options() on all platforms.

Previously makedef.pl was only taking them into account on AIX, Win32 and
WinCE. This might cause more API symbols to be exported on NetWare, OS/2
and VMS.

On VMS, $define{DEBUGGING} and $define{UNLINK_ALL_VERSIONS} will now be read
from Config::non_bincompat_options(), so no need for special case code to
read them config.sh

13 years agoIn makedef.pl, remove the skip for Perl_pidgone for not-PERL_USES_PL_PIDSTATUS.
Nicholas Clark [Thu, 21 Jul 2011 11:49:59 +0000 (13:49 +0200)]
In makedef.pl, remove the skip for Perl_pidgone for not-PERL_USES_PL_PIDSTATUS.

The skip for Perl_pidgone was added by 0c25f67f45e5dccb in 2005, However,
Perl_pidgone was never in the public API, and has not been available for
export since commit 954c1994944eafa7 (in January 2000).

13 years agoIn makedef.pl, remove the skip for Perl_mro_meta_dup for non-ITHREADS.
Nicholas Clark [Thu, 21 Jul 2011 11:10:42 +0000 (13:10 +0200)]
In makedef.pl, remove the skip for Perl_mro_meta_dup for non-ITHREADS.

Perl_mro_meta_dup was removed from the public API with commit
47c9dd1447a52d20 in April 2007, and hence was never in the API for any stable
release.

13 years agoIn makedef.pl, remove Perl_malloc{ed,_good}_size from the !MYMALLOC skip list.
Nicholas Clark [Thu, 21 Jul 2011 10:50:28 +0000 (12:50 +0200)]
In makedef.pl, remove Perl_malloc{ed,_good}_size from the !MYMALLOC skip list.

Perl_malloced_size was never in the public API, has not been available for
export since commit 954c1994944eafa7 (in January 2000) restricted exports to
just API functions. Perl_malloc_good_size was added to the skip list with
commit 641071807211a396, which added the (non-API) function to malloc.c

13 years agoIn makedef.pl, remove 15 non-API functions from the not-PERLMAD skip list.
Nicholas Clark [Thu, 21 Jul 2011 10:38:29 +0000 (12:38 +0200)]
In makedef.pl, remove 15 non-API functions from the not-PERLMAD skip list.

These functions have never been exported, so never needed to be added to the
skip list in makedef.pl. Perl_pad_peg was added in 1dba731d9f7b0a03, the
remainder in 3b721df9bf246129.

13 years agoIn makedef.pl, remove the skip for Perl_deb_growlevel for not-DEBUGGING.
Nicholas Clark [Thu, 21 Jul 2011 10:04:14 +0000 (12:04 +0200)]
In makedef.pl, remove the skip for Perl_deb_growlevel for not-DEBUGGING.

Perl_deb_growlevel was removed in 199 by commit f4c556ac9d141bf8.

13 years agoIn makedef.pl, remove the skip for PL_sig_sv for PERL_IMPLICIT_CONTEXT.
Nicholas Clark [Wed, 20 Jul 2011 20:52:55 +0000 (22:52 +0200)]
In makedef.pl, remove the skip for PL_sig_sv for PERL_IMPLICIT_CONTEXT.

PL_sig_sv was removed in 2010 by commit 0c4d3b5ea916cf64.

13 years agoIn makedef.pl, remove the skip for 9 symbols for not-USE_ITHREADS
Nicholas Clark [Wed, 20 Jul 2011 20:37:56 +0000 (22:37 +0200)]
In makedef.pl, remove the skip for 9 symbols for not-USE_ITHREADS

They were moved into the XS for threads::shared in 2002 by commit
68795e9367de9848.

13 years agoIn makedef.pl, remove the skip for PL_regdupe for not-USE_ITHREADS.
Nicholas Clark [Wed, 20 Jul 2011 20:29:18 +0000 (22:29 +0200)]
In makedef.pl, remove the skip for PL_regdupe for not-USE_ITHREADS.

PL_regdupe was removed in 2006 by commit f9f4320a413e57e4.

13 years agoIn makedef.pl, remove the skip for PL_curthr for FAKE_THREADS.
Nicholas Clark [Wed, 20 Jul 2011 20:13:37 +0000 (22:13 +0200)]
In makedef.pl, remove the skip for PL_curthr for FAKE_THREADS.

PL_curthr was removed along with the rest of the 5.005 thread implementation
in 2002.

13 years agoIn makedef.pl, remove all skips for variables now in the parser struct.
Nicholas Clark [Wed, 20 Jul 2011 19:39:30 +0000 (21:39 +0200)]
In makedef.pl, remove all skips for variables now in the parser struct.

Different parser variables exist when perl is compiled with/without -Dmad.
Before these were moved into the parser struct, they all had to be skipped
explicitly. Now the parser struct has different members depending on whether
perl is MAD or not.

13 years agoIn makedef.pl, consolidate $PLATFORM specific skip logic.
Nicholas Clark [Tue, 19 Jul 2011 16:16:01 +0000 (18:16 +0200)]
In makedef.pl, consolidate $PLATFORM specific skip logic.

13 years agoIn makedef.pl, correct a use of $^O to $PLATFORM.
Nicholas Clark [Tue, 19 Jul 2011 16:03:38 +0000 (18:03 +0200)]
In makedef.pl, correct a use of $^O to $PLATFORM.

13 years agoIn makedef.pl, skip Perl_signbit when HAS_SIGNBIT is defined.
Nicholas Clark [Tue, 19 Jul 2011 14:48:07 +0000 (16:48 +0200)]
In makedef.pl, skip Perl_signbit when HAS_SIGNBIT is defined.

Previously this condition was only checked on AIX and VMS. However, as all
the other platforms don't have HAS_SIGNBIT defined, this simplifies the code
with no change in output.

13 years agoIn makedef.pl, simplify handling the 7 symbols wanted on Win32 but not WinCE.
Nicholas Clark [Tue, 19 Jul 2011 14:31:23 +0000 (16:31 +0200)]
In makedef.pl, simplify handling the 7 symbols wanted on Win32 but not WinCE.

18f68570297a0260 added WinCE, but did so by changing a block that adds
symbols for Win32 to add them for both Win32 & WinCE, and simultaneously
adding 7 of those symbols to the WinCE specific skip list.

Much simpler is to split the list of symbols to add into one for Win32 only,
and one for Win32 & WinCE, and removing the skip list.

13 years agoIn makedef.pl, remove PL_csh{len,name} from 3 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 14:07:53 +0000 (16:07 +0200)]
In makedef.pl, remove PL_csh{len,name} from 3 skip lists.

PL_cshname was converted to a true global by commit 618b9757aa96db62 in
2007, and PL_cshlen to a constant macro. Effectively both were dropped from
the list of exported symbols at this time, although as they were skipped on
Win32, WinCE and NetWare, the only platforms which would have noticed would
be AIX, OS/2 and VMS. As they've been missing in 5.10.0, 5.12.0 and 5.14.0
without any bug reports, it doesn't seem worth re-adding PL_cshname to the
list of exported symbols.

13 years agoIn makedef.pl, remove from 3 skip lists 3 variables now in PL_parser.
Nicholas Clark [Tue, 19 Jul 2011 13:53:14 +0000 (15:53 +0200)]
In makedef.pl, remove from 3 skip lists 3 variables now in PL_parser.

199e78b72f538ce0 moved PL_pending_indent and PL_sublex_info into the
PL_parser struct. f06b58485d86282d moved PL_linestart there.

13 years agoIn makedef.pl, remove PL_archpat_auto from 3 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 13:17:46 +0000 (15:17 +0200)]
In makedef.pl, remove PL_archpat_auto from 3 skip lists.

PL_archpat_auto was eliminated by commit a7cb1f9979dd83ab in 1999 -
"support for v5.5.640 style version numbers".

13 years agoIn makedef.pl, remove Perl_setenv_getix from 3 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 12:56:41 +0000 (14:56 +0200)]
In makedef.pl, remove Perl_setenv_getix from 3 skip lists.

Perl_setenv_getix was never in the public API, has not been available for
export since commit 954c1994944eafa7 (in January 2000) restricted exports to
just API functions, and in 2008 was changed to a static function with commit
051b305ded17acbc and then eliminated by being inlined into its only caller
with commit 3a9222bef66d8694.

13 years agoIn makedef.pl, remove Perl_init_thread_intern from 3 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 12:34:26 +0000 (14:34 +0200)]
In makedef.pl, remove Perl_init_thread_intern from 3 skip lists.

Perl_init_thread_intern has not been available for export since commit
864dbfa3ca8032ef in 1999, and was removed by 3db8f154c4c6e098 in 2002.

13 years agoIn makedef.pl, remove Perl_my_p{open,close} from 3 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 11:46:08 +0000 (13:46 +0200)]
In makedef.pl, remove Perl_my_p{open,close} from 3 skip lists.

Both will already be correctly skipped by the existing code that
handles PERL_IMPLICIT_SYS.

13 years agoIn makedef.pl, remove Perl_ErrorNo from 4 skip lists.
Nicholas Clark [Tue, 19 Jul 2011 11:02:38 +0000 (13:02 +0200)]
In makedef.pl, remove Perl_ErrorNo from 4 skip lists.

Perl_ErrnoNo() was removed in 51371543ca1a75ed in 1999.

13 years agoIn makedef.pl, remove from skip lists symbols which are not in the API.
Nicholas Clark [Tue, 19 Jul 2011 10:50:35 +0000 (12:50 +0200)]
In makedef.pl, remove from skip lists symbols which are not in the API.

The Win32 and AIX lists were created back when all symbols were exported.
954c1994944eafa7 (in January 2000) restricted exports to just API functions.
The skip lists were not purged of non-API functions, and have subsequently
propagated to new ports via mindless copy & paste.

13 years agoIn makedef.pl, remove Perl_safex{{c,m,re}alloc,free} from 4 skip lists.
Nicholas Clark [Mon, 18 Jul 2011 21:28:58 +0000 (23:28 +0200)]
In makedef.pl, remove Perl_safex{{c,m,re}alloc,free} from 4 skip lists.

All 4 were part of LEAKTEST, removed in 2002 with 7bab3ede7bf671f5.

13 years agoIn makedef.pl, skip relevant symbols when HAVE_INTERP_INTERN is not defined.
Nicholas Clark [Mon, 18 Jul 2011 19:26:20 +0000 (21:26 +0200)]
In makedef.pl, skip relevant symbols when HAVE_INTERP_INTERN is not defined.

Previously these symbols were only listed as platform specific exceptions
for AIX and NetWare. NetWare actually failed to list PL_sys_intern, but this
would not have mattered, as their config.wc shows that NetWare builds with
-DMULTIPLICITY, and hence "PL_sys_intern" is not a real variable there, but
part of the interpreter struct.

13 years agoIn makedef.pl, skip Perl_unlnk on all platforms without UNLINK_ALL_VERSIONS.
Nicholas Clark [Mon, 18 Jul 2011 13:55:52 +0000 (15:55 +0200)]
In makedef.pl, skip Perl_unlnk on all platforms without UNLINK_ALL_VERSIONS.

As only VMS sets UNLINK_ALL_VERSIONS, this permits removing Perl_unlnk from
the platform specific skip lists of all the other platforms.

13 years agoIn makedef.pl, skip relevant symbols when USE_LOCALE_NUMERIC is not defined.
Nicholas Clark [Mon, 18 Jul 2011 13:21:32 +0000 (15:21 +0200)]
In makedef.pl, skip relevant symbols when USE_LOCALE_NUMERIC is not defined.

Previously these symbols were only listed as platform specific exceptions
for WinCE. config.ce has i_locale as undef, so <locale.h> is not included,
so (presumably) there USE_LOCALE_NUMERIC is not part of
Config::bincompat_options().

13 years agoIn makedef.pl, skip relevant symbols when USE_LOCALE_COLLATE is not defined.
Nicholas Clark [Mon, 18 Jul 2011 13:00:53 +0000 (15:00 +0200)]
In makedef.pl, skip relevant symbols when USE_LOCALE_COLLATE is not defined.

Previously these symbols were only listed as platform specific exceptions
for WinCE. config.ce has i_locale as undef, so <locale.h> is not included,
so (presumably) there USE_LOCALE_COLLATE is not part of
Config::bincompat_options().

13 years agoIn makedef.pl, remove PL_numeric_compat1 from the WinCE skip list.
Nicholas Clark [Mon, 18 Jul 2011 12:19:42 +0000 (14:19 +0200)]
In makedef.pl, remove PL_numeric_compat1 from the WinCE skip list.

e0a47c36269dd7ce removed PL_numeric_compat1 from the interpreter structure, but
missed the reference to it here.

13 years agoIn makedef.pl, remove unneeded PerlIO* skips from the NetWare platform list.
Nicholas Clark [Mon, 18 Jul 2011 11:10:22 +0000 (13:10 +0200)]
In makedef.pl, remove unneeded PerlIO* skips from the NetWare platform list.

011f1a1a00b94fe9 added, among other things, 23 PerlIO symbols to the
list to skip on NetWare on 2002/04/22. On 2002/05/01, ad6971c848a6c9ab
added PerlIO_perlio to the main list of symbols to skip if PerlIO was
deconfigured. On 2002/05/02, 1e8a8f599308436d added the other 22 there.

NetWare's configuration (config.wc) has perlio=undef. Hence the latter 2
commits were the correct fix, and the 23 symbols can be removed from the
NetWare platform list with no difference in makedef.pl's output.

13 years agoIn makedef.pl, extract SPRINTF_RETURNS_STRLEN from config.h
Nicholas Clark [Mon, 18 Jul 2011 10:31:42 +0000 (12:31 +0200)]
In makedef.pl, extract SPRINTF_RETURNS_STRLEN from config.h

This allows its removal from platform specific skip lists.

13 years agoIn makedef.pl, all platforms other than OS/2 share 12 common "skip_symbols".
Nicholas Clark [Mon, 18 Jul 2011 08:54:33 +0000 (10:54 +0200)]
In makedef.pl, all platforms other than OS/2 share 12 common "skip_symbols".

13 years agoIn makedef.pl, merge the regexs that parse config.h.
Nicholas Clark [Sun, 17 Jul 2011 21:29:42 +0000 (23:29 +0200)]
In makedef.pl, merge the regexs that parse config.h.

13 years agoIn makedef.pl, merge the regexs that parse config.sh on non-dosish platforms.
Nicholas Clark [Sun, 17 Jul 2011 21:16:59 +0000 (23:16 +0200)]
In makedef.pl, merge the regexs that parse config.sh on non-dosish platforms.

Use a plain alternation, instead of trying to "optimise", as the trie compiler
can do a much better job than a human.

13 years agoIn makedef.pl, use HAS_{MMAP,SIGACTION} instead of d_{mmap,sigaction}.
Nicholas Clark [Thu, 28 Jul 2011 09:40:48 +0000 (11:40 +0200)]
In makedef.pl, use HAS_{MMAP,SIGACTION} instead of d_{mmap,sigaction}.

All defines matching /^HAS_/ are read from config.h, so no need for special
code to read the corresponding variables from config.sh.

13 years agoIn makedef.pl, replace $CONFIG_ARGS, $ARCHNAME, $PATCHLEVEL with keys in %define
Nicholas Clark [Sun, 17 Jul 2011 15:49:39 +0000 (16:49 +0100)]
In makedef.pl, replace $CONFIG_ARGS, $ARCHNAME, $PATCHLEVEL with keys in %define

13 years agoIn makedef.pl, set $CONFIG_ARGS, $ARCHNAME and $PATCHLEVEL on all platforms.
Nicholas Clark [Sun, 17 Jul 2011 15:29:28 +0000 (16:29 +0100)]
In makedef.pl, set $CONFIG_ARGS, $ARCHNAME and $PATCHLEVEL on all platforms.

They are only used on OS/2, but there's no harm in processing them on all
platforms, as this eliminates some platform specific code.

13 years agoIn makedef.pl, process FILETYPE on all platforms.
Nicholas Clark [Sun, 17 Jul 2011 15:26:19 +0000 (16:26 +0100)]
In makedef.pl, process FILETYPE on all platforms.

It's only used on NetWare, but there's no harm in processing it on all
platforms, as this eliminates some platform specific code.

13 years agoAll of makedef.pl's PLATFORMS always export boot_DynaLoader.
Nicholas Clark [Sun, 17 Jul 2011 15:15:14 +0000 (16:15 +0100)]
All of makedef.pl's PLATFORMS always export boot_DynaLoader.

No platform has code to add it to %skip, hence it can be unconditionally added
to %export.

13 years agoIn makedef.pl, default $CCTYPE early, and process $TARG_DIR unconditionally.
Nicholas Clark [Sun, 17 Jul 2011 14:56:27 +0000 (15:56 +0100)]
In makedef.pl, default $CCTYPE early, and process $TARG_DIR unconditionally.

$TARG_DIR is only passed in on Win32, WinCE and NetWare, so it doesn't need to
protected by conditional code. $CCTYPE is only meaningful on Win32 and WinCE, so
there's no harm in defaulting it to 'MSVC' everywhere. (Strictly, defaulting it
to anything that isn't 'GCC' as there is a non-platform protected check for
that)

13 years agoIn makedef.pl use %export instead of output_symbol() for platform specific code.
Nicholas Clark [Sun, 17 Jul 2011 11:40:36 +0000 (12:40 +0100)]
In makedef.pl use %export instead of output_symbol() for platform specific code.

Previously Win32, WinCE and NetWare were calling output_symbol() directly in
platform specific code blocks, instead of using the general-purpose
emit_symbol(). export_symbol() does nothing other than add keys to %export,
which is already manipulated directly in other parts of the code, so inline it.

13 years agoNo need for makedef.pl to invoke $^X -V to get 'Compile-time options'.
Nicholas Clark [Sun, 17 Jul 2011 10:18:53 +0000 (11:18 +0100)]
No need for makedef.pl to invoke $^X -V to get 'Compile-time options'.

Config now exposes this as Config::bincompat_options() and
Config::non_bincompat_options().

Change WinCE to invoke makedef.pl with -MCross, which it should have been using
all along, as the values it wants are from the host config, not the target
config. [Not tested on WinCE]. Previously makedef.pl would have been loading
the target config, but as it was only using $Config{path_sep}, this would not
have mattered.

13 years agoAdd a utility to help test makedef.pl
Nicholas Clark [Sun, 17 Jul 2011 07:59:27 +0000 (08:59 +0100)]
Add a utility to help test makedef.pl

The output of makedef.pl varies too much based on local configuration to allow
us to generate any useful pre-canned expectations of correctness. Hence the only
real option left is to generate "Golden" results for the local platform prior to
any modification, and then compare post modification output with them, to see
that nothing (unexpected) changed. exercise_makedef.pl captures all output for
(currently) 576 permutations of command line parameters, to enable this testing.

13 years agoMake verbatim pod in bigint.pm fit in 80 columns
Father Chrysostomos [Mon, 1 Aug 2011 05:25:47 +0000 (22:25 -0700)]
Make verbatim pod in bigint.pm fit in 80 columns

13 years agoMake verbatim pod in fields.pm fit in 80 columns
Father Chrysostomos [Mon, 1 Aug 2011 05:21:42 +0000 (22:21 -0700)]
Make verbatim pod in fields.pm fit in 80 columns

(actually 79, so ‘comfortably within’ 80 columns)

13 years agoAttribute::Handlers: re-indent verbatim pod
Father Chrysostomos [Mon, 1 Aug 2011 04:15:26 +0000 (21:15 -0700)]
Attribute::Handlers: re-indent verbatim pod

This commit re-indents the code examples in Attribute::Handlers
to make things more consistent overall and to prevent long lines
from wrapping in 80-column terminals.

13 years agopodcheck.t: Correctly count columns
Karl Williamson [Sun, 31 Jul 2011 22:51:04 +0000 (16:51 -0600)]
podcheck.t: Correctly count columns

The comment being removed that justified the +1 also being removed is
specious; it did not consider the size of the line being output.

13 years agoWeld switch in on position for useperlio in configure.com.
Craig A. Berry [Sun, 31 Jul 2011 22:23:19 +0000 (17:23 -0500)]
Weld switch in on position for useperlio in configure.com.

Follow-up to dd35fa16610ef2fa0d46f5129e626b99cf350d77.

13 years agost_ino settings for configure.com.
Craig A. Berry [Sun, 31 Jul 2011 22:13:00 +0000 (17:13 -0500)]
st_ino settings for configure.com.

Follow-up to 668fdbe135fd76c7a654bedba52770966925f562.

13 years agoConsistency tweaks in perlfunc/eval
Father Chrysostomos [Sun, 31 Jul 2011 21:48:24 +0000 (14:48 -0700)]
Consistency tweaks in perlfunc/eval

13 years agoperlfunc: Note that eval "last" doesn’t set $@
Father Chrysostomos [Sun, 31 Jul 2011 21:44:41 +0000 (14:44 -0700)]
perlfunc: Note that eval "last" doesn’t set $@

This resolves perl #86140 by making the docs match the
longstanding behaviour.

13 years agoCall finalize_optree on optree generated by newFORM.
Gerard Goossen [Sun, 31 Jul 2011 11:46:34 +0000 (13:46 +0200)]
Call finalize_optree on optree generated by newFORM.

finalize_optree should be called on all optrees, thus also on optrees
generated by newFORM.
I don't really understand why this doesn't cause any problems.

13 years agoinifinite loop breaking some strict checking, TODO test.
Gerard Goossen [Sat, 11 Jun 2011 20:14:03 +0000 (22:14 +0200)]
inifinite loop breaking some strict checking, TODO test.

13 years agoMore typo fixes in pod/perl*.pod files
Keith Thompson [Sun, 31 Jul 2011 02:16:52 +0000 (19:16 -0700)]
More typo fixes in pod/perl*.pod files

13 years agoFix typos in several pod/perl*.pod files
Keith Thompson [Sat, 30 Jul 2011 00:17:00 +0000 (17:17 -0700)]
Fix typos in several pod/perl*.pod files

13 years agoregen
H.Merijn Brand [Sun, 31 Jul 2011 10:52:13 +0000 (12:52 +0200)]
regen

perl regen/uconfig_h.pl is NOT done in "make regen" :(

13 years agoAdd st_ino size/sign probes
H.Merijn Brand [Sun, 31 Jul 2011 10:15:23 +0000 (12:15 +0200)]
Add st_ino size/sign probes

Work initiated by Tony Cook

13 years agoChainsaw out the possibility to disable useperlio
H.Merijn Brand [Sun, 31 Jul 2011 10:11:21 +0000 (12:11 +0200)]
Chainsaw out the possibility to disable useperlio

This work was actually committed to metaconfig on 16 Feb 2011

13 years agoAdd --list to checkcfgvar.pl
H.Merijn Brand [Sun, 31 Jul 2011 09:39:37 +0000 (11:39 +0200)]
Add --list to checkcfgvar.pl

13 years ago/aa and \b fail under some utf8 strings
Karl Williamson [Sat, 30 Jul 2011 18:33:31 +0000 (12:33 -0600)]
/aa and \b fail under some utf8 strings

This was due to my failure to realize that this 'if' needed to
be updated when the /aa modifier was added.

13 years agoPanic with \b and /aa
Karl Williamson [Sat, 30 Jul 2011 18:08:47 +0000 (12:08 -0600)]
Panic with \b and /aa

This was due to my oversight in not fixing this switch statement
to accommodate /aa when it was added.

13 years agodisable some shallow-recurse rpeep tests
David Mitchell [Fri, 29 Jul 2011 12:31:03 +0000 (13:31 +0100)]
disable some shallow-recurse rpeep tests

The long chain of ?: was always intended to fail, and shouldn't have
made it into the original commit. The while(1){..} used to work, but
started failing once the tail-recursion optimisation was removed.
These tests only failed on some platforms - presumably those with a small
per-thread stack size.

13 years agoperlrequick: Expand on \d, etc.
Karl Williamson [Fri, 29 Jul 2011 01:09:43 +0000 (19:09 -0600)]
perlrequick: Expand on \d, etc.

This clarifies that the definitions presented here are valid only when
/a is specified.

13 years agoperlreref: Use consistent name for property
Karl Williamson [Fri, 29 Jul 2011 01:03:01 +0000 (19:03 -0600)]
perlreref: Use consistent name for property

Using the synonymous name means one less special case that people have
to learn.  Now, the only name for these classes that doesn't begin with
'Posix' is the one which is slightly different from the standard Posix
one

13 years agoperlop: name /a ASCII-restrict
Karl Williamson [Fri, 29 Jul 2011 01:02:02 +0000 (19:02 -0600)]
perlop: name /a ASCII-restrict

13 years agoUnicode::UCD: fix missing comma in pod
Karl Williamson [Fri, 29 Jul 2011 01:01:13 +0000 (19:01 -0600)]
Unicode::UCD: fix missing comma in pod

13 years agopodcheck.t: Fix confusion between "indent", "tab stop"
Karl Williamson [Thu, 28 Jul 2011 16:03:31 +0000 (10:03 -0600)]
podcheck.t: Fix confusion between "indent", "tab stop"

podcheck.t has a variable named $INDENT which really meant the first
tab stop column.  This patch changes the value to the meaning of
"indent".

13 years agoperlrecharclass: Nit suggested by TomC
Karl Williamson [Fri, 22 Jul 2011 15:07:45 +0000 (09:07 -0600)]
perlrecharclass: Nit suggested by TomC

13 years agoperlre: better /dual explanation
Karl Williamson [Fri, 22 Jul 2011 05:00:11 +0000 (23:00 -0600)]
perlre: better /dual explanation

This emphasized that the /dul modifiers should rarely be used
explicitly, but are automatically selected when various pragma are in
effect.

It also calls the /a parameter ASCII-safe or ASCII-restrict instead of
plain ASCII, as this is more accurate.

13 years agoAdd finalize_optree function which can take over all the compile time checking/finali...
Gerard Goossen [Wed, 15 Jun 2011 09:32:53 +0000 (11:32 +0200)]
Add finalize_optree function which can take over all the compile time checking/finalization now being done by the peephole optimizer.

This function takes the optree after it is finished building. It
takes over some of the checking and final conversions which are currently being
done by the peephole optimizer.

Add the moment this is an unnecessary extra step after the peephole optimizer, but with
a separate code generation step, the current peephole optimizer can't exists and
this function will take over all its essential compile time functions.

13 years agoUpdate AUTHORS
From: John Peacock [Thu, 28 Jul 2011 20:57:03 +0000 (13:57 -0700)]
Update AUTHORS

I just noticed that my e-mail address is wrong in AUTHORS

13 years agoperldelta for #95544 and #95748
Father Chrysostomos [Thu, 28 Jul 2011 00:57:34 +0000 (17:57 -0700)]
perldelta for #95544 and #95748

13 years ago[perl #95544] Test that UNIVERSAL::VERSION returns $VERSION
John Peacock [Wed, 27 Jul 2011 23:16:53 +0000 (16:16 -0700)]
[perl #95544] Test that UNIVERSAL::VERSION returns $VERSION

13 years ago[perl #95544] Make UNIVERSAL::VERSION return $VERSION
Father Chrysostomos [Wed, 27 Jul 2011 23:09:28 +0000 (16:09 -0700)]
[perl #95544] Make UNIVERSAL::VERSION return $VERSION

With this patch:
$ ./miniperl -le ' $VERSION = "3alpha"; print "main"->VERSION'
3alpha
$ ./miniperl -le ' $VERSION = "3alpha"; print "main"->VERSION(4)'
Invalid version format (non-numeric data) at -e line 1.

See the discussion starting at:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173710.html

Basically, this patch allows custom version parsers to call ->VERSION
to retrieve the version, even if the default parser would choke on it.

13 years agoevery use of $(mini_obj) needs the mini specific objects, so include them
Tony Cook [Wed, 27 Jul 2011 08:24:06 +0000 (18:24 +1000)]
every use of $(mini_obj) needs the mini specific objects, so include them

Also fixes link issues with usedtrace on Solaris, since perlmini.o
wasn't being processed by dtrace.

13 years agoUpdate Params-Check to CPAN version 0.30
Chris 'BinGOs' Williams [Wed, 27 Jul 2011 20:42:25 +0000 (21:42 +0100)]
Update Params-Check to CPAN version 0.30

  [DELTA]

  Changes for 0.30    Mon Jul 25 14:44:40 2011
  ============================================
  * Resolve [rt #69626] reported by Diab Jerius,
    WARNINGS_FATAL should apply to all check()
    failures now.

13 years agoFix ExtUtils::ParseXS to work on pre 5.8.9 perls
Steffen Mueller [Wed, 27 Jul 2011 20:57:51 +0000 (22:57 +0200)]
Fix ExtUtils::ParseXS to work on pre 5.8.9 perls

The tests were failing due to missing PERL_UNUSED_ARG.

This is an update to 3.00_05 from CPAN.

13 years agoExtUtils::ParseXS requires 5.8.1
Steffen Mueller [Wed, 27 Jul 2011 20:24:09 +0000 (22:24 +0200)]
ExtUtils::ParseXS requires 5.8.1

(This is also the update to CPAN's 3.00_04).

13 years agorelease managers guide: perldelta broken link handling
Karl Williamson [Wed, 27 Jul 2011 17:26:17 +0000 (11:26 -0600)]
release managers guide: perldelta broken link handling

podcheck.t contains a list of placeholder links in perldelta that don't
point to a real target, and hence shouldn't generate messages.  This
list is to make the release manager's job easier.  But if new
placeholder links are created, it may be that they have to be added to
the list.

13 years agopodcheck.t: Improve documentation
Karl Williamson [Wed, 27 Jul 2011 17:10:35 +0000 (11:10 -0600)]
podcheck.t: Improve documentation

This includes a few nits, but also adds documentation about setting the
number of errors for a message to negative in the db to cope with the
number being variable, and the specially handled pods: perldelta and
perltoc, and non-pod: perldelta_template

13 years agopodcheck.t: Don't warn on perldelta placeholder link
Karl Williamson [Wed, 27 Jul 2011 15:54:04 +0000 (09:54 -0600)]
podcheck.t: Don't warn on perldelta placeholder link

perldelta has a placeholder link that doesn't point to a real node,
 "perldiag/message".  This link should be cleaned up as part of making a
 release by looking for all the XXX lines that remain.  Add this link to
 the list of those that should be skipped when looking for broken links
 in perldelta.

13 years agopodcheck.t: Move perldelta placeholder link checks
Karl Williamson [Wed, 27 Jul 2011 15:34:28 +0000 (09:34 -0600)]
podcheck.t: Move perldelta placeholder link checks

podcheck has the capability to ignore certain broken links in
perldelta.pod.  This is because this pod is special, initialized to a
template with various placeholder text including links that are to
eventually be changed to their correct values.  One of the final steps
in making a release is to clean it up, removing any of these links that
haven't been changed, and hence don't apply to the current release.

To lessen the number of steps in making a release, a list of these links is
hard-coded into podcheck, and it doesn't warn on those.  The check to
skip these links prior to this commit did not easily allow links of the
form page/node to be checked for.

13 years agoIncrease $IPC::Open::VERSION to 1.12
Father Chrysostomos [Wed, 27 Jul 2011 16:21:06 +0000 (09:21 -0700)]
Increase $IPC::Open::VERSION to 1.12

13 years ago[perl #95748] IPC::Open3::open3(..., '-') broken
Salvador Fandino [Wed, 27 Jul 2011 16:20:29 +0000 (09:20 -0700)]
[perl #95748] IPC::Open3::open3(..., '-') broken

IPC::Open3::open3($in, $out, $err, '-') is broken in 5.14.1

Because the old "return 0" used to return to user code now is wrapped inside and eval block.

This patch solves the problem.

13 years agoEU::ParseXS: Fix CPAN RT #53938, #61908
Steffen Mueller [Wed, 27 Jul 2011 10:45:09 +0000 (12:45 +0200)]
EU::ParseXS: Fix CPAN RT #53938, #61908

Both of these are attempts to fix win32 problems:

Bug #61908 for ExtUtils-ParseXS: MSWin compilers and back-slashed paths
Bug #53938 for ExtUtils-ParseXS: MinGW Broken after 2.21

Also bumps the version to 3.00_04.

13 years agoOops! Update B::Deparse for the (l)stat proto change
Father Chrysostomos [Tue, 26 Jul 2011 20:02:45 +0000 (13:02 -0700)]
Oops! Update B::Deparse for the (l)stat proto change

13 years agoAdd more tests to cproto.t
Father Chrysostomos [Tue, 26 Jul 2011 16:57:09 +0000 (09:57 -0700)]
Add more tests to cproto.t

It was missing tests for three keywords.

13 years ago[perl #95550] Remove prototypes from (l)stat
Father Chrysostomos [Tue, 26 Jul 2011 16:53:15 +0000 (09:53 -0700)]
[perl #95550] Remove prototypes from (l)stat

These prototypes are not correct, and the parsing rules cannot be repre-
sented by a prototype.

13 years agocore_prototype: Remove special cases for lock and tie
Father Chrysostomos [Tue, 26 Jul 2011 06:55:41 +0000 (23:55 -0700)]
core_prototype: Remove special cases for lock and tie

core_prototype now calls scalar_mod_type in the OA_SCALARREF case.

For core functions, the only thing distinguishing the \$ and
\[$@%*] cases during parsing is the call to scalar_mod_type in
op_lvalue_flags.  So calling this same function here just works.

13 years agocore_prototype: Eliminate the special mkdir case
Father Chrysostomos [Tue, 26 Jul 2011 06:40:19 +0000 (23:40 -0700)]
core_prototype: Eliminate the special mkdir case

The prototype-generation code just needed a little tweaking
for this to work.  It assumed that ‘;’ should not be emitted if
PL_opargs[opnum] & OA_DEFGV, which is not necessarily the case.  It
only applies at the beginning of the prototype, hence the n check
(where n is the character position in the protoytpe).  It also changed
the last $ to _ in the OA_DEFGV case, instead of the first.  _ only
comes at the beginning of a prototype (at least for core functions;
ck_fun, incidentally, enforces this), but not necessarily at the end.

13 years agoAdd core_prototype; make pp_prototype use it
Father Chrysostomos [Tue, 26 Jul 2011 05:33:40 +0000 (22:33 -0700)]
Add core_prototype; make pp_prototype use it

This commit moves the code for generating core prototypes into a sepa-
rate function, core_prototype, in op.c. This serves two porpoises:

• It allows the lock and tie exceptional cases to be incorporated into
  the main prototype=generation code, which requires the use of a
  static function in op.c.
• It allows other parts of the core (e.g., the upcoming \&CORE::foo
  feature) to use the same code.

The docs for it are in a section boringly entitled ‘Functions in
op.c’, for lack of a better name. This, I believe, is the only op.c
function that is in perlintern currently, so it’s hard to see what to
name a section that will, at least for now, contain nothing else.

13 years agoUpdated Unicode-Normalize to CPAN version 1.13
Chris 'BinGOs' Williams [Mon, 25 Jul 2011 15:13:43 +0000 (16:13 +0100)]
Updated Unicode-Normalize to CPAN version 1.13

  [DELTA]

  1.13  Mon Jul 25 21:07:49 2011
    - tried fixing the tarball with world writable files.
      ( http://www.perlmonks.org/?node_id=731935 )

13 years agoUpdate Unicode-Collate to CPAN version 0.78
Chris 'BinGOs' Williams [Mon, 25 Jul 2011 15:02:06 +0000 (16:02 +0100)]
Update Unicode-Collate to CPAN version 0.78

  [DELTA]

  0.78  Mon Jul 25 21:29:50 2011
    - tried fixing the tarball with world writable files.
      ( http://www.perlmonks.org/?node_id=731935 )