summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-07-17 07:12:31 +0900
committerGitHub <[email protected]>2020-07-17 07:12:31 +0900
commit9840d6a2e7fccb8eb64df3fc8e89fdd3c84670e3 (patch)
tree3dc5e0ada8b7b73edaff3397a6bc1fd340e498b3
parentb5bf9510ee5bf733eb258c8cde30e7026888c82d (diff)
parent5dc87f77d4f33edb53111e9e0fe2881065edee12 (diff)
downloadmruby-9840d6a2e7fccb8eb64df3fc8e89fdd3c84670e3.tar.gz
mruby-9840d6a2e7fccb8eb64df3fc8e89fdd3c84670e3.zip
Merge pull request #5038 from dearblue/bidx
Fixed shift width for `MRB_ENV_SET_BIDX()`
-rw-r--r--include/mruby/proc.h2
-rw-r--r--test/t/kernel.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/include/mruby/proc.h b/include/mruby/proc.h
index ef5357d5d..12013c3ae 100644
--- a/include/mruby/proc.h
+++ b/include/mruby/proc.h
@@ -34,7 +34,7 @@ struct REnv {
#define MRB_ENV_HEAP_P(e) ((e)->flags & MRB_ENV_HEAPED)
#define MRB_ENV_ONSTACK_P(e) (((e)->flags & MRB_ENV_CLOSED) == 0)
#define MRB_ENV_BIDX(e) (((e)->flags >> 8) & 0xff)
-#define MRB_ENV_SET_BIDX(e,idx) ((e)->flags = (((e)->flags & ~(0xff<<8))|((unsigned int)(idx) & 0xff)<<10))
+#define MRB_ENV_SET_BIDX(e,idx) ((e)->flags = (((e)->flags & ~(0xff<<8))|((unsigned int)(idx) & 0xff)<<8))
void mrb_env_unshare(mrb_state*, struct REnv*);
diff --git a/test/t/kernel.rb b/test/t/kernel.rb
index b7291a000..606150147 100644
--- a/test/t/kernel.rb
+++ b/test/t/kernel.rb
@@ -116,6 +116,13 @@ assert('Kernel#block_given?', '15.3.1.3.6') do
"block"
end
end
+
+ def bg_try_in_block
+ -> { block_given? }[]
+ end
+
+ assert_false bg_try_in_block
+ assert_true bg_try_in_block{}
end
assert('Kernel#class', '15.3.1.3.7') do