summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-24Changed numbered parameter prefixNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2431
2019-09-24Added implicit block parameterNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2431
2019-09-24Rename from ruby-x.y.z.ext.draft to ruby-x.y.z-draft.ext [ci skip]Kazuhiro NISHIYAMA
2019-09-24misc/lldb_cruby.py: update for python3 [ci skip]Nobuyoshi Nakada
lldb module bundled with Xcode is for Python 3 now.
2019-09-24misc/lldb_cruby.py: removed unused module `commands` [ci skip]Nobuyoshi Nakada
2019-09-24[ruby/io-console] Made cursor position 0-originNobuyoshi Nakada
https://github.com/ruby/io-console/commit/9377e37295
2019-09-24[ruby/io-console] Made cursor position consistent with `winsize`Nobuyoshi Nakada
To be consistent with `winsize`, changed the cursor position format from `[x, y]` to `[row, column]`. https://github.com/ruby/io-console/commit/d1f5ae9286
2019-09-24suppress meddlesome clang10 warrning卜部昌平
It says: vm.c:2519:34: warning: expression does not compute the number of elements in this array; element type is 'const struct __jmp_buf_tag', not 'VALUE' (aka 'unsigned long') [-Wsizeof-array-div] sizeof(ec->machine.regs) / sizeof(VALUE)); ~~~~~~~~~~~~~~~~ ^ vm.c:2519:34: note: place parentheses around the 'sizeof(VALUE)' expression to silence this warning
2019-09-24refactor delete unused variable卜部昌平
cadfaacb2533d47d52dbb5dbefe724d7bf11112e missed it.
2019-09-24* 2019-09-24 [ci skip]git
2019-09-23Make public_send and rb_f_send handle keyword argument separationJeremy Evans
Kernel#send takes a different optimized code path that was already handled. Notes: Merged: https://github.com/ruby/ruby/pull/2481
2019-09-23[ruby/io-console] Try fallback to stdout when stdinNobuyoshi Nakada
https://github.com/ruby/io-console/commit/b8017509ef
2019-09-23[ruby/io-console] Try to write DSR query to writable IONobuyoshi Nakada
https://github.com/ruby/io-console/commit/a54b6e4dd1
2019-09-23Use short wait for select(2)aycabta
It is one of the reasons why paste to IRB is slow.
2019-09-23Retrieve key-buffer that was supposed to loseaycabta
2019-09-23Adjusted directives order of a function [ci skip]Nobuyoshi Nakada
2019-09-23Lazy init thread local storageLourens Naudé
Notes: Merged: https://github.com/ruby/ruby/pull/2295
2019-09-23make-snapshot: store timestamps in UTC for zip which lacks timezoneNobuyoshi Nakada
2019-09-23* 2019-09-23 [ci skip]git
2019-09-23Add `-mtc=off` to `7z` not to store NTFS timestampsKazuhiro NISHIYAMA
https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm
2019-09-22make-snapshot: Added -no7z optionNobuyoshi Nakada
It disables 7z, which seems not to have an option to stop saving extra file attributes (uid/gid and atime), in order to make zip packages stable.
2019-09-22make-snapshot: Do not save extra file attributesNobuyoshi Nakada
Extra file attributes (uid/gid and atime) make the packaged zip file unstable.
2019-09-22st.c: Use rb_st_* prefix instead of st_* (#2479)Yusuke Endoh
The original st.c was public domain hash table implementation, but Ruby's st.c is highly modified, and its data structure is not compatiblie with the original one. Therefore, when creating an extension library to wrap C code that uses the original st.c, the symbols conflict, which leads to segfault. This changes the prefix `st_*` of st.c functions to `rb_st_*` for reflecting that they are specific to Ruby's, and avoid symbol conflicts. Notes: Merged-By: mame <mame@ruby-lang.org>
2019-09-22st.c (st_add_direct_with_hash): make it "static inline"Yusuke Endoh
It was originally static inline, but seemed to be accidentally published at 8f675cdd00e2c5b5a0f143f5e508dbbafdb20ccd.
2019-09-22variable.c: Rename rb_st_copy to rb_iv_tbl_copyYusuke Endoh
This function was created as a variant of st_copy with firing write barrier. It should have more explicit name, such as st_copy_with_write_barrier. But because it is used only for copying iv_tbl, so I rename it to rb_iv_tbl_copy now. If we face other use case than iv_tbl, we may want to rename it to more general name.
2019-09-22test/bigdecimal/test_bigdecimal.rb: Use BigDecimal()Yusuke Endoh
instead of deprecated BigDecimal.new.
2019-09-22Add `if: always()` because 2.4.x's `make check` failed on snapshot [ci skip]Kazuhiro NISHIYAMA
`check-snapshot-ruby_2_4` uses `make test` instead of `make check`. https://github.com/ruby/actions/blob/95692e54f4263501db1508d51c1fb67c03b4f575/.github/workflows/snapshot.yml#L448-L449 `draft-release` use `make check` to make it simple, and actions is required regardless of success or failure. On the other hand, snapshot success can be ignored, so normally it should not fail.
2019-09-22* 2019-09-22 [ci skip]git
2019-09-21Make Kernel#{Pathname,BigDecimal,Complex} return argument if given correct typeJeremy Evans
This is how Kernel#{Array,String,Float,Integer,Hash,Rational} work. BigDecimal and Complex instances are always frozen, so this should not cause backwards compatibility issues for those. Pathname instances are not frozen, so potentially this could cause backwards compatibility issues by not returning a new object. Based on a patch from Joshua Ballanco, some minor changes by me. Fixes [Bug #7522] Notes: Merged: https://github.com/ruby/ruby/pull/2473
2019-09-21Fix Module#class_variables for singleton classes of classes/modulesJeremy Evans
Module#class_variables should reflect class variable lookup. For singleton classes of classes/modules, this means the lookup should be: * Singleton Class * Class * All Ancestors of Class Note that this doesn't include modules included in the singleton class, because class variable lookup doesn't include those. Singleton classes of other objects do not have this behavior and always just search all ancestors of the singleton class, so do not change the behavior for them. Fixes [Bug #8297] Notes: Merged: https://github.com/ruby/ruby/pull/2478
2019-09-21test/ruby/test_assignment.rb: use bug number for assert messageYusuke Endoh
to suppress variable unused warning
2019-09-21Add a benchmark for JIT-ed code dispatchTakashi Kokubun
2019-09-21typedef rb_jmpbuf_t to void *[5] if __builtin_setjmp is usedFangrui Song
The built-in version operates on a buffer of 5 words, much smaller than the size of jmp_buf defined in libc. Note, powerpc requires 5 words, while arm and x86_64 just require 3. Notes: Merged: https://github.com/ruby/ruby/pull/2471
2019-09-20Fix documentation for ENV.each to return ENVJeremy Evans
Also have spec check that it returns ENV. Mostly from burdettelamar@yahoo.com (Burdette Lamar). Fixes [Bug #16164]
2019-09-21Revert eval.c in e81a3e6df54842b5a836dad7055a4295cf4155bcNobuyoshi Nakada
Inadvertently merged change to suppress warnings by gcc 9.2. Pointed out by Alan Wu.
2019-09-21* 2019-09-21 [ci skip]git
2019-09-21Disable method definition type checks on WindowsNobuyoshi Nakada
2019-09-20Fixed format specifiersNobuyoshi Nakada
Use PRIdPTRDIFF for the platforms where a pointer is larger than a long.
2019-09-20Call rb_vm_call_kw insted of rb_vm_call0 in a few casesJeremy Evans
rb_vm_call_kw handles the tmp buffer for you. Also, change method_missing so it also calls rb_vm_call_kw to handle the kw_splat flag, instead of requiring callers to handle kw_splat flag before calling method_missing. This may fix other cases where method_missing is currently called without the kw_splat being handled.
2019-09-20Handle keyword argument separation for Enumerator#sizeJeremy Evans
When Object#to_enum is passed a block, the block is called to get a size with the arguments given to to_enum. This calls the block with the same keyword flag as to_enum is called with. This requires adding rb_check_funcall_kw and rb_check_funcall_default_kw to handle keyword flags.
2019-09-20Make passing empty keywords to dig pass empty keywords to next dig methodJeremy Evans
If defined in Ruby, dig would be defined as def dig(arg, *rest) end, it would not use keywords. If the last dig argument was an empty hash, it could be treated as keyword arguments by the next dig method. Allow dig to pass along the empty keyword flag if called with an empty keyword, to suppress the previous behavior and force treating the hash as a positional argument and not keywords. Also handle the case where dig calls method_missing, passing the empty keyword flag to that as well. This requires adding rb_check_funcall_with_hook_kw functions, so that dig can specify how arguments are treated. It also adds kw_splat arguments to a couple static functions.
2019-09-20Allows calling a private method only with bare `self`Nobuyoshi Nakada
2019-09-20Fix wrong allocation failure handlingTakashi Kokubun
`iseq->body->jit_unit->compile_info` should not be referenced before the null check of `iseq->body->jit_unit`.
2019-09-20Use RUBY_VM_NEXT_CONTROL_FRAME macroTakashi Kokubun
in vm_push_frame and limit scope of i. Just a minor maintainability improvement.
2019-09-20Fix for explicit cast without RUBY_METHOD_FUNCNobuyoshi Nakada
2019-09-20Check various method defitions in C++Nobuyoshi Nakada
2019-09-20Fix rb_define_singleton_method warningTakashi Kokubun
for debug counters ``` ../include/ruby/intern.h:1175:137: warning: passing argument 3 of 'rb_define_singleton_method0' from incompatible pointer type [-Wincompatible-pointer-types] #define rb_define_singleton_method(klass, mid, func, arity) rb_define_singleton_method_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity)); ^ ../vm.c:2958:5: note: in expansion of macro 'rb_define_singleton_method' rb_define_singleton_method(rb_cRubyVM, "show_debug_counters", rb_debug_counter_show, 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../include/ruby/intern.h:1139:99: note: expected 'VALUE (*)(VALUE) {aka long unsigned int (*)(long unsigned int)}' but argument is of type 'VALUE (*)(void) {aka long unsigned int (*)(void)}' __attribute__((__unused__,__weakref__("rb_define_singleton_method"),__nonnull__(2,3)))static void rb_define_singleton_method0 (VALUE,const char*,VALUE(*)(VALUE),int); ```
2019-09-20Get rid of embedding make command lineNobuyoshi Nakada
NMAKE sets MAKE to the full path name, which includes spaces by the default installation.
2019-09-20Fixed cxxanyargs/dependNobuyoshi Nakada
* Removed excess backslashes * Fixed the target name to try failure.cpp
2019-09-20[DOC] DOT is not a part of a receiver [ci skip]Nobuyoshi Nakada
[Feature #11297] [Feature #16123]