AgeCommit message (Collapse)Author
2021-04-13get rid of #pragma GCC diagnostic ignored "-Wundef"卜部昌平
Use of TOKEN_PASTE was a bad idea at the first place. Just use ## everywhere. Nobody practically lacks token pasting. Notes: Merged:
2021-04-13* 2021-04-13 [ci skip]git
2021-04-13Make String#crypt ractor-safeNobuyoshi Nakada
2021-04-12Get rid of LONG_LONG redefinitionNobuyoshi Nakada
2021-04-12* 2021-04-12 [ci skip]git
2021-04-12Support non-standard `struct stat` [Bug #17793]Nobuyoshi Nakada
On 32-bit Android: * `st_dev`/`st_rdev` are not `dev_t` * `st_mode` is not `mode_t`
2021-04-11mkmf.rb: convert also arch_hdrdir [Bug #16651]Nobuyoshi Nakada
2021-04-11st.c: skip all deleted entries [Bug #17779]tompng (tomoya ishida)
Update the start entry skipping all already deleted entries. Fixes performance issue of `Hash#first` in a certain case.
2021-04-11[DOC] Adjusted spacing [ci skip]Nobuyoshi Nakada
2021-04-11sync_default_gems.rb: merge only files named as each gemNobuyoshi Nakada
2021-04-11sync_default_gems.rb: ignore rakelib [ci skip]Nobuyoshi Nakada
2021-04-11Revert "[ruby/optparse] No document in rakelib" [ci skip]Nobuyoshi Nakada
This reverts commit bd7430c7aacd135419609eec72e3889cd00a6f73. No rakelib in ruby itself.
2021-04-11[ruby/optparse] Moved rdoc files to doc/optparseNobuyoshi Nakada
2021-04-11[ruby/optparse] Fix relative pathsNobuyoshi Nakada
2021-04-11[ruby/optparse] No document in rakelibNobuyoshi Nakada
2021-04-11[ruby/optparse] More on tutorial (#16)Burdette Lamar
- Added example in "Argument Converters"; it doesn't seem right for a tutorial to have no example in one of its topics (and instead just linking elsewhere). - Added section "Command-Line Abbreviations." - Added section "Keyword Argument into," showing how to: - Collect options. - Check for missing options. - Provide option defaults.
2021-04-11[ruby/optparse] Rdoc (#15)Burdette Lamar
* Resolve shared mixed_names.rb * Add long option with negation * Show --help for all examples * Table of contents for tutorial * Move argument converters to separate rdoc * Add references to argument_converters.rdoc * Tune up argument converters * Change explicit links to auto-links
2021-04-11[ruby/optparse] Reorganize Ruby example files for sharing (#14)Burdette Lamar
2021-04-11* 2021-04-11 [ci skip]git
2021-04-11Make sure to mention ext/Setup is optionalZachary Scott
This step confused me when trying to compile Ruby after 5 years, so it should be avoided unless you need static linking.
2021-04-10configure: always check for atomic/sync builtins [Bug #17787]Nobuyoshi Nakada
Non-gcc compilers tend to have this intrinsic these days, e.g. xlc has `__sync` builtins. Notes: Merged:
2021-04-10configure: try `-fdeclspec` option by linking [Bug #17787]Nobuyoshi Nakada
A workaround for `-f` option of AIX xlc compiler which works only on linking. Notes: Merged:
2021-04-10just redirect preprocessed vm.c to mjit header [Bug #17787]Nobuyoshi Nakada
Not all preprocessors work with output option. Notes: Merged:
2021-04-10get rid of using `__builtin_unreachable` directly [Bug #17787]Nobuyoshi Nakada
As it is an independent feature from `clz`, `ctz` and `popcount`, it might be unavailable even if the latters are built in. Notes: Merged:
2021-04-10rbinstall.rb: record default gem filesNobuyoshi Nakada
2021-04-10rbinstall.rb: append "/" to directory namesNobuyoshi Nakada
2021-04-10mac: ignore SDKROOT at installationNobuyoshi Nakada
2021-04-10win32: fix RUBY_RELEASE_DATE in MakefileNobuyoshi Nakada
As it is overridden by the definition in, instead define YEAR, MONTH and DAY which are used there. This macro is useful for daily build&installation by the combination with "relative-load", for example: ```sh $ ./configure --prefix=/. --enable-load-relative \ --with-destdir='$(HOME)/.rbenv/versions/$(RUBY_RELEASE_DATE)' ``` This can install images usable by rbenv per days.
2021-04-10Fix symbol export.Samuel Williams
Notes: Merged:
2021-04-10* 2021-04-10 [ci skip]git
2021-04-09Fix documentation for Enumerator::Lazy#with_indexJeremy Evans
If a block is given, it returns a lazy enumerator that will iterate over the block, it doesn't iterate over the block immediately. Fixes [Bug #17789]
2021-04-09test/ruby/test_gc_compact.rb: Use assert_separately for debuggingYusuke Endoh
... the following timeout failure. ``` [ 8871/21204] TestGCCompact#test_ast_compactstimeout: output interval exceeds 600.0 seconds. timeout: the process group 28416 is alive. PSOUT PGID PID ELAPSED %CPU VSZ COMMAND COMMAND PSOUT 28416 28416 12:46 0.0 108120 gmake gmake TESTS=--hide-skip -v RUBYOPT=-w test-all PSOUT 28416 28423 12:46 88.2 1446124 ruby ./test/runner.rb: TestGCCompact#test_ast_compacts timeout: INT signal sent. timeout: INT signal sent. timeout: TERM signal sent. timeout: TERM signal sent. timeout: KILL signal sent. ``` This error repeatedly occurs on RHEL s390x. This change sends SEGV when timeout occurs so that it should dump the backtrace.
2021-04-09[ruby/reline] Add calling Reline::Config#reset_default_key_bindings to ↵aycabta
#reset, which is forgot to call
2021-04-09* 2021-04-09 [ci skip]git
2021-04-08Document how to handle kill/terminate interrupts in Thread.handle_interruptJeremy Evans
The kill/terminate interrupts are internally handled not as Exception instances, but as integers. So using Exception doesn't handle these interrupts, but Object does. You can use Integer if you only want to handle kill/terminate interrupts, but that's probably more of an implementation detail, while handling Object should work regardless of the implementation. Fixes [Bug #15735]
2021-04-08Make the return type of rb_char_next the same as CharNextNobuyoshi Nakada
2021-04-08[ruby/reline] Moved development dependencies to GemfileNobuyoshi Nakada
As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended.
2021-04-08[ruby/reline] Separate keystrokes each editing modeaycabta
2021-04-08[ruby/reline] Check WITH_VTERM env to add vterm gem as dependencyaycabta
2021-04-08[ruby/irb] Moved development dependencies to GemfileNobuyoshi Nakada
As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended.
2021-04-08[ruby/irb] Ripper::Lexer::Elem#state is defined since Ruby 2.5Nobuyoshi Nakada
And the required ruby version is 2.5 or later.
2021-04-08Use autogen.shNobuyoshi Nakada
2021-04-08test/zlib/test_zlib.rb: Set binmode to test output fileYusuke Endoh
Seems like the test `TestZlibGzipFile#test_gzip_reader_zcat` fails when the timestamp has `\n\n`. ``` 1) Error: TestZlibGzipFile#test_gzip_reader_zcat: Zlib::DataError: invalid distance too far back C:/projects/ruby/test/zlib/test_zlib.rb:522:in `initialize' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `new' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `zcat' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `block (2 levels) in test_gzip_reader_zcat' C:/projects/ruby/test/zlib/test_zlib.rb:521:in `open' C:/projects/ruby/test/zlib/test_zlib.rb:521:in `block in test_gzip_reader_zcat' C:/projects/ruby/lib/tempfile.rb:358:in `create' C:/projects/ruby/test/zlib/test_zlib.rb:510:in `test_gzip_reader_zcat' ``` The test time is around 2021-04-08 04:40 +0900. Maybe the following time should trigger the bug. ``` irb(main):001:0> => 2021-04-08 04:37:46 +0900 irb(main):002:0> [1617824266].pack("V") => "\n\nn`" ```
2021-04-08[ruby/optparse] gemspec: Explicit files list [ci skip]Olle Jonsson
This avoid shelling out, and includes a narrower list of files. Co-authored-by: Nobuyoshi Nakada <>
2021-04-08[ruby/optparse] Make use of option_params.rdocBurdetteLamar
2021-04-08[ruby/optparse] Enhanced doc for option parameters (#11)Burdette Lamar
2021-04-08[ruby/optparse] More on tutorial (#9)Burdette Lamar
* More on tutorial: clearer example output
2021-04-08[ruby/optparse] gemspec: Explicitly list 0 executablesOlle Jonsson
This gem exposes no executable files.
2021-04-08[ruby/optparse] Beginnings of tutorialBurdetteLamar
2021-04-08sync_default_gems.rb: do not reset the whole directory [ci skip]Nobuyoshi Nakada
If no files to be ignored, resetting with no argument means resetting the whole directory.