summaryrefslogtreecommitdiff
path: root/ext/date/date_core.c
AgeCommit message (Collapse)Author
2018-12-13Separate RSTRING_PTR from a function callnobu
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
2018-12-12Revise Date#hour, #min, #secnobu
For ActiveSupport. [ruby-core:90443] [Bug #15403] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-11ext/date: Fix !NDEBUG codenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-11date_core.c: moved some methods to DateTimenobu
* 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
2018-12-11date_core.c: reorder ComplexDateDatanobu
* 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
2018-11-13date_core.c: use static ID variablesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13date_core.c: obey to the allocation frameworknobu
* 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
2018-11-13date_core.c: respect COMPLEX_DAT bitnobu
* 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
2018-11-13date_core.c: keep COMPLEX_DAT bitnobu
* 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
2018-11-13date_core.c: set/reset COMPLEX_DATnobu
* 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
2018-09-01surround macro block with do/whilenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-31[DOC] leap seconds [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-09Removed useless assertions [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-07date_core.c: check conversionnobu
* ext/date/date_core.c (offset_to_sec, d_lite_plus): check conversion results, to get rid of infinite recursion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-25date_core.c: ensure symbols static allnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-25date_core.c: defensive codenobu
* ext/date/date_core.c (f_cmp): check comparison failure. * ext/date/date_core.c (d_lite_step): deal with the comparison result more defensively. [ruby-core:85796] [Bug #14549] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17ext/date/extconf.rb: check for timezone and altzonerhe
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
2017-09-07ruby.h: unnormalized Fixnum valuenobu
* include/ruby/ruby.h (ST2FIX): fix unnormalized Fixnum value bug on mingw/mswin. [ruby-core:82687] [Bug #13877] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-09date_core.c: fix docs for %Z formatstomar
* 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
2017-03-19date_core.c: fix error in DateTime docsstomar
* 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
2017-02-27date_core.c: expand docs for Date shiftingstomar
* 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
2017-02-06date_core.c: [DOC] revise docs [ci skip]nobu
* 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
2016-06-15date_core.c: remove assertnobu
* 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
2016-06-15date_core.c: missing argumentnobu
* ext/date/date_core.c (d_lite_initialize): fix missing argument for write-barrier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-08ext/date: constifynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-20fix typos [ci skip]kazu
* ext/date/date_core.c: [DOC] fix typos. [fix GH-1360] patched by @soundasleep git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-18ruby.h: RB_INTEGER_TYPE_Pnobu
* 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
2016-04-23date_core.c: [DOC] markdown to rdoc [ci skip]nobu
* ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime documentation to RDoc from Markdown. [ruby-core:75136] [Bug #12311] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-16* ext/date/date_core.c : remove not used f_getlocal macro.yui-knk
After r54553 f_getlocal macro is not used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-16* ext/date/date_core.c : remove not used f_utc6 macro.yui-knk
After r54169 f_utc6 macro is not used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-12date_core.c: preserve timezonenobu
* ext/date/date_core.c (time_to_time): should preserve timezone info. [ruby-core:74889] [Bug #12271] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-31date_core.c: fix indentnobu
* 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
2016-03-31date_core.c: fix DateTime rdocnobu
* ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24date_core.c: unused variablenobu
* ext/date/date_core.c (dt_lite_jisx0301): remove no longer used variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24date_core.c: append stringsnobu
* 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
2016-03-24date_core.c: fix jisx0301 and iso8601nobu
* 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
2016-03-24date_core.c: fix inspectnobu
* ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by "%+"PRIsVALUE, to prevent intermediate strings from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-18* ext/date/date_core.c (datetime_to_time): preserve timezone infosonots
[Bug #12189] [Fix GH-1295] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08date_core.c: missing argument checknobu
* 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
2015-11-05ext: use RARRAY_AREFnobu
* ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR. pointed out by hanmac. https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-04ext: use RARRAY_CONST_PTRnobu
* 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
2015-11-04ext: adjust index typenobu
* 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
2015-06-12* ext/date/date_core.c: Grammar fix found by @aiperon [ci skip]zzak
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-31ext/date/date_core.c: [DOC] fold long paragraphsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-31[DOC] Decrease heading under DateTime [ci skip]zzak
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-31* ext/date/date_core.c: [DOC] Add comparison of Time and DateTimezzak
Patch provided by @pixeltrix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01use 0 for reservednobu
use 0 for rb_data_type_t::reserved instead of NULL, since its type may be changed in the future and possibly not a pointer type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-12* ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typoszzak
in date_core based on a patch by @vipulnsward [Fixes GH-724] https://github.com/ruby/ruby/pull/724 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29date_core.c: revert constnobu
* ext/date/date_core.c (SimpleDateData, ComplexDateData): revert const for aggregation assignments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29date_core.c: more write-barriersnobu
* ext/date/date_core.c (SimpleDateData, ComplexDateData): constify VALUE members to find out missing write-barriers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e