Do not apply RSTRING_PTR, a macro which evaluats its argument
multiple times, on a function call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (Init_date_core): moved methods which make
sense only for DateTime to that class, instead of defining
private methods in Date and making them public in DateTime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (ComplexDateData): reordered to adjust
common part with SimpleDateData.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (date_initialize): separate from
date_s_civil and obey the allocation framework.
* ext/date/date_core.c (datetime_initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_marshal_load): respect COMPLEX_DAT
bit in the pre-allocated structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_initialize_copy): do not change
COMPLEX_DAT bit, as the structure does not change. initialize
member-wise instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (set_to_simple, set_to_complex): always
set/reset COMPLEX_DAT bit, which is very tightly bound to the
structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Instead of in configure.in. As of r28592 the HAVE_VAR_TIMEZONE and
HAVE_VAR_ALTZONE macros are only used by ext/date. ext/date doesn't care
whether they are int or long, so just check for the existence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c: [DOC] fix documentation for %Z format
of {Date,DateTime}.strftime.
Reported by Damon Timm. Based on a patch by nano.
[ruby-core:79602] [Bug #13231] [Fix GH-1565]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c: [DOC] fix format string for DateTime#rfc3339.
Reported by Andreas Rayo Kniep. [ruby-core:68418] [Bug #10936]
* ext/date/date_core.c: [DOC] ditto for DateTime#iso8601 and
DateTime#xmlschema; other small improvements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c: [DOC] expand docs for Date shifting
* add examples for Date#>> and Date#<< that clarify some edge cases
* add examples for Date#next_year and Date#prev_year
* add cross references to Date#>> and Date#<<
[ruby-core:79584] [Bug #13225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix malformed rdoc for Date#today, Date._strptime,
and DateTime._strptime
* add code examples for Date#<< and Date#>> to demonstrate
that different dates can result in the same return value
* use Date::ITALY in call-seq instead of only ITALY
* fix some copy/paste mistakes where Date should be DateTime
* fix various errors and grammar
* fix cross references and formatting
[ruby-core:79433] [Bug #13193]
Author: Marcus Stollsteimer <sto.mar@web.de>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (decode_jd): do not assert type of
argument. just try to convert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and
underlying inline function to check if the object is an
Integer (Fixnum or Bignum).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC]
fix indent not to be a big sole verbatim.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (dt_lite_iso8601): strftimev() always
returns a String, so append them directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv),
(dt_lite_jisx0301): format by the format string in local buffer
to prevent intermediate strings from GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c (d_lite_lshift): should check the argument
before negation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/bigdecimal/bigdecimal.c: use RARRAY_CONST_PTR just fore
reference instead of RARRAY_PTR, to keep the array WB-protected.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext: use long for index instead of int and RARRAY_LENINT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e