[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>
[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>
[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
Hi,
(2012/04/09 14:19), Yukihiro Matsumoto wrote:
[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>
[#44233] [ruby-trunk - Bug #6274][Open] Float addition incorrect — "swanboy (Michael Swan)" <swanyboy4@...>
[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>
[#44329] [ruby-trunk - Feature #6287][Open] nested method should only be visible by nesting/enclosing method — "botp (bot pena)" <botpena@...>
[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>
On Sat, Apr 14, 2012 at 10:58:12AM +0900, mame (Yusuke Endoh) wrote:
Hi,
On Mon, Apr 16, 2012 at 06:25:59PM +0900, SASADA Koichi wrote:
[#44372] Possible merge error of code in Issue 4651 on to Ruby 1.9.3-p125? — "Blythe,Aaron" <ABLYTHE@...>
tl;dr I believe I have uncovered a merge error to ruby 1.9.3-p125 from Issue 4651. Please advise if this is the same issue, or if a separate issue needs to be logged. Details below.
[#44431] [Backport93 - Backport #6314][Open] Backport r35374 and r35375 — "drbrain (Eric Hodel)" <drbrain@...7.net>
[#44432] [ruby-trunk - Feature #6315][Open] handler to trace output of each line of code executed — "ankopainting (Anko Painting)" <anko.com+ruby@...>
[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>
Hello,
On Mon, Apr 23, 2012 at 11:17 PM, Yusuke Endoh <mame@tsg.ne.jp> wrote:
Hello,
(4/24/12 6:55 AM), Yusuke Endoh wrote:
> kosaki (Motohiro KOSAKI) wrote:
[#44540] [ruby-trunk - Bug #6343][Open] Improved Fiber documentation — "andhapp (Anuj Dutta)" <anuj@...>
[#44612] [ruby-trunk - Feature #6354][Open] Remove escape (break/return/redo/next support) from class/module scope — "ko1 (Koichi Sasada)" <redmine@...>
[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>
On Fri, Apr 27, 2012 at 8:53 PM, MartinBosslet (Martin Bosslet)
On Saturday, April 28, 2012 at 8:52 AM, KOSAKI Motohiro wrote:
[#44636] [ruby-trunk - Bug #6364][Open] Segmentation fault happend when running test_cptr.rb — "raylinn@... (ray linn)" <raylinn@...>
[#44667] possible YAML bug in ruby 1.9.3p125? — Young Hyun <youngh@...>
YAML in ruby 1.9.3p125 seems to have a bug reading in YAML from older Ruby versions. Specifically, YAML in 1.9.3p125 mis-parses text like "123_456" as a number (just as in Ruby) rather than as a string, which appears to be the correct behavior according to the YAML specification.
[#44686] [BUG] not a node 0x07 — ronald braswell <rpbraswell@...>
Running ruby 1.8.6 on Solaris 10.
2012/4/28 ronald braswell <rpbraswell@gmail.com>:
I have heard reports of this on 1.9.x. Do you know if this problem has
[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>
Issue #6373 has been updated by Marc-Andre Lafortune.
[#44743] [ruby-trunk - Feature #6375][Open] Python notation for literal Hash — "alexeymuranov (Alexey Muranov)" <redmine@...>
[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>
On Thu, May 3, 2012 at 6:02 AM, mame (Yusuke Endoh) <mame@tsg.ne.jp> wrote:
[ruby-core:44529] [ruby-trunk - Bug #6324] Spurious/incorrect warning on File.open with internal_encoding specified in string mode to duplicate external_encoding
Issue #6324 has been updated by duerst (Martin D端rst).
Assignee changed from duerst (Martin D端rst) to naruse (Yui NARUSE)
In my view, we could/should get rid of this warning. See details below.
jrochkind (jonathan rochkind) wrote:
> Normally, if you open a File specifying an internal_encoding equivalent to an external_encoding, using the string method, it gives you a warning. _Normally_ this warning is possibly appropriate and accurate:
>
>
>
> irb(main):018:0* f = File.open("test", "r:cp866:cp866")
> (irb):18: warning: Ignoring internal encoding cp866: it is identical to external encoding cp866
This is actually misleading. The actual internal encoding (the encoding of the Strings read in) is still cp866, so the information isn't ignored. It's just that the "internal_encoding" slot of the file isn't set because it can be deduced from context.
Also, there's really not much harm if a programmer writes File.open("test", "r:cp866:cp866") instead of just File.open("test", "r:cp866"). The warning may help a programmer who wrongly assumes that there's always a need for giving both encodings, but I think documentation should be enough for this.
> However, there is a case where it is NOT. If you have set your Encoding.default_internal
>
> irb(main):019:0> Encoding.default_internal = "UTF-8"
> irb(main):020:0> f = File.open("test", "r:cp866:cp866")
> (irb):20: warning: Ignoring internal encoding cp866: it is identical to external encoding cp866
>
> In this case, it is neccesary to set the internal_encoding to override the non-nil Encoding.default_internal
>
> The functionality in fact _works_ here, we HAVE succesfully over-ridden the default_internal:
>
> irb(main):022:0> p f.internal_encoding
> => nil
> irb(main):023:0> f.read.encoding
> => #<Encoding:IBM866>
>
> So the warning is in fact _wrong_, the :internal_encoding was NOT ignored, it was used as desired. The warning is also unneccesary, what was being done here makes perfect sense, there's no need for a warning.
There's an additional case where the warning might not make sense. Assume I open files with variable external encodings that I all want to have the same internal encoding:
# somehow calculate ext_enc
File.open("test", "r:#{ext_enc}:cp866")
Now such a program will work quite well, without warnings. But occasionally, it will produce a warning, namely when it hits a case with ext_enc == "cp866". One could of course rewrite this as
File.open("test", ext_enc == "cp866" ? "r:cp866": "r:#{ext_enc}:cp866")
but this really seems way too complicated. It would be better to get rid of the warning.
> Note that the named argument approach works differnetly, no warning is output (whether or not you've set Encoding.default_internal).
>
>
> irb(main):024:0> f = File.open("foo", :external_encoding => "cp866", :internal_encoding => "cp866")
> => #<File:foo> # NO WARNING OUTPUT
> irb(main):025:0> f.internal_encoding
> => nil # CORRECT
> irb(main):026:0> f.read.encoding
> => #<Encoding:IBM866> # CORRECT
>
> Both the named argument and the permission-string method seem to work properly and equivalently. But only the permission-string argument method gives you an incorrect warning.
Another good reason to get rid of the warning.
So I hope my opinion is clear. But it wasn't my idea in the first place, so maybe I'm missing something. I'm switching assignee over to Yui.
----------------------------------------
Bug #6324: Spurious/incorrect warning on File.open with internal_encoding specified in string mode to duplicate external_encoding
https://bugs.ruby-lang.org/issues/6324#change-26082
Author: jrochkind (jonathan rochkind)
Status: Assigned
Priority: Normal
Assignee: naruse (Yui NARUSE)
Category:
Target version:
ruby -v: ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
Normally, if you open a File specifying an internal_encoding equivalent to an external_encoding, using the string method, it gives you a warning. _Normally_ this warning is possibly appropriate and accurate:
irb(main):018:0* f = File.open("test", "r:cp866:cp866")
(irb):18: warning: Ignoring internal encoding cp866: it is identical to external encoding cp866
However, there is a case where it is NOT. If you have set your Encoding.default_internal
irb(main):019:0> Encoding.default_internal = "UTF-8"
irb(main):020:0> f = File.open("test", "r:cp866:cp866")
(irb):20: warning: Ignoring internal encoding cp866: it is identical to external encoding cp866
In this case, it is neccesary to set the internal_encoding to override the non-nil Encoding.default_internal
The functionality in fact _works_ here, we HAVE succesfully over-ridden the default_internal:
irb(main):022:0> p f.internal_encoding
=> nil
irb(main):023:0> f.read.encoding
=> #<Encoding:IBM866>
So the warning is in fact _wrong_, the :internal_encoding was NOT ignored, it was used as desired. The warning is also unneccesary, what was being done here makes perfect sense, there's no need for a warning.
Note that the named argument approach works differnetly, no warning is output (whether or not you've set Encoding.default_internal).
irb(main):024:0> f = File.open("foo", :external_encoding => "cp866", :internal_encoding => "cp866")
=> #<File:foo> # NO WARNING OUTPUT
irb(main):025:0> f.internal_encoding
=> nil # CORRECT
irb(main):026:0> f.read.encoding
=> #<Encoding:IBM866> # CORRECT
Both the named argument and the permission-string method seem to work properly and equivalently. But only the permission-string argument method gives you an incorrect warning.
--
http://bugs.ruby-lang.org/