[#83096] File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?}) — Nobuyoshi Nakada <nobu@...>
On 2017/10/04 8:47, normal@ruby-lang.org wrote:
5 messages
2017/10/04
[#83100] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Eric Wong <normalperson@...>
2017/10/04
Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#83105] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Nobuyoshi Nakada <nobu@...>
2017/10/04
On 2017/10/04 15:55, Eric Wong wrote:
[#83107] Alias Enumerable#include? to Enumerable#includes? — Alberto Almagro <albertoalmagro@...>
Hello,
9 messages
2017/10/04
[#83113] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/05
This has been requested countless times, then rejected each and every time.
[#83129] Re: Alias Enumerable#include? to Enumerable#includes?
— Alberto Almagro <albertoalmagro@...>
2017/10/05
Sorry I didn't found it on the core mail list's archive.
[#83138] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/06
Ruby has not been made of popular votes so far. You have to show us
[#83149] Re: Alias Enumerable#include? to Enumerable#includes?
— Eric Wong <normalperson@...>
2017/10/06
Alberto Almagro <albertoalmagro@gmail.com> wrote:
[#83200] [Ruby trunk Feature#13996] [PATCH] file.c: apply2files releases GVL — normalperson@...
Issue #13996 has been reported by normalperson (Eric Wong).
4 messages
2017/10/10
[ruby-core:83595] [Ruby trunk Feature#10617] Change multiple assignment in conditional from parse error to warning
From:
eregontp@...
Date:
2017-10-28 11:30:47 UTC
List:
ruby-core #83595
Issue #10617 has been updated by Eregon (Benoit Daloze). This is now allowed, but produces a warning: ~~~ $ ruby -e 'if (a, b = 1, 2); puts "y"; end' -e:1: warning: found = in conditional, should be == y $ ruby -W0 -e 'if (a, b = 1, 2); puts "y"; end' y ~~~ Is that expected? It seems to only happen with literals though: ~~~ $ ruby -e 'if (a, b = 1, 2); puts "y"; end' -e:1: warning: found = in conditional, should be == y $ ruby -e 'if (a, b = 1, 2.itself); puts "y"; end' y ~~~ ---------------------------------------- Feature #10617: Change multiple assignment in conditional from parse error to warning https://bugs.ruby-lang.org/issues/10617#change-67622 * Author: recursive-madman (Recursive Madman) * Status: Closed * Priority: Normal * Assignee: * Target version: ---------------------------------------- There is currently an inconsistency between regular and multiple assignment in conditionals. Regular assignment causes a **warning**, multiple assignment causes a **parse error**. The historical reason for this is that in 1.8 multiple assignment would always return an Array, but since 1.9 it returns whatever the RHS evaluates to. **Examples:** ```ruby a, b = nil #=> nil a, b = [] #=> [] (but a and b are both nil) a, b = 1,2 #=> [1, 2] ``` Since multiple assignment behavior has changed, it makes sense to remove the (artificial) parse error for multiple assignments. That makes it possible to test the return value of a method used for multiple assignment without having to use a temporary variable. **Example:** ```ruby # CURRENTLY WORKING CODE: tmp = some_method_returning_array_or_nil a, b = tmp if tmp # method returned an array (possibly empty) else # method returned nil. end # PROPOSED WORKING CODE: if(a, b = some_method_returning_array_or_nil) # method returned an array (possibly empty) else # method returned nil end ``` (the parenthesis are needed due to LALR limitations, as discussed in #10450) Attached is a patch that does the necessary change. ---Files-------------------------------- 0001-turn-parse-error-on-multiple-assignment-into-warning.patch (752 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>