Date: 2017/09/25 (Mon)
Time: 14:00- 18:00 (JST)
Place: Speee, Inc.
log edit:
Attendees: matz (Yukihiro Matsumoto), nobu (Nobuyoshi Nakada), ko1 (Koichi Sasada, partially), naruse (Yui Naruse), akr (Akira Tanaka), shyouhei (Shyouhei Urabe), mrkn (Kenta Murata), mame (Yusuke Endoh), knu (Akinori MUSHA), duerst (Martin Dürst), yuki (Yuki Nishijima) (add your name here if you would like to appear)
Language: mostly Japanese (sorry for non native Japanese speakers)

Please add your favorite ticket numbers you want to ask to discuss.

  • NOTE
    • Dev meeting IS NOT a decision making place. All decisions should be done at the bug tracker.
    • Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly. Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
    • We will write a log about discussion to a file or to each ticket in English.
    • All activities are best-effort (keep in mind that most of us are volunteer developers).
    • The date, time and place is scheduled according to when/where we can reserve Matz's time.


  • NOTE: Write at least "ticket number/title/link" and your name (see example below). Explain details on the ticket. If you cannot attend the meeting, we appreciate a short summary because we can understand it more easily (long discussion is difficult to read, especially in a non-native language). Your motivation is also welcome.

About 2.5 timeframe

Carry-over from previous meeting(s)

  • [Feature #13396] Net::HTTP has no write timeout (shyouhei) Sorry, what was the conclusion of it?
  • [Bug #13438] Fix heap overflow due to not being updated for HEAP_* -> HEAP_PAGE_* variable renaming (shyouhei) Sorry, what was the conclusion of it?
  • [Feature #13608] Add TracePoint#thread (shyouhei)
  • [Feature #13602] Optimize instance variable access if $VERBOSE is not true when compiling (shyouhei)
  • [Feature #13613] Prefer that require/require_relative/load to tell us permission error if the target file is unreadable (shyouhei)
  • [Feature #13620] Simplifying MRI's build system: always install (shyouhei)
  • [Feature #13630] :[] method should accept block in nice syntax (shyouhei) OK to close?
  • [Feature #11484] add output offset for readpartial/read_nonblock/etc (shyouhei)
  • [Feature #9001] Please package better standard library (shyouhei)
  • [Feature #12533] Refinements: allow modules inclusion, in which the module can call internal methods which it defines. (shyouhei)
  • [Feature #13653] Bundled zlib helper (shyouhei)
  • [Feature #13626] Add String#byteslice! (shyouhei)
  • [Feature #13551] Add a method to alias class methods (shyouhei)
  • [Feature #13332] Forwardable#def_instance_delegator nil (shyouhei)
  • [Feature #13378] Eliminate 4 of 8 syscalls when requiring file by absolute path (shyouhei)
  • [Feature #13381] [PATCH] Expose rb_fstring and its family to C extensions (shyouhei)
  • [Feature #13677] Add more details to error "Name or service not known (SocketError)" (shyouhei)
  • [Feature #9323] IO#writev (shyouhei)
  • [Feature #13693] Allow String#to_i and / or Kernel::Integer to parse e-notation (shyouhei)
  • [Feature #13434] better method definition in C API (shyouhei)
  • [Feature #13696] Add exchange and noreplace options to File.rename (shyouhei)
  • [Feature #13683] Add strict Enumerable#single (shyouhei)
  • [Feature #13713] socketの便利メソッドのdatagramのUNIXSocket用対応 (shyouhei)
  • [Feature #13715] [PATCH] avoid garbage from Symbol#to_s in interpolation (shyouhei)
  • [Feature #13719] [PATCH] net/http: allow existing socket arg for Net::HTTP.start (shyouhei)
  • [Feature #13732] Precise on Windows (shyouhei)
  • [Feature #13733] Dump the delegator instead of the delegated object (shyouhei)
  • [Feature #13625] BigDecimal short form / shorthand (shyouhei)
  • [Feature #13712] String#start_with? with regexp (shyouhei)
  • [Bug #12159] Thread::Backtrace::Location#path returns absolute path for files loaded by require_relative (a_matsuda)
  • [Feature #13751] Suppert SSHFP resource records in rubysl-resolv (shyouhei)
  • [Bug #13752] Can't observe sibling refinements (shyouhei)
  • [Feature #13763] Trigger "unused variable warning" for unused variables in parameter lists (shyouhei)
  • [Feature #13765] Add Proc#bind (shyouhei)
  • [Feature #13767] add something like python's buffer protocol to share memory between different narray like classes (shyouhei)
  • [Feature #13777] Array#delete_all (shyouhei)
  • [Feature #13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid (shyouhei)
  • [Feature #13784] Add Enumerable#filter as an alias of Enumerable#select (shyouhei)
  • [Misc #13804] Protected methods cannot be overridden (shyouhei)
  • [Feature #13807] A method to filter the receiver against some condition (shyouhei)
  • [Feature #13805] Make refinement scoping to be like that of constants (shyouhei)
  • [Misc #13810] Inconsistency between Date and Time.strftime("%v") (shyouhei)
  • [Feature #12282] Hash#dig! for repeated applications of Hash#fetch (shyouhei)
  • [Feature #13821] Allow fibers to be resumed across threads (shyouhei)
  • [Feature #9450] Allow overriding SSLContext options in Net::HTTP (shyouhei)
  • [Feature #13820] Add a nill coalescing operator (shyouhei)
  • [Feature #13770] Can't create valid Cyrillic-named class/module (shyouhei)
  • [Misc #13840] Collection methods - stability (shyouhei, duerst (propose to reject))
  • bugs that are not assigned (shyouhei)
    • [Bug #13675] Should Zlib::GzipReader#ungetc accept nil?
    • [Bug #13700] Enumerable#sum may not work for Ranges subclasses due to optimization (mrkn)
    • [Bug #13716] Unexpected or undocumented (or maybe both) behaviour when mixing String#scan with named captures
    • [Bug #13549] MinGW / Windows encoding - Two issues
    • [Bug #13754] bigdecimal with lower precision that Float
    • [Bug #13746] windows-pr gemのRuby 2.4 32bit版でのSEGV
    • [Bug #13758] TestRubyOptions#test_segv_setproctitle segfaults on AARCH64
    • [Bug #13691] Word- and symbol array literals not valid where regular array is
    • [Bug #13769] IPAddr#ipv4_compat incorrect behavior
    • [Bug #13768] SIGCHLD and Thread dead-lock problem
    • [Bug #13773] Improve String#prepend performance if only one argument is given
    • [Bug #13774] for methods defined from procs, the binding of the resulting bound method proc does not have access to the original proc's closure environment
    • [Bug #13748] [PATCH] Fix mul overflow detection for LLP64 arch.
    • [Bug #13781] Should the safe navigation operator invoke nil?
    • [Bug #13795] Hash#select return type does not match Hash#find_all
    • [Bug #13811] Ruby 2.4.1 fails to compile inside qemu armhf - signal 11 (Segmentation fault)
    • [Bug #13818] Licence issue with use of Onigmo rather than Oniguruma library files
    • [Bug #13827] Improve performance of Base64.urlsafe_encode64
    • [Bug #13829] NUL char in $0
    • [Bug #13833] String#scanf("%a") incorrectly requires a sign on the (binary) exponent
    • [Bug #13835] Using 'open-uri' with 'tempfile' causes an exception
    • [Bug #13757] TestBacktrace#test_caller_lev segaults on PPC
    • [Bug #13167] Dir.glob is 25x slower since Ruby 2.2

From attendees

  • [Bug #13931] correct install_name of libruby on macOS (libruby.2.5.0.dylib -> libruby.2.5.dylib) (naruse)

  • [Bug #13917] Comparable#clamp is slower than using Array#min,max. (naruse)

  • [Feature #13919] Add a new method to create Time instances from unix time and nsec

  • [Feature #13581] Syntax sugar for method reference (shyouhei)

  • [Feature #13867] Copy offloading in IO.copy_stream (shyouhei)

  • [Feature #13869] Filter non directories from Dir.glob (shyouhei)

  • [Feature #8948] Frozen regex (shyouhei)

  • [Bug #13857] frozen string literal: can freeze same string into two unique frozen strings (shyouhei)

  • [Feature #13881] Use getcontext/setcontext on OS X (shyouhei)

  • [Feature #13883] Change from gperf 3.0.4 to gperf 3.1 (shyouhei)

  • [Feature #13890] Allow a regexp as an argument to 'count', to count more interesting things than single characters (shyouhei)

  • [Feature #13873] Optimize Dir.glob with FNM_EXTGLOB (shyouhei)

  • [Feature #13245] [PATCH] reject inter-thread TLS modification (shyouhei)

  • [Feature #13893] Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior (shyouhei)

  • [Feature #13901] Add branch coverage (shyouhei)

  • [Feature #12753] Useful operator to check bit-flag is true or false (shyouhei)

  • [Feature #8499] Importing Hash#slice, Hash#slice!, Hash#except, and Hash#except! from ActiveSupport (shyouhei)

  • [Feature #10344] [PATCH] Implement Fiber#raise (shyouhei)

  • [Feature #13922] Consider showing warning messages about same-named aliases - either directly or perhaps via the "did you mean gem" (shyouhei)

  • [Feature #13924] Add headings/hints to RubyVM::InstructionSequence#disasm (shyouhei)

  • [Feature #13923] Idiom to release resources safely, with less indentations (shyouhei)

  • [Feature #10849] Adding an alphanumeric function to SecureRandom (shyouhei)

  • [Feature #13919] Add a new method to create Time instances from unix time and nsec (shyouhei)

  • [Feature #13884] Reduce number of memory allocations for "and", "or" and "diff" operations on small arrays (shyouhei)

  • [Feature #13936] Make regular expressions debugable (duerst)

  • [Feature #13934] Being able to set a default encoding other than Unicode on a "per-project" basis (duerst)

  • bugs that are not assigned (shyouhei)

    • [Bug #13794] Infinite loop of sched_yield
    • [Bug #12036] Enumerator's automatic rewind behavior
    • [Bug #13872] Duplicate assignment no longer silences "assigned but unused variable" warning
    • [Bug #13848]'200.') raises an exception
    • [Bug #13880BigDecimal(string) should raise on invalid values in string
    • [Bug #13851] getting "can't modify string; temporarily locked" on non-frozen instances
    • [Bug #13876] Tempfile's finalizer can be interrupted by a Timeout exception which can cause the process to hang
    • [Bug #13885] Random.urandom と securerandom について
    • [Bug #10104] Fileutils cp_r fails on sockets or fifes even if File.mknod and File.mkfifo are defined
    • [Bug #13917] Comparable#clamp is slower than using Array#min,max.
    • [Bug #13887] test/ruby/test_io.rb may get stuck with FIBER_USE_NATIVE=0 on Linux
    • [Bug #13926] Non UTF response headers raise an Argument error since 2.4.2p198
    • [Bug #13925] string.split(pattern, 1) should return [self.dup], but it returns [self]
    • [Bug #13931] correct install_name of libruby on macOS (libruby.2.5.0.dylib -> libruby.2.5.dylib)

From non-attendees

Write your name and your interest (what do you want to ask and to whom?) please.

  • example: [Feature #13686] Add states of scanner to tokens from Ripper.lex and Ripper::Filter#on_* (aycabta)