Issue #14153 has been updated by shyouhei (Shyouhei Urabe).


This patch works like this:

```
% ./ruby --disable-gems -w -ve '[1, 2, 3].sample.tap { |rand| puts "Random value: #{rand}" }; puts "Another random value: #{rand}"'
ruby 2.5.0dev (2017-12-04 warn_past_scope 61011) [x86_64-darwin15]
Random value: 3
Another random value: 0.25989520023218615
%
%
% ./ruby --disable-gems -w -ve '# warn_past_scope: true' -e '[1, 2, 3].sample.tap { |rand| puts "Random value: #{rand}" }; puts "Another random value: #{rand}"'
ruby 2.5.0dev (2017-12-04 warn_past_scope 61011) [x86_64-darwin15]
-e:2: warning: possible reference to past scope - rand
Random value: 2
Another random value: 0.5832209137869108
%
```

----------------------------------------
Feature #14153: [PATCH] resurrection of # -*- warn_past_scope: true -*-
https://bugs.ruby-lang.org/issues/14153#change-68181

* Author: shyouhei (Shyouhei Urabe)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
```patch
From 2addeedcf8838dc15d127fffd888962b34879439 Mon Sep 17 00:00:00 2001
From: "Urabe, Shyouhei" <shyouhei / ruby-lang.org>
Date: Mon, 4 Dec 2017 19:28:55 +0900
Subject: [PATCH] resurrection of # -*- warn_past_scope: true -*-

I understand this feature was killed due to [Bug #10661].

However sometimes i _do_ want to check variable name collisions.

Please consider this feature again, with default off; no warning shall
be emitted unless theere are the dedicated magic comment in the source
code.

Signed-off-by: Urabe, Shyouhei <shyouhei / ruby-lang.org>
---
 parse.y | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/parse.y b/parse.y
index 03b9ed992e..a4a31af5e0 100644
--- a/parse.y
+++ b/parse.y
@@ -37,7 +37,7 @@
 #include "probes.h"
 
 #ifndef WARN_PAST_SCOPE
-# define WARN_PAST_SCOPE 0
+# define WARN_PAST_SCOPE 1
 #endif
 
 #define TAB_WIDTH 8
-- 
2.15.1
```



-- 
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>