Abigail [Tue, 6 Jan 2009 12:03:31 +0000]
Added 21st century data to 'SELECTED RELEASE SIZES'
Rafael Garcia-Suarez [Mon, 5 Jan 2009 17:14:01 +0000]
Require a space or a newline after a "#line XXX" directive
This fixes bug [perl #59170] Typo: bad regex for #line directive in perlsyn.
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:59:35 +0000]
Add a --checkout / -c flag to git-find-p4-change
Remove the now obsolete switch_to_perforce_id.pl
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:49:02 +0000]
Remove a couple of p4-specific utilities
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:44:55 +0000]
Delete the largely obsolete Porting/patching.pod
(but move some good advice in there to the perlrepository man page)
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:11:58 +0000]
Use git instead of p4 for the --opened option of Porting/Maintainers
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:01:37 +0000]
Remove notes about -v from perltodo
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:25:03 +0000]
Move .bat gitignores with their unix counterparts
Remove also redundant ignores for produced files in x2p
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:20:19 +0000]
Merge t/.gitignore in main git ignore file
Craig A. Berry [Tue, 6 Jan 2009 04:36:55 +0000]
On VMS, run make_patchnum.pl, not make_patchnum.com
Max Maischein [Mon, 5 Jan 2009 13:22:54 +0000]
Add lib/CORE/ to .gitignore (needed on Windows)
C:\Projekte\bleadperl-git\win32>dmake && git status
[...]
nothing to commit (working directory clean)
C:\Projekte\bleadperl-git\win32>
Steffen Mueller [Mon, 5 Jan 2009 16:04:48 +0000]
Update AutoLoader to 5.68.
Fixes by John Malmberg for running tests when VMS is a UNIX compatible mode.
Rafael Garcia-Suarez [Mon, 5 Jan 2009 13:36:12 +0000]
Emit less PERL_ARGS_ASSERT_* macros
Rafael Garcia-Suarez [Mon, 5 Jan 2009 13:11:00 +0000]
"rm -f" better in "make clean" targets
It always succeeds and does not warn.
Rafael Garcia-Suarez [Mon, 5 Jan 2009 09:53:40 +0000]
Upgrade to Time::HiRes 1.9719
Rafael Garcia-Suarez [Mon, 5 Jan 2009 09:47:45 +0000]
Bump two module versions after Haiku port
CPANPLUS and Module::Build
(see
df00ff3beeb297b9622f8acbed9c80d320c87580)
Ingo Weinhold [Mon, 5 Jan 2009 09:29:56 +0000]
Adjustments to POSIX for the Haiku port
Message-Id: <
20081029022544.413.1@knochen-vm.localdomain>
I re-introduced the use of the WMUNGE() macro, which was
(accidentally?) removed after 5.10.0. The macro is still a hack. As my
added comment explains the use of the OS's W*() macros in this context
is simply not correct and should probably better be fixed.
Nicholas Clark [Mon, 5 Jan 2009 07:18:54 +0000]
Update copyright year to 2009.
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:12:02 +0000]
Correct vim modeline
- ts=4 is evil
- use same settings as in everywhere else in the core sources
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:06:16 +0000]
Typo fix in stock PERL_PATCHNUM definition
Craig A. Berry [Mon, 5 Jan 2009 04:47:45 +0000]
UNKNOWN should not have been a bareword at e9be352
John Malmberg [Sun, 4 Jan 2009 18:42:07 +0000]
VMS posix exit fixes
perl.h and perl.c need further fixes to get VMS to return the expected
POSIX exit codes when that is enabled.
This fix gets the correct numbers except for the SIGTERM case, which
will need some more work.
It also gets the posix exit code to set an error severity on a fatal
exit so that DCL and MMS/MMK or VMS native programs can easily detect a
script failure.
This patch does not address an issue in vms.c where the feature logicals
may not be correctly read. That will follow in a future patch.
The tests have been adjusted to detect when VMS is in the POSIX exit
mode and perform properly.
-John
wb8tyw@gmail.com
--
My qsl.net e-mail address is temporarily out of order.
Craig A. Berry [Mon, 5 Jan 2009 02:58:49 +0000]
Make time64.c's internal copy function names more readable and VMS-friendly.
Yves Orton [Sun, 4 Jan 2009 23:45:02 +0000]
eliminate double stringification, the defines as done in git_version.h are already quoted
Yves Orton [Sun, 4 Jan 2009 22:55:58 +0000]
add better pod and headers, and clean up some whitespace issues in the previous patches
Yves Orton [Sun, 4 Jan 2009 21:41:05 +0000]
eliminate make_patchnum.sh, and make the build process use make_patchnum.pl instead
Yves Orton [Sun, 4 Jan 2009 18:12:53 +0000]
this seems to work, still not using the perl version, but this works the way it would
Yves Orton [Sun, 4 Jan 2009 16:39:25 +0000]
doesnt quite work yet, but provisional steps towards using miniperl to do the git stuff
Max Maischein [Sun, 4 Jan 2009 15:23:16 +0000]
Added stuff so that perl.exe now builds clean with regards to 'git status'
Max Maischein [Sun, 4 Jan 2009 14:57:07 +0000]
Added config.w32 to win32/.gitignore
Max Maischein [Sun, 4 Jan 2009 14:54:41 +0000]
Added win32/.gitignore to ignore stuff from the Windows build
Max Maischein [Sat, 3 Jan 2009 19:32:20 +0000]
Add more documentation to make_patchnum.pl
Yves Orton [Sun, 4 Jan 2009 15:48:27 +0000]
eliminate .patchnum and related infrastrcuture from *nix based build process
Rename the old "unpushed.h" to "git_version.h" and make it hold the defines that used to come from cflags magic
Max Maischein [Sat, 3 Jan 2009 19:21:22 +0000]
Message about making make_patchnum.pl Perl 5.005 compatible (A test for pushing)
Yves Orton [Thu, 1 Jan 2009 17:19:33 +0000]
move subs from bottom to top, and add a vim and shebang line
Yves Orton [Thu, 1 Jan 2009 17:05:53 +0000]
various changes
Kenichi Ishigaki [Thu, 1 Jan 2009 16:41:06 +0000]
Almost a literal conversion of make_patchnum.sh
Yves Orton [Thu, 1 Jan 2009 16:37:52 +0000]
prepare for refactoring to perl
Yves Orton [Thu, 1 Jan 2009 16:36:35 +0000]
modified make_patchnum.sh script
David Mitchell [Sun, 4 Jan 2009 21:41:17 +0000]
bump ExtUtils/MM.pm version number after change 34630 (add Haiku port)
David Mitchell [Sun, 4 Jan 2009 20:54:56 +0000]
bump Errno version number after change 34630 (add Haiku port)
Slaven Rezic [Sun, 4 Jan 2009 16:28:33 +0000]
Another regexp failure with utf8-flagged string and byte-flagged pattern (reminder)
Date: 17 Nov 2007 16:29:29 +0100
Message-ID: <87r6iohova.fsf@biokovo-amd64.herceg.de>
David Mitchell [Sun, 4 Jan 2009 00:19:00 +0000]
make Dumper.xs work with 5.10.x
Nicholas Clark [Sat, 3 Jan 2009 18:06:25 +0000]
Remove duplicate return in S_mro_get_linear_isa_c3() accidentally added by
fa60396f123333e92849ecaecffb9252458d6678
Rafael Garcia-Suarez [Sat, 3 Jan 2009 18:12:18 +0000]
Merge branch 'blead' of camel:/gitroot/perl into blead
Nicholas Clark [Sat, 3 Jan 2009 18:04:17 +0000]
Changing get_isa_hash() to static means that it needs to be wrapped in
an #if defined(PERL_IN_UNIVERSAL_C).
Rafael Garcia-Suarez [Sat, 3 Jan 2009 17:55:29 +0000]
Merge branch 'schwern/y2038' into blead
Conflicts:
lib/Time/Local.pm
lib/Time/Local.t
reentr.h
Michael G. Schwern [Tue, 7 Oct 2008 20:17:10 +0000]
Update from y2038
Fix trailing #endif.
Remove C99 macro.
Michael G. Schwern [Tue, 7 Oct 2008 13:20:46 +0000]
Apply bleadperl@34470 by hand while waiting for the git master to catch up.
Michael G. Schwern [Sat, 4 Oct 2008 22:47:50 +0000]
Turn quads on in the VC configurations.
Michael G. Schwern [Sat, 4 Oct 2008 22:24:54 +0000]
Update from y2038.
Add trace code.
Fix implied negative time in localtie64_r(). This fixes Windows.
Put in some more tests around small negative and positive times to
try and catch the above.
Explain the loss of accuracy due to use of doubles in perlport.
Michael G. Schwern [Sat, 4 Oct 2008 19:12:50 +0000]
Update from y2038
Configuration information split out into its own header.
Added files to MANIFEST
Turn off USE_SYSTEM_GMTIME, ours is more reliable and possibly faster.
Fix type warnings found on Windows.
Remove unnecessary use of floor() and ceil().
Michael G. Schwern [Fri, 3 Oct 2008 20:05:10 +0000]
Fix gmtime() and localtime() so they can pop times larger than 2**55 off the stack. Neither POPn nor SvNVx work when casted to (Time64_T). Had to use a double and then cast.
Also POPq uses an SvIV so that's no good.
This causes an unfortunate loss in accuracy near 2**63 up to 8 minutes.
%lld is broken, it uses regular integers. Need to use doubles and %.0f
instead, again losing accuracy.
Now things can go out to 2**63-512.
Michael G. Schwern [Fri, 3 Oct 2008 20:04:53 +0000]
We are no longer bound by the limits of the tm struct.
Michael G. Schwern [Thu, 2 Oct 2008 21:30:26 +0000]
Fix pulling a large time off the stack by using a real double. What I really need is SvQV.
Fix list context with large years.
List context can now go to 2**63-513. I don't know why that's not 2**63-1
but I'll take it. Maybe double imprecision.
Scalar context with large years still busted. It appears to be something
inside Perl_newSVpvf().
Michael G. Schwern [Thu, 2 Oct 2008 20:18:54 +0000]
Remove the AIX work around code. Instead it should just set it's LOCALTIME_MAX to 0x
7fff573e.
Update from y2038.
Use the new TM64 struct so years can go out past y2**31
Defines a Year type to avoid converting years to ints.
Remove the TIMGM work around code, using timegm64() is fine and it
saves us from having to convert from TM to tm.
Make functions private with static rather than the _foo convention.
Even faster for distant dates.
Michael G. Schwern [Mon, 29 Sep 2008 19:55:17 +0000]
Rename localtime64.[ch] to time64.[ch] to mirror change in y2038, and the file isn't about just localtime() anymore.
Michael G. Schwern [Mon, 29 Sep 2008 16:07:29 +0000]
Everything should now work with negative times, so let's pull out all the skips from the tests.
Michael G. Schwern [Mon, 29 Sep 2008 15:44:44 +0000]
Update some docs to explain that Perl no longer has a 2038 bug.
Michael G. Schwern [Mon, 29 Sep 2008 15:05:17 +0000]
Update from y2038
Work around a system that doesn't have gm/localtime_r(). This replaces Perl's
own gm/localtime() wrapper which couldn't be called outside a PP anyway
because it needs my_perl.
Michael G. Schwern [Sat, 27 Sep 2008 19:43:22 +0000]
Update from y2038
Fix a bug in the code to use the system gmtime, it was using localtime.
Define a Year type to avoid mixing years and ints unintentionally.
Do some explicit casting to prop up compilers that don't understand
X % Y can never be larger than Y.
Michael G. Schwern [Tue, 23 Sep 2008 17:50:16 +0000]
Fix the test plan on gmtime
Use the new LOCALTIME_MIN/MAX constants.
Use the system gmtime, it'll probably be faster... maybe.
Michael G. Schwern [Fri, 19 Sep 2008 21:46:48 +0000]
We are no longer slaves to the vagaries of time_t.
Michael G Schwern [Tue, 16 Sep 2008 02:28:06 +0000]
Update from y2038 project.
Fix localtime() handling of xx01 and -xx99 years. That is, years just after
a non-leap exceptional century.
Michael G Schwern [Mon, 15 Sep 2008 04:30:59 +0000]
Update from y2038
Fix localtime() for negative real years (ie. Year -208)
Michael G Schwern [Mon, 15 Sep 2008 01:29:27 +0000]
Pull in changes from y2038
Fix localtime() for negative dates.
Michael G Schwern [Sun, 14 Sep 2008 22:26:16 +0000]
Update from y2038 project.
Fix localtime64's over and underflow handling.
Michael G Schwern [Sun, 14 Sep 2008 21:57:07 +0000]
Fix the overflow warning to just check for an error.
Fix the overflow warning to identify the right op.
Michael G Schwern [Sun, 14 Sep 2008 21:50:38 +0000]
Update from y2038.
Fix the logic when to use the system functions to include the min check.
-
2147483648 was throwing a warning. -2147483647 does not.
Michael G Schwern [Sun, 14 Sep 2008 02:40:58 +0000]
Write down the logic behind the localtime vs gmtime date ranges.
Michael G Schwern [Sun, 14 Sep 2008 02:26:38 +0000]
Cleaning up the Time::gmtime and Time::localtime tests and make them go past 2038.
I'm a little nervous about assuming negative times are going to work with
localtime(), but gmtime() is safe.
Michael G Schwern [Sat, 13 Sep 2008 13:13:41 +0000]
Change the way the check_tm assertion function is compiled out by wrapping them in assert calls. This jives better with the way perl turns off asserts.
Put the localtime64.h include back. We need the typedefs.
Michael G Schwern [Sat, 13 Sep 2008 12:58:09 +0000]
Remove all of localtime64's own includes. Perl's already done that and we're loading assert.h, accidentally turning on asserts when perl.h wants them off.
Michael G Schwern [Sat, 13 Sep 2008 11:26:47 +0000]
Update from the latest y2038.
Include the ability to use the system functions. This speeds up localtime()
several times when the time is < 32 bits.
Don't bother using the system gmtime() as it will probably just have bugs.
We need to wait for config to give us LOCALTIME_MIN/MAX but I think assuming
time_t is at least 32 bits is good enough for now.
This restores the full performance of localtime() for < 32 bit numbers
and gmtime() is now only 10% slower.
Michael G Schwern [Sat, 13 Sep 2008 10:01:53 +0000]
Update to the latest version of the y2038 code.
In this update...
* Replace unportable "long" with Quad_t
* Improve performance for current and future dates.
* Provide a version of timegm() if its not available.
* Wrap the use of EOVERFLOW in case its not portable.
This should address all known portabilty issues.
Michael G Schwern [Sat, 13 Sep 2008 00:18:02 +0000]
Patch in a 64 bit clean gmtime_r() and localtime_r() from the y2038 project. y2038.googlecode.com/ so Perl is no longer subject to the y2038 bug.
Use Quad_t for our 64 bit time_t replacement.
Temporarily through out the "broken localtime work around". That will
have to be integrated into localtime64_r().
Fix Time::Local to handle the new expanded date range. "use integer" had
to go as it pegged scalars to 32 bit integers which aren't large enough
to hold the new time range.
There are probably portability issues. timegm, for example, is not portable.
Also the assumption that "long" is 64 bits is probably wrong.
David Mitchell [Sat, 3 Jan 2009 14:19:00 +0000]
add -d option to Porting/cmpVERSION.pl to display diffs
David Mitchell [Sat, 3 Jan 2009 13:51:28 +0000]
some more Porting/ script documentation
David Mitchell [Sat, 3 Jan 2009 13:38:16 +0000]
Add some basic decriptions and/or usage info to some Porting/ scripts
Nicholas Clark [Sat, 3 Jan 2009 10:38:28 +0000]
get_isa_hash() is only used in S_isa_lookup(), so it can be static. Also, it has
never been in a released version of perl, so this change has no compatibility
implications.
Nicholas Clark [Sat, 3 Jan 2009 10:23:16 +0000]
Following change 34356, which decoupled get_isa_hash() from
S_mro_get_linear_isa_dfs(), we can move get_isa_hash() to any other source file.
Ben Morrow [Sat, 3 Jan 2009 08:23:32 +0000]
Fix a thinko in regression test for [perl #54956]
(follows to commit
8c8eee8276dbc780932b841fe5183943a7117a3d)
Paul Fenwick [Sat, 3 Jan 2009 01:17:32 +0000]
Subject: [PATCH] Update autodie to 1.998
From: Paul Fenwick <pjf@perltraining.com.au>
Date: Sat, 03 Jan 2009 11:32:59 +1100
Message-ID: <
495EB23B.6080504@perltraining.com.au>
Yuval Kogman [Fri, 15 Aug 2008 13:59:15 +0000]
a test for Paul Evan's qr leak
ian.goodacre@xtra.co.nz (via RT) [Fri, 2 Jan 2009 13:36:54 +0000]
[perl #61392] Method call documentation in perlobj.pod
Yuval Kogman [Sat, 28 Jun 2008 22:40:36 +0000]
More comprehensive smartmatch.t, supersedes smobj.t
Yuval Kogman [Sat, 28 Jun 2008 22:40:35 +0000]
add eval and error support to the t/op/smartmatch.t test
Yuval Kogman [Sat, 28 Jun 2008 22:40:34 +0000]
add undef tests to t/op/smartmatch.t
Paul Fenwick [Fri, 2 Jan 2009 11:26:29 +0000]
Minimal mention of overloading.pm in overload.pm
Vincent Pit [Fri, 2 Jan 2009 11:24:44 +0000]
In amagic_call(), offset should be strictly lesser than the SV len to be allowed to access the corresponding string buffer byte
Rafael Garcia-Suarez [Fri, 2 Jan 2009 11:08:13 +0000]
Merge branch 'failing-test-for-overloading-pragma' into blead
Rafael Garcia-Suarez [Fri, 2 Jan 2009 11:05:59 +0000]
Add a new test for overloading.pm
This one overloads "cos", which is currently at the end of the
overload table, so we properly test the bitstring stored in %^H
Vincent Pit [Fri, 2 Jan 2009 11:01:50 +0000]
Fix overload index mismatch in overloading logic.
In amagic_call(), the 'method' arg comes the overload enum in overload.h, but is expected to match the bit set from %overloading::numbers::names. It values wrongly start at 1, differing by 1 from the enum indexes. This didn't appear in the tests because 'method' was reduced modulo 7 instead of 8.
Rafael Garcia-Suarez [Fri, 2 Jan 2009 10:41:41 +0000]
Bump coopyright year in embed.pl and various files that were just touched
(and run "make regen")
Rafael Garcia-Suarez [Fri, 2 Jan 2009 10:40:48 +0000]
Factorize numeric constant for "overloading" lexical hint
karl williamson [Fri, 2 Jan 2009 10:22:02 +0000]
Faster sv_utf8_upgrade()
Consider what currently happens when the tokenizer is scanning a string.
It looks through it byte-by-byte until it finds a character that forces
it to decide to go to utf8. It then calls sv_utf8_upgrade() with the
portion of the string scanned so far.
sv_utf8_upgrade() starts over from the beginning, and scans the string
byte-by-byte until it finds a character that varies between non-utf8 and
utf8. It then calls bytes_to_utf8().
bytes_to_utf8() allocates a new string that can handle the worst case
expansion, 2n+1, of the entire string, and starts over from the
beginning, and scans the input string byte-by-byte copying and
converting each character to the output string as it goes.
It doesn't return the size of the new string, so sv_utf8_upgrade()
assumes it is only as big as what actually got converted, throwing away
knowledge of any spare.
It then returns to the tokenizer, which immediately does a grow to get
space for the unparsed input. This is likely to cause a new string to
be allocated and copied from the one we had just created, even if that
string in actuality had enough space in it.
Thus, the invariant head portion of the string is scanned 3 times, and
probably 2 strings will be allocated and copied.
My solution to cutting this down is to do several things.
First, I added an extra flag for sv_utf8_upgrade that says don't bother
to check if the string needs to be converted to utf8, just assume it
does. This eliminates one of the passes.
I also added a new parameter to sv_utf8_upgrade that says when you
return, I want this much unused space in the string. That eliminates
the extra grow.
This was all done by renaming the current work-horse function from
sv_utf8_upgrade_flags to be sv_utf8_upgrade_flags_grow() and making the
current function name be a macro which calls the revised one with a 0
grow parameter.
I also improved the internal efficiency of sv_utf8_upgrade so that when
it does scan the string, it doesn't call bytes_to_utf8, but does the
conversion itself, using a fast memory copy instead of the byte-oriented
one for the invariant header, and it uses that header to get a better
estimate of the needed size of the new string, and it doesn't throw away
the knowledge of the allocated size.
And, if it is clear without scanning the whole string that the
conversion will fit in the already allocated string, it just uses that
instead of allocating and copying a new one, using the algorithm I
copied from the tokenizer. (In this case it does have to finish
scanning the whole string to get the correct size.) The comments have
details.
It still is byte-oriented. Vectorization et. al. could yield
performance improvements. One idea for that is in the comments.
The patch also includes a new synonym I created which is a more accurate
name than NATIVE_TO_ASCII.
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:46:53 +0000]
Merge branch 'yuval/overloading' into blead
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:46:22 +0000]
Bump copyright year after previous change
Ben Morrow [Fri, 2 Jan 2009 09:41:52 +0000]
[perl #54956] crash on binary-or lvalue operation on qr//
This fixes the following problem:
-e 'my $re = qr/x/; $re |= "y"'
assert failure under 5.10.0, 10-maint, bleed, but not 5.8.8
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:31:24 +0000]
Mention overloading.pm in perl5110delta