summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-01Rework `rb_ec_scheduler_finalize` to ensure exceptions are printed.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3610
2020-10-01Remove `Thread.scheduler` from public interface.Samuel Williams
It's implementation is equivalent to: Thread.current.scheduler unless Thread.current.blocking? Notes: Merged: https://github.com/ruby/ruby/pull/3610
2020-10-01Raise an exception if the scheduler was already closed.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3612
2020-10-01Don't call `Scheduler#close` if it doesn't exist.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3612
2020-10-01stop Ractor test in test-allKoichi Sasada
Ractor changes the interpreter's running mode so now it should not use in test-all process which running with many other tests. Test with a separating process is one idea, but I'm not sure the ruby/ostruct can use this trick.
2020-09-30[ruby/ostruct] Tweak docMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Remove unused conditionMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Improved YAML serialization.Marc-Andre Lafortune
Patch adapted from Pietro Monteiro [Fixes bug#8382] Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Update NEWSMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareableMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Protect subclass' methods and our bang methods.Marc-Andre Lafortune
Internally, use only bang methods Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Avoid calling initializeMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30Remove trailing whitespace [doc]Marc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-10-01* 2020-10-01 [ci skip]git
2020-09-30Enhanced RDoc for String#[] (#3607)Burdette Lamar
* Enhanced RDoc for String#[] Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-30Unfreeze string-literal-only interpolated string-literalNobuyoshi Nakada
[Feature #17104]
2020-09-30Update to ruby/spec@bfd843aBenoit Daloze
2020-09-30Update to ruby/mspec@e154fa1Benoit Daloze
2020-09-30strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-09-30Update to ruby/spec@681e8cfBenoit Daloze
2020-09-30Update to ruby/mspec@4120a62Benoit Daloze
2020-09-30Update to ruby/spec@9277d27Benoit Daloze
2020-09-30Remove unneeded `begin` and `end`Kazuhiro NISHIYAMA
2020-09-30Fix `Leaked tempfile`sKazuhiro NISHIYAMA
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20200930T033004Z.diff.html.gz ``` [n/n] JSONCommonInterfaceTest#test_load = <elapsed> s [n/n] JSONCommonInterfaceTest#test_load_file = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file: #<Tempfile:<build-dir>/tmp/20200930-7601-ptnv6i (closed)> [n/n] JSONCommonInterfaceTest#test_load_file! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file!: #<Tempfile:<build-dir>/tmp/20200930-7601-1la6m9 (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option: #<Tempfile:<build-dir>/tmp/20200930-7601-blf9hz (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option!: #<Tempfile:<build-dir>/tmp/20200930-7601-b5gsdb (closed)> ```
2020-09-30Suppress warningsKazuhiro NISHIYAMA
``` compiling ../mjit.c In file included from ../mjit.c:28: ../mjit_worker.c:1270:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(cc) != T_MOVED); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1271:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(vm_cc_cme(cc)) != T_MOVED); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1272:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(cc)); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ In file included from ../mjit.c:28: ../mjit_worker.c:1273:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(vm_cc_cme(cc))); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ 4 warnings generated. ```
2020-09-30Fix order of operations during `rb_ec_finalize`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3605
2020-09-29Enhanced RDoc for String#upto (#3603)Burdette Lamar
* Enhanced RDoc for String#upto Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-29Reference process PID using the Process#pidMaciej Mensfeld
This change will allow formatter to run from Ractors other than main. Notes: Merged: https://github.com/ruby/ruby/pull/3600
2020-09-30* 2020-09-30 [ci skip]git
2020-09-30Fix unsigned int overflow in error message for chrPeter Zhu
The error message has an integer overflow because it treats an unsigned int as a signed int. Before: ``` > 3_000_000_000.chr -1294967296 out of char range (RangeError) ``` After: ``` > 3_000_000_000.chr 3000000000 out of char range (RangeError) ``` Redmine ticket: https://bugs.ruby-lang.org/issues/17186 Notes: Merged: https://github.com/ruby/ruby/pull/3602
2020-09-29Add call-seq of [Feature #16274]Kazuhiro NISHIYAMA
2020-09-29[ruby/webrick] Make it more strict to interpret some headersYusuke Endoh
Some regexps were too tolerant. https://github.com/ruby/webrick/commit/8946bb38b4
2020-09-29doc/syntax/literals.rdoc: explain `#@@foo` too [ci skip]Nobuyoshi Nakada
2020-09-29doc/syntax/literals.rdoc: explain `#@foo` and `#$foo`Yusuke Endoh
2020-09-29Fixed installation failure [Bug #17191]Nobuyoshi Nakada
Try update and extract bundled gems only when baseruby is available. It should be done only when installing from developemental build and not from the tarball, but it is not obvious to differentiate them.
2020-09-29Fix up dependencies on internal/sanitizers.hNobuyoshi Nakada
2020-09-29test/racc/test_racc_command.rb: prevent a warningYusuke Endoh
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200929T003003Z.log.html.gz ``` warning: ambiguous first argument; put parentheses or a space even after `/' operator ```
2020-09-29fix typo [ci skip]卜部昌平
Reported by Mau Magnaguagno See: https://github.com/ruby/ruby/pull/3570#discussion_r495465903
2020-09-28bit table information when printing an objectAaron Patterson
2020-09-28Unpoison THEAP header before readingAaron Patterson
Another ASAN fix. THEAP header is poisoned, so we need to un-poison before reading
2020-09-28Enhanced RDoc for String#succ! (#3596)Burdette Lamar
* Enhanced RDoc for String#succ! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-28Fix ASAN and don't check SPECIAL_CONST_PAaron Patterson
Heap allocated objects are never special constants. Since we're walking the heap, we know none of these objects can be special. Also, adding the object to the freelist will poison the object, so we can't check that the type is T_NONE after poison.
2020-09-28Fix ASAN errors when updating call cacheAaron Patterson
Invalidating call cache walks the heap, so we need to take care to un-poison objects when examining them
2020-09-28Pass ASAN options to child environmentsAaron Patterson
I want to work with ASAN, but some child environments are not inheriting the ASAN options I'm using. This commit passes them to child environments if specified
2020-09-28Add rb_category_warn{,ing} for warning messages with categoriesJeremy Evans
This adds the following C-API functions that can be used to emit warnings with categories included: ```c void rb_category_warn(const char *, const char*, ...) void rb_category_warning(const char*, const char*, ...) ``` Internally in error.c, there is an rb_warn_category function that will call Warning.warn with the string and the category keyword if it doesn't have an arity of 1, and will call Warning.warn with just the string if it has an arity of 1. This refactors the rb_warn_deprecated{,_to_remove} functions to use rb_warn_category. This makes Kernel#warn accept a category keyword and pass it to Warning.warn, so that Ruby methods can more easily emit warnings with categories. rb_warn_category makes sure that the passed category is a already defined category symbol before calling Warning.warn. The only currently defined warning category is :deprecated, since that is what is already used. More categories can be added in later commits. Notes: Merged: https://github.com/ruby/ruby/pull/3508
2020-09-28Make Warning.warn accept only category keywordJeremy Evans
In general accepting arbitrary keywords is a bad idea unless you are delegating keywords or acting on arbitrary keywords. In this case, the category keyword is ignored, and it's less error prone to not ignore all keywords. Notes: Merged: https://github.com/ruby/ruby/pull/3508
2020-09-28Switch conflicting chdir warning to RuntimeErrorJeremy Evans
The documentation already stated this was an error in one case (when it was previously a warning). Describe the other case, where chdir without block is called inside block passed to chdir. Fixes [Bug #15661] Notes: Merged: https://github.com/ruby/ruby/pull/3591
2020-09-29* 2020-09-29 [ci skip]git
2020-09-28Refactor common heap iteration codeAaron Patterson
We have code common to all heap iteration paths in this file. Refactor such that we keep ASAN checks and flags checks in one place Notes: Merged: https://github.com/ruby/ruby/pull/3592
2020-09-28Fix ASAN support when invalidating CCsAaron Patterson
Again, this code is walking the heap. Empty slots can be poisoned, so we need to unpoison before checking the type Notes: Merged: https://github.com/ruby/ruby/pull/3592