From: zn@... Date: 2017-12-20T13:00:44+00:00 Subject: [ruby-core:84360] [Ruby trunk Bug#14193] --enable-frozen-string-literal and rubygems, erb, & rdoc Issue #14193 has been updated by znz (Kazuhiro NISHIYAMA). I think `''.dup` is better than `String.new` in most cases. Because `String.new.encoding` is ASCII-8BIT, so it may be incompatible. `String.new` is better in some cases. For example: https://github.com/ruby/ruby/blob/373babeaac8c3e663e1ded74a9f06ac94a671ed9/lib/fileutils.rb#L745-L746 (buffers) ---------------------------------------- Bug #14193: --enable-frozen-string-literal and rubygems, erb, & rdoc https://bugs.ruby-lang.org/issues/14193#change-68549 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0dev (2017-12-16 trunk 61295) [x64-mingw32] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- A popular gem that I use for my doc site doesn���t currently test against MinGW trunk, but I���ve got a PR there for that. Noticed that the current CI���s were failing, and took a look. One could debate the practicality of doing so, but for 2.4 and trunk, `--enable-frozen-string-literal` was set in `RUBYOPT`. The builds were failing in RubyGems while setting up the test environment. That took me to my fork of rubygems/rubygems, which led me back to trunk. Attached are three patch files that are required for ���runner.rb��� testing to pass on rdoc & rubygems folders when `--enable-frozen-string-literal` is used. Notes: RubyGems - I believe its tests run against the files in the src directory, but it needs the other patches in the app directory to pass. RDoc - I used `������.dup` for an unfrozen string, not sure if `String.new` is preferred or better. ERB - I haven���t worked with or debugged bindings that much, but I started looking at the bindings passed from RDoc, and when I added a begin/rescue to look at the string variables in them, all the tests for RDoc passed. Seems odd... Thanks, Greg PS - I use markdown a lot, may look odd in email. Don't know how many people use email vs browser... ---Files-------------------------------- frozen_rubygems.patch (462 Bytes) frozen_rdoc.patch (1.25 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: