| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
As commented in include/ruby/internal/abi.h, since teeny versions of
Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role
in released versions of Ruby.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix Array#[] with ArithmeticSequence with negative steps
Previously, Array#[] when called with an ArithmeticSequence
with a negative step did not handle all cases correctly,
especially cases involving infinite ranges, inverted ranges,
and/or exclusive ends.
Fixes [Bug #18247]
* Add Array#slice tests for ArithmeticSequence with negative step to test_array
Add tests of rb_arithmetic_sequence_beg_len_step C-API function.
* Fix ext/-test-/arith_seq/beg_len_step/depend
* Rename local variables
* Fix a variable name
Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com>
|
|
|
|
| |
https://github.com/ruby/psych/commit/98fbd5247a
|
|
|
|
| |
https://github.com/ruby/psych/commit/0c11ddcf46
|
|
|
|
| |
https://github.com/ruby/date/commit/dff37b3dd1
|
|
|
|
|
|
|
|
|
|
| |
Time is always in the proleptic Gregorian calendar.
Also DateTime#to_time should convert to the Gregorian calendar first,
before extracting its components.
https://bugs.ruby-lang.org/issues/18946#change-98527
https://github.com/ruby/date/commit/b2aee75248
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding `ruby` to `PREP` causes the following circular dependencies
because `PREP` is used as a prerequisite by some targets required to
build `ruby` target itself.
```
make: Circular .rbconfig.time <- ruby dependency dropped.
make: Circular builtin_binary.inc <- ruby dependency dropped.
make: Circular ext/extinit.c <- ruby dependency dropped.
make: Circular ruby <- ruby dependency dropped.
```
Adding a new Make variable like `EXTPREP` only for exts may be also
reasonable, but it would introduce another complexity into our build
system. `-bundle_loader` doesn't care that link-time and run-time
loader executables are different as long as bound symbols are provided,
so it's ok to resolve from miniruby to simplify our build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the macOS -bundle_loader linker option, we need a path to the
Ruby exectuable. $(RUBY) is not necessarily a path since it could
be a command line invocation. That happens during build with
runruby.rb and can happen post installation if the user passes
the --ruby option to a extconf.rb. Use $(bindir) to locate
the executable instead.
Before installation, $(bindir) doesn't exist, so we need to be
able to override $(BUILTRUBY) in such situations so test-spec
and bundled extensions could build. Use a new mkmf global,
$builtruby, to do this; set it in fake.rb and in extmk.rb.
Our build system is quite complex...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ld64 shipped with Xcode 14 emits a warning when using `-undefined
dynamic_lookup`.
```
ld: warning: -undefined dynamic_lookup may not work with chained fixups
```
Actually, `-undefined dynamic_lookup` doesn't work when:
1. Link a *shared library* with the option
2. Link it with a program that uses the chained-fixup introduced from
macOS 12 and iOS 15
because `-undefined dynamic_lookup` uses lazy-bindings and they won't be
bound while dyld fixes-up by traversing chained-fixup info.
However, we build exts as *bundles* and they are loaded only through
`dlopen`, so it's safe to use `-undefined dynamic_lookup` in theory.
So the warning produced by ld64 is false-positive, and it results
failure of option checking in configuration. Therefore, it would be an
option to ignore the warning during our configuration.
On the other hand, `-undefined dynamic_lookup` is already deprecated on
all darwin platforms except for macOS, so it's good time to get rid of
the option. ld64 also provides `-bundle_loader <executable>` option,
which allows to resolve symbols defined in the executable symtab while
linking. It behaves almost the same with `-undefined dynamic_lookup`,
but it makes the following changes:
1. Require that unresolved symbols among input objects must be defined
in the executable.
2. Lazy symbol binding will lookup only the symtab of the bundle loader
executable. (`-undefined dynamic_lookup` lookups all symtab as flat
namespace)
This patch adds `-bundle_loader $(RUBY)` when non-EXTSTATIC
configuration by assuming ruby executable can be linked before building
exts.
See "New Features" subsection under "Linking" section for chained fixup
https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes
|
|
|
|
| |
https://github.com/ruby/bigdecimal/commit/13165b29b8
|
|
|
|
| |
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
|
|
|
|
|
|
|
| |
Treats:
::_strptime
::strptime
Adds 'Related' entry to some methods' doc.
https://github.com/ruby/date/commit/a6c2129273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/date/pull/68)
Treats:
::_httpdate
::_iso8601
::_jisx0301
::_parse
::_rfc2822
::_rfc3339
::_xmlschema
::httpdate
::iso8601
::jisx0301
::parse
::rfc2822
::rfc3339
::xmlschema
https://github.com/ruby/date/commit/24bdab600a
|
|
|
|
|
|
|
| |
`self` is nearest Ruby method's `self`.
If there is no ruby frame, use toplevel `self` (`main`).
https://bugs.ruby-lang.org/issues/18780
|
|
|
|
|
|
|
|
|
|
|
| |
Treats:
::httpdate
#to_date
#to_time
#to_datetime
In behalf of ::httpdate, I've introduced section "Argument limit" that can be pointed to by various Date methods (similar to existing section "Argument start"). This will involve 8 already-enhanced methods plus 8 more not yet done.
https://github.com/ruby/date/commit/00326ff99c
|
|
|
|
| |
This reverts commit 0d842fecb4f75ab3b1d4097ebdb8e88f51558041.
|
|
|
|
|
| |
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
|
| |
|
|
|
|
| |
This reverts commit 8a65cf3b61c60e4cb886f59a73ff6db44364bfa9.
|
|
|
|
|
| |
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
|
|
|
|
| |
https://github.com/ruby/digest/commit/5ca2b5b91e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Treats:
#===
#to_s
#inspect
#strftme
#asctime
#iso3601
#rfc3339
#rfc2822
#httpdate
#jisx0301
https://github.com/ruby/date/commit/aed66fedf6
|
|
|
|
|
|
|
|
| |
It makes testing for JSON errors very tedious. You either have
to use a Regexp or to regularly update all your assertions
when JSON is upgraded.
https://github.com/flori/json/commit/de9eb1d28e
|
|
|
|
| |
https://github.com/ruby/date/commit/0cdbaa92e9
|
|
|
|
|
|
| |
Should not be `Pathname::FileUtils`.
https://github.com/ruby/pathname/commit/d1eb366e73
|
| |
|
| |
|
|
|
|
|
|
| |
rb_ary_tmp_new suggests that the array is temporary in some way, but
that's not true, it just creates an array that's hidden and not on the
transient heap. This commit renames it to rb_ary_hidden_new.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `rb_profile_frames` API did not skip the two dummy frames that
each thread has at its beginning. This was unlike `backtrace_each` and
`rb_ec_parcial_backtrace_object`, which do skip them.
This does not seem to be a problem for non-main thread frames,
because both `VM_FRAME_RUBYFRAME_P(cfp)` and
`rb_vm_frame_method_entry(cfp)` are NULL for them.
BUT, on the main thread `VM_FRAME_RUBYFRAME_P(cfp)` was true
and thus the dummy thread was still included in the output of
`rb_profile_frames`.
I've now made `rb_profile_frames` skip this extra frame (like
`backtrace_each` and friends), as well as add a test that asserts
the size and contents of `rb_profile_frames`.
Fixes [Bug #18907] (<https://bugs.ruby-lang.org/issues/18907>)
|
| |
|
| |
|
| |
|
|
|
|
| |
Non-ASCII code may be negative on platforms plain char is signed.
|
|
|
|
| |
This reverts commit 79406e3600862bbb6dcdd7c5ef8de1978e6f916c.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sidekiq has a method named `❨╯°□°❩╯︵┻━┻`which corrupts
heap dumps.
Normally we could just dump is as is since it's valid UTF-8 and need
no escaping. But our code to escape control characters isn't UTF-8
aware so it's more complicated than it seems.
Ultimately since the overwhelming majority of method names are
pure ASCII, it's not a big loss to just skip it.
|
|
|
|
| |
[Misc #18891]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When configuring with `--disable-rpath` and `--static-linked-ext` (e.g.
building for WASI), `extmk.rb` doesn't build exts under bundled gems,
and `.bundle/gems/#{gemname}-#{ver}` are not created due to no call of
`extmake`.
b2491783986084770f6f97552f27b868622730cf starts creating symlink at
`.bundle/gems/#{gemname}-#{ver}/lib`, but the parent dir is not created,
so configuration aginst debug and rbs gems were failed.
|
|
|
|
| |
https://github.com/ruby/psych/commit/6c56700fb2
|
|
|
|
|
|
|
|
| |
These are used to see only if `RRATIONAL` and `RCOMPLEX` are
available, however, these two are macros and can be checked with
`#ifdef` directly.
https://github.com/ruby/bigdecimal/commit/175bbacd43
|
| |
|
|
|
|
|
|
|
| |
The default gems have not been installed yet in the build directory,
bundled gems depending on them can not work. As those dependencies
should be usable there even without rubygems, make temporary gemspec
files without the dependencies, and use them in the build directory.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Treats:
#next
#<<
#>>
#next_month
#prev_month
#next_year
#prev_year
#step
#upto
#downto
https://github.com/ruby/date/commit/4246441a35
|
|
|
|
|
|
| |
Minor edits to 11 methods' documentation.
https://github.com/ruby/date/commit/00bb7f6648
|
|
|
|
|
|
| |
Omit private aliases from Rdoc.
https://github.com/ruby/date/commit/48f9180663
|
|
|
|
|
|
| |
Minor changes (mostly doc-guide compliance) to 18 or so of simpler methods (getters).
https://github.com/ruby/date/commit/00e37ba2b4
|