This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
12 years agoFixed some spelling errors
Abigail [Fri, 9 Jan 2009 16:00:37 +0000 (17:00 +0100)]
Fixed some spelling errors

12 years agoChange the link to the sort pragma to be more clear.
Abigail [Fri, 9 Jan 2009 13:09:24 +0000 (14:09 +0100)]
Change the link to the sort pragma to be more clear.
This fixes #62136, reported by rrt@sc3d.org.

12 years agovms.c backslash efs and long name fixes
John Malmberg [Thu, 8 Jan 2009 22:37:19 +0000 (16:37 -0600)]
vms.c backslash efs and long name fixes

Message-id: <496552AF.7040702@gmail.com>

This fixes the support for the backslash in a file name as it shows up
in the ExtUtils tests.

Also the flag for rename to work on efs file specifications was
incorrectly the bit number instead of the mask value.

12 years agoext/File/Gob/t/basic.t, ext/POSIX/t/posix.t vms fixes
John Malmberg [Sun, 4 Jan 2009 19:06:54 +0000 (13:06 -0600)]
ext/File/Gob/t/basic.t, ext/POSIX/t/posix.t vms fixes

Message-id: <496108CE.1060704@gmail.com>

The tests ext/File/Glob/t/basic.t and ext/POSIX/t/posix.t need to know
if VMS is in the UNIX compatible mode.

12 years agolib/blib.t, lib/h2xs.t patches for VMS
John Malmberg [Sun, 4 Jan 2009 19:13:45 +0000 (13:13 -0600)]
lib/blib.t, lib/h2xs.t patches for VMS

Message-id: <49610A69.3020908@gmail.com>

The tests lib/blib.t and lib/h2xs.t need fixes to know when VMS is in
the UNIX report mode.

12 years agomkppport using catfile for catdir
John Malmberg [Sun, 4 Jan 2009 18:45:11 +0000 (12:45 -0600)]
mkppport using catfile for catdir

Message-id: <496103B7.1000308@gmail.com>

12 years agot/op/chdir.t, t/op/defins.t on VMS
John Malmberg [Sun, 4 Jan 2009 18:58:03 +0000 (12:58 -0600)]
t/op/chdir.t, t/op/defins.t on VMS

Message-id: <496106BB.9020102@gmail.com>

The test t/op/chdir.t needs to expect that returned dir could be in
either case or in VMS or UNIX formst.

The test t/op/defins.t needs to know of VMS is dropping dots on
filenames when VMS is in the UNIX REPORT mode.

12 years agot/x2p/s2p.t fix for VMS in UNIX mode
John Malmberg [Sun, 4 Jan 2009 20:48:08 +0000 (14:48 -0600)]
t/x2p/s2p.t fix for VMS in UNIX mode

Message-id: <49612088.4010005@gmail.com>

When VMS is in UNIX mode, conversions from UNIX specifications to VMS
can result in a trailing '.' which needs to be removed if the intent is
to default the extension.

12 years agoFixed spelling of 'uncondtional', as reported by Ronald J Kimball
Abigail [Thu, 8 Jan 2009 16:31:17 +0000 (17:31 +0100)]
Fixed spelling of 'uncondtional', as reported by Ronald J Kimball
in 20090108160007.GA85010@penkwe.pair.com.

12 years agoMake File::Copy detect Unix compatibility mode on VMS.
John Malmberg [Sun, 4 Jan 2009 19:45:24 +0000 (13:45 -0600)]
Make File::Copy detect Unix compatibility mode on VMS.

Message-id: <496111D4.8030007@gmail.com>

This is needed as part of Perl support for VMS in UNIX or using the
extended character set.

Patch amended to only check for the VMS::Feature module on VMS.

12 years agoUse a slightly more paranoid regex
Rafael Garcia-Suarez [Wed, 7 Jan 2009 17:49:19 +0000 (18:49 +0100)]
Use a slightly more paranoid regex

12 years agosort MANIFEST
David Golden [Wed, 7 Jan 2009 20:48:43 +0000 (15:48 -0500)]
sort MANIFEST

12 years agoCPAN.pm on CPAN is considered upstream
Steffen Mueller [Wed, 7 Jan 2009 14:38:16 +0000 (15:38 +0100)]
CPAN.pm on CPAN is considered upstream

12 years agoVMS feature logical name fixes
John Malmberg [Wed, 7 Jan 2009 04:52:49 +0000 (22:52 -0600)]
VMS feature logical name fixes

12 years agoVMS thread context fixes
John Malmberg [Wed, 7 Jan 2009 04:21:17 +0000 (22:21 -0600)]
VMS thread context fixes

12 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Abigail [Tue, 6 Jan 2009 23:04:31 +0000 (00:04 +0100)]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

12 years agoAdd David Golden (DAGOLDEN) to AUTHORS
David Golden [Tue, 6 Jan 2009 22:45:37 +0000 (17:45 -0500)]
Add David Golden (DAGOLDEN) to AUTHORS

12 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Abigail [Tue, 6 Jan 2009 16:51:08 +0000 (17:51 +0100)]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

12 years agoUpdated the 'some statistics for the other subdirectories' to include
Abigail [Tue, 6 Jan 2009 16:49:16 +0000 (17:49 +0100)]
Updated the 'some statistics for the other subdirectories' to include
data for the 5.6.0 to 5.10.0 releases.

12 years agoAvoid wrapping long lines when displaying as man page
Abigail [Tue, 6 Jan 2009 16:13:03 +0000 (17:13 +0100)]
Avoid wrapping long lines when displaying as man page

12 years agoSync with Filter::Simple 0.84 which has a CPAN-relevant fix in the Makefile.PL only
Steffen Mueller [Tue, 6 Jan 2009 12:06:58 +0000 (13:06 +0100)]
Sync with Filter::Simple 0.84 which has a CPAN-relevant fix in the Makefile.PL only

12 years agoCalculated patch sizes for the modern era.
Abigail [Tue, 6 Jan 2009 15:07:05 +0000 (16:07 +0100)]
Calculated patch sizes for the modern era.

12 years agoUpdate data for 5.7.3 release
Abigail [Tue, 6 Jan 2009 14:31:35 +0000 (15:31 +0100)]
Update data for 5.7.3 release

12 years agoRemove duplicate entry
Abigail [Tue, 6 Jan 2009 13:45:46 +0000 (14:45 +0100)]
Remove duplicate entry

12 years agoAdded 21st century data to 'SELECTED RELEASE SIZES'
Abigail [Tue, 6 Jan 2009 12:03:31 +0000 (13:03 +0100)]
Added 21st century data to 'SELECTED RELEASE SIZES'

12 years agoRequire a space or a newline after a "#line XXX" directive
Rafael Garcia-Suarez [Mon, 5 Jan 2009 17:14:01 +0000 (18:14 +0100)]
Require a space or a newline after a "#line XXX" directive

This fixes bug [perl #59170] Typo: bad regex for #line directive in perlsyn.

12 years agoAdd a --checkout / -c flag to git-find-p4-change
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:59:35 +0000 (09:59 +0100)]
Add a --checkout / -c flag to git-find-p4-change

Remove the now obsolete switch_to_perforce_id.pl

12 years agoRemove a couple of p4-specific utilities
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:49:02 +0000 (09:49 +0100)]
Remove a couple of p4-specific utilities

12 years agoDelete the largely obsolete Porting/patching.pod
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:44:55 +0000 (09:44 +0100)]
Delete the largely obsolete Porting/patching.pod

(but move some good advice in there to the perlrepository man page)

12 years agoUse git instead of p4 for the --opened option of Porting/Maintainers
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:11:58 +0000 (09:11 +0100)]
Use git instead of p4 for the --opened option of Porting/Maintainers

12 years agoRemove notes about -v from perltodo
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:01:37 +0000 (09:01 +0100)]
Remove notes about -v from perltodo

12 years agoMove .bat gitignores with their unix counterparts
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:25:03 +0000 (09:25 +0100)]
Move .bat gitignores with their unix counterparts

Remove also redundant ignores for produced files in x2p

12 years agoMerge t/.gitignore in main git ignore file
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:20:19 +0000 (09:20 +0100)]
Merge t/.gitignore in main git ignore file

12 years agoOn VMS, run make_patchnum.pl, not make_patchnum.com
Craig A. Berry [Tue, 6 Jan 2009 04:36:55 +0000 (22:36 -0600)]
On VMS, run make_patchnum.pl, not make_patchnum.com

12 years agoAdd lib/CORE/ to .gitignore (needed on Windows)
Max Maischein [Mon, 5 Jan 2009 13:22:54 +0000 (14:22 +0100)]
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>

12 years agoUpdate AutoLoader to 5.68.
Steffen Mueller [Mon, 5 Jan 2009 16:04:48 +0000 (17:04 +0100)]
Update AutoLoader to 5.68.

Fixes by John Malmberg for running tests when VMS is a UNIX compatible mode.

12 years agoEmit less PERL_ARGS_ASSERT_* macros
Rafael Garcia-Suarez [Mon, 5 Jan 2009 13:36:12 +0000 (14:36 +0100)]
Emit less PERL_ARGS_ASSERT_* macros

12 years ago"rm -f" better in "make clean" targets
Rafael Garcia-Suarez [Mon, 5 Jan 2009 13:11:00 +0000 (14:11 +0100)]
"rm -f" better in "make clean" targets

It always succeeds and does not warn.

12 years agoUpgrade to Time::HiRes 1.9719
Rafael Garcia-Suarez [Mon, 5 Jan 2009 09:53:40 +0000 (10:53 +0100)]
Upgrade to Time::HiRes 1.9719

12 years agoBump two module versions after Haiku port
Rafael Garcia-Suarez [Mon, 5 Jan 2009 09:47:45 +0000 (10:47 +0100)]
Bump two module versions after Haiku port

CPANPLUS and Module::Build
(see df00ff3beeb297b9622f8acbed9c80d320c87580)

12 years agoAdjustments to POSIX for the Haiku port
Ingo Weinhold [Mon, 5 Jan 2009 09:29:56 +0000 (10:29 +0100)]
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.

12 years agoUpdate copyright year to 2009.
Nicholas Clark [Mon, 5 Jan 2009 07:18:54 +0000 (07:18 +0000)]
Update copyright year to 2009.

12 years agoCorrect vim modeline
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:12:02 +0000 (08:12 +0100)]
Correct vim modeline

- ts=4 is evil
- use same settings as in everywhere else in the core sources

12 years agoTypo fix in stock PERL_PATCHNUM definition
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:06:16 +0000 (08:06 +0100)]
Typo fix in stock PERL_PATCHNUM definition

12 years agoUNKNOWN should not have been a bareword at e9be352
Craig A. Berry [Mon, 5 Jan 2009 04:47:45 +0000 (22:47 -0600)]
UNKNOWN should not have been a bareword at e9be352

12 years agoVMS posix exit fixes
John Malmberg [Sun, 4 Jan 2009 18:42:07 +0000 (12:42 -0600)]
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.

12 years agoMake time64.c's internal copy function names more readable and VMS-friendly.
Craig A. Berry [Mon, 5 Jan 2009 02:58:49 +0000 (20:58 -0600)]
Make time64.c's internal copy function names more readable and VMS-friendly.

12 years agoeliminate double stringification, the defines as done in git_version.h are already...
Yves Orton [Sun, 4 Jan 2009 23:45:02 +0000 (00:45 +0100)]
eliminate double stringification, the defines as done in git_version.h are already quoted

12 years agoadd better pod and headers, and clean up some whitespace issues in the previous patches
Yves Orton [Sun, 4 Jan 2009 22:55:58 +0000 (23:55 +0100)]
add better pod and headers, and clean up some whitespace issues in the previous patches

12 years agoeliminate make_patchnum.sh, and make the build process use make_patchnum.pl instead
Yves Orton [Sun, 4 Jan 2009 21:41:05 +0000 (22:41 +0100)]
eliminate make_patchnum.sh, and make the build process use make_patchnum.pl instead

12 years agothis seems to work, still not using the perl version, but this works the way it would
Yves Orton [Sun, 4 Jan 2009 18:12:53 +0000 (19:12 +0100)]
this seems to work, still not using the perl version, but this works the way it would

12 years agodoesnt quite work yet, but provisional steps towards using miniperl to do the git...
Yves Orton [Sun, 4 Jan 2009 16:39:25 +0000 (17:39 +0100)]
doesnt quite work yet, but provisional steps towards using miniperl to do the git stuff

12 years agoAdded stuff so that perl.exe now builds clean with regards to 'git status'
Max Maischein [Sun, 4 Jan 2009 15:23:16 +0000 (16:23 +0100)]
Added stuff so that perl.exe now builds clean with regards to 'git status'

12 years agoAdded config.w32 to win32/.gitignore
Max Maischein [Sun, 4 Jan 2009 14:57:07 +0000 (15:57 +0100)]
Added config.w32 to win32/.gitignore

12 years agoAdded win32/.gitignore to ignore stuff from the Windows build
Max Maischein [Sun, 4 Jan 2009 14:54:41 +0000 (15:54 +0100)]
Added win32/.gitignore to ignore stuff from the Windows build

12 years agoAdd more documentation to make_patchnum.pl
Max Maischein [Sat, 3 Jan 2009 19:32:20 +0000 (20:32 +0100)]
Add more documentation to make_patchnum.pl

12 years agoeliminate .patchnum and related infrastrcuture from *nix based build process
Yves Orton [Sun, 4 Jan 2009 15:48:27 +0000 (16:48 +0100)]
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

12 years agoMessage about making make_patchnum.pl Perl 5.005 compatible (A test for pushing)
Max Maischein [Sat, 3 Jan 2009 19:21:22 +0000 (20:21 +0100)]
Message about making make_patchnum.pl Perl 5.005 compatible (A test for pushing)

12 years agomove subs from bottom to top, and add a vim and shebang line
Yves Orton [Thu, 1 Jan 2009 17:19:33 +0000 (18:19 +0100)]
move subs from bottom to top, and add a vim and shebang line

12 years agovarious changes
Yves Orton [Thu, 1 Jan 2009 17:05:53 +0000 (18:05 +0100)]
various changes

12 years agoAlmost a literal conversion of make_patchnum.sh
Kenichi Ishigaki [Thu, 1 Jan 2009 16:41:06 +0000 (17:41 +0100)]
Almost a literal conversion of make_patchnum.sh

12 years agoprepare for refactoring to perl
Yves Orton [Thu, 1 Jan 2009 16:37:52 +0000 (17:37 +0100)]
prepare for refactoring to perl

12 years agomodified make_patchnum.sh script
Yves Orton [Thu, 1 Jan 2009 16:36:35 +0000 (17:36 +0100)]
modified make_patchnum.sh script

12 years agobump ExtUtils/MM.pm version number after change 34630 (add Haiku port)
David Mitchell [Sun, 4 Jan 2009 21:41:17 +0000 (21:41 +0000)]
bump ExtUtils/MM.pm version number after change 34630 (add Haiku port)

12 years agobump Errno version number after change 34630 (add Haiku port)
David Mitchell [Sun, 4 Jan 2009 20:54:56 +0000 (20:54 +0000)]
bump Errno version number after change 34630 (add Haiku port)

12 years agoAnother regexp failure with utf8-flagged string and byte-flagged pattern (reminder)
Slaven Rezic [Sun, 4 Jan 2009 16:28:33 +0000 (17:28 +0100)]
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>

12 years agomake Dumper.xs work with 5.10.x
David Mitchell [Sun, 4 Jan 2009 00:19:00 +0000 (00:19 +0000)]
make Dumper.xs work with 5.10.x

12 years agoRemove duplicate return in S_mro_get_linear_isa_c3() accidentally added by
Nicholas Clark [Sat, 3 Jan 2009 18:06:25 +0000 (18:06 +0000)]
Remove duplicate return in S_mro_get_linear_isa_c3() accidentally added by
fa60396f123333e92849ecaecffb9252458d6678

12 years agoMerge branch 'blead' of camel:/gitroot/perl into blead
Rafael Garcia-Suarez [Sat, 3 Jan 2009 18:12:18 +0000 (19:12 +0100)]
Merge branch 'blead' of camel:/gitroot/perl into blead

12 years agoChanging get_isa_hash() to static means that it needs to be wrapped in
Nicholas Clark [Sat, 3 Jan 2009 18:04:17 +0000 (18:04 +0000)]
Changing get_isa_hash() to static means that it needs to be wrapped in
an #if defined(PERL_IN_UNIVERSAL_C).

12 years agoMerge branch 'schwern/y2038' into blead
Rafael Garcia-Suarez [Sat, 3 Jan 2009 17:55:29 +0000 (18:55 +0100)]
Merge branch 'schwern/y2038' into blead

Conflicts:

lib/Time/Local.pm
lib/Time/Local.t
reentr.h

12 years agoUpdate from y2038
Michael G. Schwern [Tue, 7 Oct 2008 20:17:10 +0000 (16:17 -0400)]
Update from y2038

Fix trailing #endif.

Remove C99 macro.

12 years agoApply bleadperl@34470 by hand while waiting for the git master to catch up.
Michael G. Schwern [Tue, 7 Oct 2008 13:20:46 +0000 (09:20 -0400)]
Apply bleadperl@34470 by hand while waiting for the git master to catch up.

12 years agoTurn quads on in the VC configurations.
Michael G. Schwern [Sat, 4 Oct 2008 22:47:50 +0000 (18:47 -0400)]
Turn quads on in the VC configurations.

12 years agoUpdate from y2038.
Michael G. Schwern [Sat, 4 Oct 2008 22:24:54 +0000 (18:24 -0400)]
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.

12 years agoUpdate from y2038
Michael G. Schwern [Sat, 4 Oct 2008 19:12:50 +0000 (15:12 -0400)]
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().

12 years agoFix gmtime() and localtime() so they can pop times larger than 2**55 off the stack...
Michael G. Schwern [Fri, 3 Oct 2008 20:05:10 +0000 (16:05 -0400)]
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.

12 years agoWe are no longer bound by the limits of the tm struct.
Michael G. Schwern [Fri, 3 Oct 2008 20:04:53 +0000 (16:04 -0400)]
We are no longer bound by the limits of the tm struct.

12 years agoFix pulling a large time off the stack by using a real double. What I really need...
Michael G. Schwern [Thu, 2 Oct 2008 21:30:26 +0000 (17:30 -0400)]
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().

12 years agoRemove the AIX work around code. Instead it should just set it's LOCALTIME_MAX to...
Michael G. Schwern [Thu, 2 Oct 2008 20:18:54 +0000 (16:18 -0400)]
Remove the AIX work around code. Instead it should just set it's LOCALTIME_MAX to 0x7fff573e.

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.

12 years agoRename localtime64.[ch] to time64.[ch] to mirror change in y2038, and the file isn...
Michael G. Schwern [Mon, 29 Sep 2008 19:55:17 +0000 (15:55 -0400)]
Rename localtime64.[ch] to time64.[ch] to mirror change in y2038, and the file isn't about just localtime() anymore.

12 years agoEverything should now work with negative times, so let's pull out all the skips from...
Michael G. Schwern [Mon, 29 Sep 2008 16:07:29 +0000 (12:07 -0400)]
Everything should now work with negative times, so let's pull out all the skips from the tests.

12 years agoUpdate some docs to explain that Perl no longer has a 2038 bug.
Michael G. Schwern [Mon, 29 Sep 2008 15:44:44 +0000 (11:44 -0400)]
Update some docs to explain that Perl no longer has a 2038 bug.

12 years agoUpdate from y2038
Michael G. Schwern [Mon, 29 Sep 2008 15:05:17 +0000 (11:05 -0400)]
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.

12 years agoUpdate from y2038
Michael G. Schwern [Sat, 27 Sep 2008 19:43:22 +0000 (15:43 -0400)]
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.

12 years agoFix the test plan on gmtime
Michael G. Schwern [Tue, 23 Sep 2008 17:50:16 +0000 (10:50 -0700)]
Fix the test plan on gmtime

Use the new LOCALTIME_MIN/MAX constants.

Use the system gmtime, it'll probably be faster... maybe.

12 years agoWe are no longer slaves to the vagaries of time_t.
Michael G. Schwern [Fri, 19 Sep 2008 21:46:48 +0000 (14:46 -0700)]
We are no longer slaves to the vagaries of time_t.

12 years agoUpdate from y2038 project.
Michael G Schwern [Tue, 16 Sep 2008 02:28:06 +0000 (19:28 -0700)]
Update from y2038 project.

Fix localtime() handling of xx01 and -xx99 years.  That is, years just after
a non-leap exceptional century.

12 years agoUpdate from y2038
Michael G Schwern [Mon, 15 Sep 2008 04:30:59 +0000 (21:30 -0700)]
Update from y2038

Fix localtime() for negative real years (ie. Year -208)

12 years agoPull in changes from y2038
Michael G Schwern [Mon, 15 Sep 2008 01:29:27 +0000 (18:29 -0700)]
Pull in changes from y2038

Fix localtime() for negative dates.

12 years agoUpdate from y2038 project.
Michael G Schwern [Sun, 14 Sep 2008 22:26:16 +0000 (15:26 -0700)]
Update from y2038 project.

Fix localtime64's over and underflow handling.

12 years agoFix the overflow warning to just check for an error.
Michael G Schwern [Sun, 14 Sep 2008 21:57:07 +0000 (14:57 -0700)]
Fix the overflow warning to just check for an error.

Fix the overflow warning to identify the right op.

12 years agoUpdate from y2038.
Michael G Schwern [Sun, 14 Sep 2008 21:50:38 +0000 (14:50 -0700)]
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.

12 years agoWrite down the logic behind the localtime vs gmtime date ranges.
Michael G Schwern [Sun, 14 Sep 2008 02:40:58 +0000 (19:40 -0700)]
Write down the logic behind the localtime vs gmtime date ranges.

12 years agoCleaning up the Time::gmtime and Time::localtime tests and make them go past 2038.
Michael G Schwern [Sun, 14 Sep 2008 02:26:38 +0000 (19:26 -0700)]
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.

12 years agoChange the way the check_tm assertion function is compiled out by wrapping them in...
Michael G Schwern [Sat, 13 Sep 2008 13:13:41 +0000 (06:13 -0700)]
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.

12 years agoRemove all of localtime64's own includes. Perl's already done that and we're loading...
Michael G Schwern [Sat, 13 Sep 2008 12:58:09 +0000 (05:58 -0700)]
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.

12 years agoUpdate from the latest y2038.
Michael G Schwern [Sat, 13 Sep 2008 11:26:47 +0000 (04:26 -0700)]
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.

12 years agoUpdate to the latest version of the y2038 code.
Michael G Schwern [Sat, 13 Sep 2008 10:01:53 +0000 (03:01 -0700)]
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.

12 years agoPatch in a 64 bit clean gmtime_r() and localtime_r() from the y2038 project. http...
Michael G Schwern [Sat, 13 Sep 2008 00:18:02 +0000 (17:18 -0700)]
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.