summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-20Minor fixes to NEWS for String subclass method change [ci skip]Jeremy Evans
2020-11-20Shrink the blocking region for compile_compact_jit_codeTakashi Kokubun
Isn't setting `in_compact = true` enough to avoid a race condition between JIT compaction and unload_units? Now I think it is. This change will make it easier to spend more time on compile_compact_jit_code. For now it seems to take only 0.0723ms though.
2020-11-20Remove obsoleted str_new_emptyTakashi Kokubun
since 58325daae3beefda13ed100782cd19a89cc68771. ../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function] 1339 | str_new_empty(VALUE str) | ^~~~~~~~~~~~~
2020-11-20Eliminate IVC sync between JIT and Ruby threads (#3799)Takashi Kokubun
Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662), inline caches support parallel access now. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-11-20Update NEWS for String subclass method change [ci skip]Jeremy Evans
2020-11-20Make String methods return String instances when called on a subclass instanceJeremy Evans
This modifies the following String methods to return String instances instead of subclass instances: * String#* * String#capitalize * String#center * String#chomp * String#chop * String#delete * String#delete_prefix * String#delete_suffix * String#downcase * String#dump * String#each/#each_line * String#gsub * String#ljust * String#lstrip * String#partition * String#reverse * String#rjust * String#rpartition * String#rstrip * String#scrub * String#slice! * String#slice/#[] * String#split * String#squeeze * String#strip * String#sub * String#succ/#next * String#swapcase * String#tr * String#tr_s * String#upcase This also fixes a bug in String#swapcase where it would return the receiver instead of a copy of the receiver if the receiver was the empty string. Some string methods were left to return subclass instances: * String#+@ * String#-@ Both of these methods will return the receiver (subclass instance) in some cases, so it is best to keep the returned class consistent. Fixes [#10845] Notes: Merged: https://github.com/ruby/ruby/pull/3701
2020-11-20[DOC] Ripper.{lex,tokenize} now always return full tokens. [ci skip]Nobuhiro IMAI
Notes: Merged: https://github.com/ruby/ruby/pull/3797
2020-11-21* 2020-11-21 [ci skip]git
2020-11-20Do not allow Module#include to insert modules before the origin in the ↵Jeremy Evans
lookup chain Module#include should only be able to insert modules after the origin, otherwise it ends up working like Module#prepend. This fixes the case where one of the modules in the included module chain is included in a module that is already prepended to the receiver. Fixes [Bug #7844] Notes: Merged: https://github.com/ruby/ruby/pull/3796
2020-11-20Update expected IRB resultNobuyoshi Nakada
2020-11-20[Feature #17276] Moved raise_errors support to Ripper::Lexer#parseNobuyoshi Nakada
2020-11-20[Bug #11213] let defined?(super) call respond_to_missing?Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3777
2020-11-20Try to fix download errorKazuhiro NISHIYAMA
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10 ``` tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError) OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess ``` Notes: Merged: https://github.com/ruby/ruby/pull/3794
2020-11-20renameS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/3769
2020-11-20fix codeS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/3769
2020-11-20add flo_prev_or_next funcS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/3769
2020-11-20Ripper.{lex,tokenize} return full tokens even if syntax errorNobuhiro IMAI
yet another implements [Feature #17276]
2020-11-20* 2020-11-20 [ci skip]git
2020-11-20Document Different Coverage ModesKevin Murphy
This commits adds in documentation to illustrate the different modes you can start coverage with. Examples are provided to show how to start each of these modes, along with an explanation of the mode and a description of the output. Notes: Merged: https://github.com/ruby/ruby/pull/3792
2020-11-19Added assertionsNobuyoshi Nakada
2020-11-19Update the default gems section in NEWS.mdHiroshi SHIBATA
2020-11-19Make RubyVM::InstructionSequence.compile_file use same encoding as loadJeremy Evans
This switches the internal function from rb_parser_compile_file_path to rb_parser_load_file, which is the same internal method that Kernel#load uses. Fixes [Bug #17308] Notes: Merged: https://github.com/ruby/ruby/pull/3788
2020-11-19* 2020-11-19 [ci skip]git
2020-11-19Fix USE_TRANSIENT_HEAP macro usage in hash.cCristian Greco
Additionally fix some typos in transient heap. Notes: Merged: https://github.com/ruby/ruby/pull/3787
2020-11-18[ruby/net-smtp] Bump version to 0.2.1Hiroshi SHIBATA
https://github.com/ruby/net-smtp/commit/6e5c09dcc4
2020-11-18Update TypeProf to 0.6.1Yusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/3784
2020-11-17Update documentation for Ripper.{lex,tokenize,sexp,sexp_raw} [ci skip]Jeremy Evans
2020-11-17Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}Jeremy Evans
Implements [Feature #17276] Notes: Merged: https://github.com/ruby/ruby/pull/3774 Merged-By: jeremyevans <code@jeremyevans.net>
2020-11-18Move the declaration into the functionKazuhiro NISHIYAMA
instead of 'do not call it directly.' comment.
2020-11-18Add Fiddle 1.0.2 to NEWSSutou Kouhei
Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18Update Fiddle's dependenciesSutou Kouhei
Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Remove needless returnSutou Kouhei
https://github.com/ruby/fiddle/commit/50e02f9445 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Bump versionSutou Kouhei
https://github.com/ruby/fiddle/commit/74b65cb858 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] test: suppress shadowing outer local variable warningSutou Kouhei
https://github.com/ruby/fiddle/commit/cf168680a2 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Remove needless workaroundSutou Kouhei
It's fixed in upstream. https://github.com/MSP-Greg/ruby-loco/issues/4 https://github.com/ruby/fiddle/commit/2ae0ff4934 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Add workaround for ruby head for mingwSutou Kouhei
https://github.com/ruby/fiddle/commit/bb227c206d Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Use msys2_mingw_dependenciesSutou Kouhei
https://github.com/ruby/fiddle/commit/fee175a8ff Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Use ruby_xcalloc() instead of ruby_xmalloc() and memset()Sutou Kouhei
https://github.com/ruby/fiddle/commit/6d24fb5438 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Remove needless rescueSutou Kouhei
GitHub: fix GH-15 Reported by Eneroth3. Thanks!!! https://github.com/ruby/fiddle/commit/f3d70b81ec Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Add workaround for RubyInstaller for WindowsSutou Kouhei
See comment for details. https://github.com/ruby/fiddle/commit/0c76f03dc4 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Add a "pinning" reference (#44)Aaron Patterson
* Add a "pinning" reference A `Fiddle::Pinned` objects will prevent the objects they point to from moving. This is useful in the case where you need to pass a reference to a C extension that keeps the address in a global and needs the address to be stable. For example: ```ruby class Foo A = "hi" # this is an embedded string some_c_function A # A might move! end ``` If `A` moves, then the underlying string buffer may also move. `Fiddle::Pinned` will prevent the object from moving: ```ruby class Foo A = "hi" # this is an embedded string A_pinner = Fiddle::Pinned.new(A) # :nodoc: some_c_function A # A can't move because of `Fiddle::Pinned` end ``` This is a similar strategy to what Graal uses: https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject-- * rename global to match exception name * Introduce generic Fiddle::Error and rearrange error classes Fiddle::Error is the generic exception base class for Fiddle exceptions. This commit introduces the class and rearranges Fiddle exceptions to inherit from it. https://github.com/ruby/fiddle/commit/ac52d00223 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Add support for specifying types by name as String or SymbolSutou Kouhei
For example, :voidp equals to Fiddle::TYPE_VOID_P. https://github.com/ruby/fiddle/commit/3b4de54899 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18[ruby/fiddle] Add TYPE_CONST_STRING and SIZEOF_CONST_STRING for "const char *"Sutou Kouhei
Add rb_fiddle_ prefix to conversion functions.h to keep backward compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING and not String src. Use rb_fiddle_value_to_generic() instead. https://github.com/ruby/fiddle/commit/0ffcaa39e5 Notes: Merged: https://github.com/ruby/ruby/pull/3780
2020-11-18test/net/smtp - use TCPSocket when UNIXSocket unavailableMSP-Greg
Notes: Merged: https://github.com/ruby/ruby/pull/3778
2020-11-17NEWS: Add --backtrace-limit option [ci skip]Junichi Ito
Notes: Merged: https://github.com/ruby/ruby/pull/3782
2020-11-17Remove NEWS entry about taint deprecation warnings [ci skip]Jeremy Evans
JunichiIto on GitHub correctly pointed out this is no longer accurate due to the change to not display deprecation warnings by default.
2020-11-18* 2020-11-18 [ci skip]git
2020-11-18fix public interfaceKoichi Sasada
To make some kind of Ractor related extensions, some functions should be exposed. * include/ruby/thread_native.h * rb_native_mutex_* * rb_native_cond_* * include/ruby/ractor.h * RB_OBJ_SHAREABLE_P(obj) * rb_ractor_shareable_p(obj) * rb_ractor_std*() * rb_cRactor and rm ractor_pub.h and rename srcdir/ractor.h to srcdir/ractor_core.h (to avoid conflict with include/ruby/ractor.h) Notes: Merged: https://github.com/ruby/ruby/pull/3775
2020-11-17Skip tests related TLS with Windows platform.Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3776
2020-11-17Import net-smtp-0.2.0 from https://github.com/ruby/net-smtpHiroshi SHIBATA