AgeCommit message (Collapse)Author
2019-12-04Silence incorrect assigned but unused variable warnings in ripperJeremy Evans
To only emit the warnings in correct cases would require tracking local variable usage in ripper, which ripper currently does not do. Fixes [Bug #15188] Notes: Merged:
2019-12-04Make {Method,UnboundMethod}#super_method handle clone/bind/unbindJeremy Evans
This wasn't working previously because the iclass entry wasn't being copied, and without an iclass entry, super_method returns nil. Fixes [Bug #15629] Notes: Merged:
2019-12-04compile.c: trivial refactoringYusuke Endoh
Use `for` instead of `while` to make it explicit that it is a traverse of bytecode.
2019-12-04Revert "Regexp#match{?} with nil raises TypeError as String, Symbol (#1506)"NARUSE, Yui
This reverts commit 2a22a6b2d8465934e75520a7fdcf522d50890caf. Revert [Feature #13083]
2019-12-04Revert "Revert nil error and adding deprecation message"NARUSE, Yui
This reverts commit 452bee3ee8d68059fabd9b1c7a75661b14e3933e.
2019-12-04Revert "Improve warning message"NARUSE, Yui
This reverts commit 31110d820cc1258cbc84b46ecc65b254c7d5529a.
2019-12-04Revert "Fix warnings in Regexp#{match,match?} specs"NARUSE, Yui
This reverts commit 782d1b8fb0a039cedef9ad9c94f432dad51901e6.
2019-12-03Make Enumerator::Chain#each treat lambdas as lambdaJeremy Evans
Previously, lambdas were converted to procs because of how rb_block_call works. Switch to rb_funcall_with_block, which handles procs as procs and lambdas as lambdas. Fixes [Bug #15613] Notes: Merged:
2019-12-03Do not lose existing constant visibility when autoloadingJeremy Evans
This copies the private/deprecate constant visibility across the autoload. It still is backwards compatible with setting the private/deprecate constant visibility in the autoloaded file. However, if you explicitly set public constant in the autoloaded file, that will be reset after the autoload. Fixes [Bug #11055] Notes: Merged:
2019-12-04* 2019-12-04 [ci skip]git
2019-12-03Check interrupts before starting threadJeremy Evans
Fixes a hang when calls in a loop. Fixes [Bug #13688] Notes: Merged:
2019-12-03fix typoKOSAKI Motohiro
2019-12-03vm_args.c: make the keyword deprecation message helpfulYusuke Endoh
``` $ ./miniruby -e 'def foo(kw: 1); end; h = {kw: 1}; foo(h)' -e:1: warning: The last argument is used as the keyword parameter -e:1: warning: for `foo' defined here; maybe ** should be added to the call? ```
2019-12-03tool/lib/test/unit/parallel.rb: fail explicitly when failing to get ioYusuke Endoh
`(ulimit -n 30; make test-tool)` fails with unexplicit message: "undefined method `write' for nil:NilClass" due to lack of stdout. This change makes it explicit. [Bug #5577]
2019-12-03Fixed the inverted conditionNobuyoshi Nakada
2019-12-03Wrap statements in AS_IF properlyNobuyoshi Nakada
2019-12-03Fix auto-indent behavior correctlyaycabta
2019-12-03Fixed stack overflow [Bug #16382]Nobuyoshi Nakada
Get rid of infinite recursion in expanding a load path to the real path while loading a transcoder. Notes: Merged:
2019-12-03mjit.c: fix a mismatch of malloc'ed typeYusuke Endoh
Coverity Scan found this issue.
2019-12-02Make more attempts to check for the precision of Process.timesBenoit Daloze
* Process.clock_getres specs use 10_000 but that's quite slow for the Process.times spec.
2019-12-03* 2019-12-03 [ci skip]git
2019-12-03Support incremental search by last determined wordaycabta
In the incremental search by C-r, search word is saved when it's determined. In the next incremental search by C-r, if a user presses C-r again with the empty search word, the determined previous search word is used to search.
2019-12-03The C-r in vi command mode is also incremental searchaycabta
2019-12-02Fix random failure on getusage-missing environmentsTakashi Kokubun
`* 1e6` makes a spurious result about floating point number's precision. ``` irb(main)[01:0]> 16.028 => 16.028 irb(main)[02:0]> (16.028 * 1e6) => 16027999.999999998 ```
2019-12-02Fix Leaked file descriptor in test/did_you_meanKazuhiro NISHIYAMA ``` Leaked file descriptor: NameErrorExtensionTest#test_correctable_error_objects_are_dumpable: 7 : #<File:test_name_error_extension.rb> ``` Notes: Merged:
2019-12-01Debug random failure of ruby-spec on ci.rvm.jpTakashi Kokubun
2019-12-02Revert " needs miniruby itself for RubyVM.each_builtin"Nobuyoshi Nakada
This reverts commit 2615030c521afc822c66a7e139ccba3d2365ab56, which doesn't work when cross compiling, except for mingw. needs miniruby itself for RubyVM.each_builtinNobuyoshi Nakada
2019-12-02Disable _FORTIFY_SOURCE on mingw for nowNobuyoshi Nakada
It causes a link error due to some `__*_chk` functions on mingw.
2019-12-02Wait for the main thread to start reading by QueueNobuyoshi Nakada
Otherwise, the written data to pty before the reading started may be just lost.
2019-12-01Simplify variable declaration by C99Takashi Kokubun
2019-12-02Support incremental search again by C-r in incremental searchaycabta
2019-12-01Check MJIT support in one placeTakashi Kokubun
to fix test failure on trunk-no-mjit
2019-12-01Skip --jit-debug= test on mswinTakashi Kokubun
it fails like
2019-12-02Process Backspace key in incremental search correctlyaycabta
2019-12-02Search history to back in the middle of historiesaycabta
2019-12-01Avoid unnecessary tzset() callKOSAKI Motohiro
Akatsuki reported ENV['TZ'] = 'UTC' improved 7x-8x faster on following code. t =; 100000.times { }; - t commit 4bc1669127(reduce tzset) dramatically improved this situation. But still, TZ=UTC is faster than default. This patch removs unnecessary tzset() call completely. Performance check ---------------------- test program: t =; 100000.times { }; - t before: 0.387sec before(w/ TZ): 0.197sec after: 0.162sec after(w/ TZ): 0.165sec OK. Now, Time creation 2x faster *and* TZ=UTC doesn't improve anything. We can forget this hack completely. :) Side note: This patch slightly changes behavior implicitly. Before this patch, it might changes default timezone implicitly. But after this patch, it doesn't. You need to reset TZ (I mean ENV['TZ'] = nil) explicitly. But I don't think this is big impact. Don't try to change /etc/localtime on runtime. Side note2: following test might be useful for testing "ENV['TZ'] = nil". ----------------------------------------- % cat <<'End' | sudo sh -s rm -f /etc/localtime-; cp -a /etc/localtime /etc/localtime- rm /etc/localtime; ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime ./ruby -e ' p # JST File.unlink("/etc/localtime"); File.symlink("/usr/share/zoneinfo/America/Los_Angeles", "/etc/localtime") p # JST (ruby does not follow /etc/localtime modification automatically) ENV["TZ"] = nil p # PST (ruby detect /etc/localtime modification) ' rm /etc/localtime; cp -a /etc/localtime- /etc/localtime; rm /etc/localtime- End
2019-12-02* 2019-12-02 [ci skip]git
2019-12-02Remove obsolete codeaycabta
2019-12-01The ed_search_prev_history should always search to backwardaycabta
2019-12-01Reline::HISTORY can take Range objectaycabta
2019-12-01Update to ruby/spec@dcf4955Benoit Daloze
2019-12-01Update to ruby/mspec@aa28e95Benoit Daloze
2019-12-01[ruby/spec] Fix failures with LC_ALL=CNobuyoshi Nakada
2019-12-01Constified mjit_initNobuyoshi Nakada
2019-12-01ConstifiedNobuyoshi Nakada
2019-12-01Fix a mistake excluding NULL in the endTakashi Kokubun
2019-12-01Workaround missing strndup on WindowsTakashi Kokubun
2019-12-01Use build dir for testing --jit-debugTakashi Kokubun
to fix failure like
2019-12-01Allow specifying arbitrary MJIT flags by --jit-debugTakashi Kokubun
This is a secret feature for me. It's only for testing and any behavior with this flag override is unsupported. I needed this because I sometimes want to add debug options but do not want to disable optimizations, for using Linux perf.