Commit graph

600 commits

Author SHA1 Message Date
Jeremy Evans
b51e5c2370 Remove mentions of Bignum in time.c
Move section on internal details out of the class-level documentation,
since users do not need to know that.  Update it to use
Integer(T_BIGNUM) instead of Bignum.

Fixes [Misc #17580]
2021-02-19 08:30:11 -08:00
Nobuyoshi Nakada
296a2cab07 Parse "-00:00" as UTC for the round-trip [Feature #17544] 2021-02-16 20:34:23 +09:00
Nobuyoshi Nakada
aea40f44aa
Fixed time_t conversion modifiers for debug 2021-02-11 23:53:29 +09:00
Nobuyoshi Nakada
4b6347ab39 Compile debugging code for time always 2021-02-10 19:45:14 +09:00
Nobuyoshi Nakada
ef59a781d7 Fixed the signature of find_time_numguess_getter 2021-02-10 19:45:14 +09:00
Nobuyoshi Nakada
4b15caee8f
Added in: timezone option to Time.new [Feature #17485] 2021-01-13 18:15:50 +09:00
Nobuyoshi Nakada
9441f3f970 Allow UTC offset without colons per ISO-8601 [Bug #17504] 2021-01-13 16:37:59 +09:00
Nobuyoshi Nakada
1eb8eb55c2
Convert time component strings to integers more strictly
https://bugs.ruby-lang.org/issues/17485#change-89871
2021-01-12 17:24:43 +09:00
Nobuyoshi Nakada
b017848f8a
Show seconds of utc_offset if not zero 2021-01-12 17:00:14 +09:00
Nobuyoshi Nakada
18ea81fd2c
get_tmopt is no longer used 2020-12-31 17:25:07 +09:00
Nobuyoshi Nakada
77e7082e82
Moved Time.at to builtin 2020-12-31 17:25:07 +09:00
Nobuyoshi Nakada
9101597d05
Moved Time.now to builtin 2020-12-31 17:25:07 +09:00
Nobuyoshi Nakada
93735f8fc0
Moved time.rb to timev.rb 2020-12-31 17:23:37 +09:00
Nobuyoshi Nakada
d5fb51d2d3
Add time.rb as builtin 2020-12-31 15:19:06 +09:00
Nobuyoshi Nakada
7817a438eb Removed deprecated Time#succ 2020-12-07 18:38:59 +09:00
Nobuyoshi Nakada
95bef7b69a Subsecond of Time::tm should be 0 2020-11-28 15:41:41 +09:00
Nobuyoshi Nakada
5a77e90fe8
Use rb_intern_const instead of rb_intern in Init functions
```
find . -name \*.o -exec nm {} + |&
sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' |
uniq
```
should be empty.
2020-10-21 12:46:53 +09:00
Stefan Stüben
8c2e5bbf58 Don't redefine #rb_intern over and over again 2020-10-21 12:45:18 +09:00
Jeremy Evans
520a734ad9 Fix Time#ceil when result should be the same as the receiver
Fixes [Bug #17025]
2020-07-28 12:53:37 -07:00
Kazuhiro NISHIYAMA
946cd6c534
Use https instead of http 2020-07-28 19:51:54 +09:00
S.H
2735da2039
Fix Time#to_a behavior with timezone [Bug #17046] 2020-07-24 20:17:31 +09:00
Nobuyoshi Nakada
caf565f7bf
Ensure time object meets a given condition [Bug #17042] 2020-07-23 11:52:33 +09:00
S.H
afacf85e44
Merge pull request #3352 from S-H-GAMELINKS/bug/17042-strftime
Fix Time#strftime with timezone [Bug #17042]
2020-07-23 11:35:20 +09:00
Tanaka Akira
48eb1ad2c3 [DOC] time.c document updated.
* fraction -> subsecond
  for consistency with method name

* The sentence,
  "A non-portable feature allows the offset to be negative on some systems.",
  is removed.
  Time before 1970 should work portably now.
  If localtime() doesn't work before 1970,
  Ruby should extrapolate it.

* Time::new -> Time.new
  "::" for method call is not common notation now.

* Time#to_i truncates subsecond

* Time#to_f approximates a value in Time object

* Time#to_r
  The sentence,
  "You can use this method to convert _time_ to another Epoch.",
  is removed.
  It is not clear because no actual example of "another Epoch" is given.

* Time#usec truncates fraction of microseconds.

* Time#nsec truncates fraction of nanoseconds.

* describe Time#inspect shows subsecond since Ruby 2.7.0.
2020-07-21 20:28:36 +09:00
Nobuyoshi Nakada
99a9c3fe2e
Fixed yday and wday with timezone [Bug #17024] 2020-07-12 21:58:13 +09:00
卜部昌平
da8af471fb find_time_t: reset status before goto 2020-06-29 11:05:41 +09:00
卜部昌平
de3e931df7 add UNREACHABLE_RETURN
Not every compilers understand that rb_raise does not return.  When a
function does not end with a return statement, such compilers can issue
warnings.  We would better tell them about reachabilities.
2020-06-29 11:05:41 +09:00
卜部昌平
fd0e935886 time_mload: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea.  Better refactor.
2020-06-29 11:05:41 +09:00
卜部昌平
ed6938ef50 indent [ci skip] 2020-06-29 11:05:41 +09:00
卜部昌平
83f6de8691 find_time_t: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea.  Better refactor.
2020-06-29 11:05:41 +09:00
卜部昌平
ce6be8889f utc_offset_arg: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea.  Better refactor.
2020-06-29 11:05:41 +09:00
卜部昌平
1c0a97bfad vtm_add_offset: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea.  Better refactor.
2020-06-29 11:05:41 +09:00
卜部昌平
0fc569361b num_exact: do not goto into a branch
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea.  Better refactor.
2020-06-29 11:05:41 +09:00
Nobuyoshi Nakada
ee35a4dad3
Append subsec part instead of creating new string 2020-06-03 19:13:36 +09:00
卜部昌平
9e41a75255 sed -i 's|ruby/impl|ruby/internal|'
To fix build failures.
2020-05-11 09:24:08 +09:00
卜部昌平
d7f4d732c1 sed -i s|ruby/3|ruby/impl|g
This shall fix compile errors.
2020-05-11 09:24:08 +09:00
卜部昌平
9e6e39c351
Merge pull request #2991 from shyouhei/ruby.h
Split ruby.h
2020-04-08 13:28:13 +09:00
zverok
d019cac08a Clarify Time::at documentation for in: argument 2020-03-09 22:28:33 +09:00
प्रथमेश Sonpatki
9a422fc010
Update docs for Time#at method [ci skip]
Add docs about all possible options for the `in` argument.
2020-02-27 11:08:49 +09:00
Tanaka Akira
2dea81f477 Don't refer Date in the document for Time. 2020-02-10 21:41:15 +09:00
卜部昌平
115fec062c more on NULL versus functions.
Function pointers are not void*.  See also
ce4ea956d2
8427fca49b
2020-02-07 14:24:19 +09:00
Tanaka Akira
29e31e72fb ruby_reset_timezone resets leap_second_info.
[Bug #15177]
2020-01-29 00:01:57 +09:00
Tanaka Akira
338c5b8c1d Extract a function, ruby_reset_timezone().
Initial implementation of ruby_reset_timezone()
assigns ruby_tz_uptodate_p to false.
2020-01-28 23:40:25 +09:00
John Hawthorn
91601dcc6a Simplify obj2ubits checks
If this value is less than zero, then the mask check is guaranteed to
fail as well, so we might as well rely on that.
2020-01-13 13:58:23 -08:00
John Hawthorn
5f3189474c Avoid rb_check_string_type in month_arg
This will usually receive a fixnum so we should check that first instead
of the more expensive rb_check_string_type check.
2020-01-13 13:58:23 -08:00
John Hawthorn
c2e45422f7 Store "UTC" and "" fstring as globals in time.c 2020-01-13 13:58:23 -08:00
卜部昌平
5e22f873ed decouple internal.h headers
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead.  This would significantly
speed up incremental builds.

We take the following inclusion order in this changeset:

1.  "ruby/config.h", where _GNU_SOURCE is defined (must be the very
    first thing among everything).
2.  RUBY_EXTCONF_H if any.
3.  Standard C headers, sorted alphabetically.
4.  Other system headers, maybe guarded by #ifdef
5.  Everything else, sorted alphabetically.

Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
2019-12-26 20:45:12 +09:00
Marcus Stollsteimer
ceba5b7088 [DOC] Fix typo in Time#inspect 2019-12-24 21:50:27 +01:00
zverok
4988843188 Actualize Time#inspect docs 2019-12-22 23:17:39 +09:00
Nobuyoshi Nakada
db16629008
Fixed misspellings
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
2019-12-20 09:32:42 +09:00