summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-02-11 15:17:56 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-02-11 15:20:34 +0900
commit639f6e2799f33a7889c4ca48ae0e314e67214dfc (patch)
treeee1656258197c7e808e74d0878e930c330987325 /src
parent55e58d85122bc65b3ab9428ea79d863ab0f8170e (diff)
downloadmruby-639f6e2799f33a7889c4ca48ae0e314e67214dfc.tar.gz
mruby-639f6e2799f33a7889c4ca48ae0e314e67214dfc.zip
No strict argument check for blocks when keyword arguments exist; ref #4270
Diffstat (limited to 'src')
-rw-r--r--src/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index 49c2bb85c..7904162be 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1810,7 +1810,8 @@ RETRY_TRY_BLOCK:
kdict = argv[argc-1];
mrb_hash_check_kdict(mrb, kdict);
}
- else if (r || argc <= m1+m2+o) {
+ else if (r || argc <= m1+m2+o
+ || !(mrb->c->ci->proc && MRB_PROC_STRICT_P(mrb->c->ci->proc))) {
kdict = mrb_hash_new(mrb);
kargs = 0;
}