[#47319] Translating MRI Guides! — Zachary Scott <zachary@...>
Hello Hashimoto-san!
5 messages
2013/05/03
[#47340] [ruby-trunk - Bug #8401][Open] BigDecimal.new("2").power(1e20) is zero. — "akr (Akira Tanaka)" <akr@...>
4 messages
2013/05/13
[#47341] LONG_LONG availability — Tanaka Akira <akr@...>
気がついてしまったのですが、Ruby 1.9.2 のころから
7 messages
2013/05/13
[#47363] -Lprefix/lib — Tanaka Akira <akr@...>
最近試しているクロスコンパイルな CI で、
5 messages
2013/05/22
[#47374] Re: [ruby-cvs:48158] xibbar:r40990 (trunk): fix a typo. — Zachary Scott <zachary@...>
Do you mean "modularized"?
3 messages
2013/05/30
[#47377] RubyKaigi 2013, 5/31(金)の'Ruby Comitter vs. the World'企画へのご協力のお願い — Kakutani Shintaro <shintaro@...>
かくたにです。RubyKaigi 2013 のほうから来ました。
5 messages
2013/05/30
[ruby-dev:47336] [ruby-trunk - Feature #8394][Open] use String#b instead of dup.force_encoding("ASCII-8BIT")
From:
"znz (Kazuhiro NISHIYAMA)" <redmine@...>
Date:
2013-05-12 03:47:47 UTC
List:
ruby-dev #47336
Issue #8394 has been reported by znz (Kazuhiro NISHIYAMA).
----------------------------------------
Feature #8394: use String#b instead of dup.force_encoding("ASCII-8BIT")
https://bugs.ruby-lang.org/issues/8394
Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
dup.force_encoding("ASCII-8BIT") を使っているところは b を使えば良いのではないかと思ったのですが、どうでしょうか?
diff --git a/lib/cgi/util.rb b/lib/cgi/util.rb
index 7de6fc7..bb5df37 100644
--- a/lib/cgi/util.rb
+++ b/lib/cgi/util.rb
@@ -6,7 +6,7 @@ module CGI::Util
# # => "%27Stop%21%27+said+Fred"
def escape(string)
encoding = string.encoding
- string.dup.force_encoding('ASCII-8BIT').gsub(/([^ a-zA-Z0-9_.-]+)/) do
+ string.b.gsub(/([^ a-zA-Z0-9_.-]+)/) do
'%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
end.tr(' ', '+').force_encoding(encoding)
end
diff --git a/lib/erb.rb b/lib/erb.rb
index 51b128e..9cb3999 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -596,7 +596,7 @@ class ERB
def compile(s)
enc = s.encoding
raise ArgumentError, "#{enc} is not ASCII compatible" if enc.dummy?
- s = s.dup.force_encoding("ASCII-8BIT") # don't use constant Enoding::ASCII_8BIT for miniruby
+ s = s.b
enc = detect_magic_comment(s) || enc
out = Buffer.new(self, enc)
@@ -948,7 +948,7 @@ class ERB
# Programming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide
#
def url_encode(s)
- s.to_s.dup.force_encoding("ASCII-8BIT").gsub(/[^a-zA-Z0-9_\-.]/n) {
+ s.to_s.b.gsub(/[^a-zA-Z0-9_\-.]/n) {
sprintf("%%%02X", $&.unpack("C")[0])
}
end
--
http://bugs.ruby-lang.org/