Jared Breeden
9553e20d34
Removing redundant mrb_str_to_str call
2015-06-22 19:07:25 -07:00
Jared Breeden
338ca305ae
Calling mrb_str_to_str in mrb_string_value_cstr. Fixes #2847
2015-06-22 18:37:14 -07:00
cremno
f0eaf9eaf5
fix arity of lambdas with optional arguments
...
From the CRuby 2.2.2 Proc#arity documentation:
If the block has optional arguments, returns -n-1, where n is the number
of mandatory arguments, with the exception for blocks that are not
lambdas and have only a finite number of optional arguments; in this
latter case, returns n.
2015-06-22 13:34:24 +02:00
Yukihiro "Matz" Matsumoto
a219e8b717
Merge pull request #2839 from yui-knk/fix/string_split_sample
...
[ci skip] Remove some Srting#split samples
2015-06-19 23:53:49 +09:00
yui-knk
d1e6d647bd
[ci skip] Remove some Srting#split samples
...
mruby not support regexp, so remove these samples.
2015-06-19 20:34:32 +09:00
cremno
5e8d2a4b84
refactor code to call mrb_inspect() instead
...
mrb_inspect() also calls mrb_obj_as_string() after #inspect to ensure
the mrb_value is a string.
2015-06-13 14:59:57 +02:00
Nobuhiro Iwamatsu
3bcf570a17
Fix build on MIPS of linux
...
MIPS of Linux platform is supported frexpl(3).
This fixes to use the frexpl that are provided with gcc if user wants to build
on MIPS of Linux platform.
Signe-doff-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org >
2015-06-06 09:05:53 +09:00
Yukihiro "Matz" Matsumoto
630c2c5853
Merge pull request #2823 from cremno/remove-unnecessary-mrb_immediate_p
...
remove unnecessary mrb_immediate_p()
2015-06-03 22:40:43 +09:00
cremno
ef0fc90cd0
remove unnecessary mrb_immediate_p()
...
`!mrb_array_p(ary2)` and `mrb_type(obj) != MRB_TT_DATA` are sufficient.
2015-06-02 08:56:41 +02:00
cremno
599d141cc8
directly call ary_new_capa()
2015-06-02 08:34:36 +02:00
take_cheeze
6460ef77bc
Compile mruby compiler as mrbgem.
...
Compiler codes is moved to "mruby-compiler".
Executable `mrbc` is moved to "mruby-bin-mrbc".
2015-06-01 21:53:55 +09:00
Yukihiro "Matz" Matsumoto
214bc3c95a
Merge pull request #2819 from cremno/only-genop-non-lvar-gets-in-val-mode
...
only generate gets of non-local vars in VAL mode
2015-06-01 21:40:11 +09:00
Yukihiro "Matz" Matsumoto
ddab53e66f
Merge pull request #2820 from cremno/add-too-big-array-size-checks
...
fix two potential cases of signed integer overflow
2015-06-01 21:39:21 +09:00
Yukihiro "Matz" Matsumoto
b6121adc7d
singleton_class should not be duped; fix #2815
2015-06-01 21:30:07 +09:00
cremno
7e8fb15457
only generate gets of non-local vars in VAL mode
...
This fixes a crash for code like "#{@a;1}".
Unlike CRuby globals are excluded too since mruby doesn't implement
hooking.
2015-06-01 13:54:20 +02:00
cremno
dc0e335664
fix two potential cases of signed integer overflow
2015-06-01 13:23:43 +02:00
Yukihiro "Matz" Matsumoto
bd2686d82d
singleton_class should not be cloned; close #2815
2015-06-01 00:13:12 +09:00
cremno
5cd877be7f
fix masgn nosplat array rhs bug
...
The rest lhs variable has to be an empty array if rhs is an array with
less elements than pre + post lhs variables. The codegen generated
OP_ARRAY with an invalid length (such as 127 for *a, b = []) because rn
was negative.
2015-05-31 13:30:49 +02:00
Yukihiro "Matz" Matsumoto
6a1978c7e1
fix OP_APOST bug for no pre arg cases; fix #2810
2015-05-31 18:30:37 +09:00
Yukihiro "Matz" Matsumoto
b720cb635a
Merge pull request #2811 from cremno/check-if-outer-is-a-class-or-module
...
check if outer is a class or module
2015-05-31 17:01:49 +09:00
cremno
59ea323976
check if outer is a class or module
...
For modules this check didn't exist yet. Also call #inspect.
2015-05-29 14:58:53 +02:00
cremno
2554fd9c94
remove unreachable code
...
It's just a copy of the code in the previous case (NODE_CALL).
2015-05-29 11:29:11 +02:00
Yukihiro "Matz" Matsumoto
13a2cc3e5d
Merge pull request #2807 from cremno/fix-capture-group-index-parsing-ub-bug
...
fix capture group index bug
2015-05-29 02:03:13 +09:00
cremno
ce31272dba
fix capture group index bug
...
atoi() is used to convert the index to an int but the behavior is
undefined if the value can't be represented.
> $9999999999
00007 NODE_SCOPE:
00007 NODE_BEGIN:
00007 NODE_NTH_REF: $2147483647
irep 00630580 nregs=2 nlocals=1 pools=0 syms=1 reps=0
file: (mirb)
7 000 OP_GETGLOBAL R1 :$2147483647
7 001 OP_STOP
Call strtoul() instead as its behavior in such cases is defined and add
a simple range check.
Alternatively NODE_NTH_REF's cdr could be changed from int to mrb_sym
(like NODE_GVAR).
2015-05-28 12:52:44 +02:00
cremno
2ee84eb3df
remove unnecessary including of <ctype.h>
...
Not needed anymore since 85075bef75
2015-05-28 10:44:20 +02:00
take_cheeze
6498d90f1b
Move "src/mrb_throw.h" to "include/mruby/throw.h".
...
Related to #2760 .
2015-05-25 21:19:24 +09:00
Yukihiro "Matz" Matsumoto
f709054910
Merge pull request #2802 from take-cheeze/move_codedump
...
Move `mrb_codedump_all` to "src/codedump.c".
2015-05-24 01:44:47 +09:00
Carson McDonald
4a791701bc
Add null check on lex_strterm in heredoc block
2015-05-23 11:10:10 -04:00
take_cheeze
46e50492eb
Move mrb_codedump_all to "src/codedump.c".
...
Related to #2760 .
2015-05-23 17:55:44 +09:00
Yukihiro "Matz" Matsumoto
b97c6d10a2
Merge pull request #2801 from carsonmcdonald/fix2779
...
Add locals null checks
2015-05-23 16:11:22 +09:00
Carson McDonald
3e911a8e14
Add locals null checks
2015-05-22 10:42:50 -04:00
Carson McDonald
a797d45e90
Verify that proc_lambda is passed a proc
2015-05-22 10:34:28 -04:00
Tomoyuki Sahara
4308f3c686
remove an always-true conditional.
2015-05-21 11:50:02 +09:00
Yukihiro "Matz" Matsumoto
b7049b3945
there may be expecting here-doc when we see terminating characters; fix #2780
2015-05-20 19:14:04 +09:00
Yukihiro "Matz" Matsumoto
bce3843456
Merge pull request #2797 from iij/pr-split-only-first
...
String#split fails to split on second or later separator
2015-05-20 15:11:59 +09:00
Tomoyuki Sahara
48b63b1c7a
NetBSD (6.1.5) does not have frexpl(3).
2015-05-20 12:43:10 +09:00
Tomoyuki Sahara
64ab781266
RSTRING_PTR may be changed in while loop.
2015-05-20 10:15:19 +09:00
cremno
dc479392ef
fix type of mrb_exc_new()'s len parameter
...
mrb_str_new() takes size_t, so should mrb_exc_new().
2015-05-18 22:18:53 +02:00
Yukihiro "Matz" Matsumoto
cf070b64f1
Merge pull request #2792 from cremno/let-the-c-compiler-validate-the-identifier
...
let the C compiler validate the identifier
2015-05-17 20:42:41 +09:00
cremno
406fb9c809
let the C compiler validate the identifier
...
Some C compilers may allow other characters in identifiers such as $.
They may also implement C99's extended identifiers (\u30EB\u30D3\u30FC,
ルビー).
2015-05-15 22:41:46 +02:00
cremno
2106d4d446
remove mrb_define_method_vm() function
...
It isn't needed as it's very similar to mrb_define_method_raw() and also
there's only one place where mrb_proc_ptr() actually has to be called.
Inspired by @furunkel's method cache patch (#2764 ).
2015-05-15 13:04:55 +02:00
Simon Génier
1e51517615
Reenable mrb_dump_irep under DISABLE_STDIO.
2015-05-14 15:43:29 -04:00
cremno
7fe853c216
remove unused token declarations
2015-05-13 18:31:51 +02:00
Yukihiro "Matz" Matsumoto
d979172b3e
Merge pull request #2784 from cremno/fix-splat-without-assignment
...
fix splat without assignment
2015-05-08 11:49:49 +09:00
cremno
2aa59393ba
fix splat without assignment; fix #2781
...
The parser generates NODE_NIL for tSTAR without argument in masgns. The
codegen didn't handle that.
2015-05-07 16:58:43 +02:00
Yukihiro "Matz" Matsumoto
4bafd62844
Merge pull request #2782 from cremno/define-yydebug-macro-conditionally
...
define YYDEBUG macro conditionally
2015-05-07 23:43:09 +09:00
Paolo Bosetti
5e5e129014
Defining static version of frexpl also fro MIPS platforms.
...
On MIPS/linaro, libm.so lacks frexpl() as CygWin does.
2015-05-07 13:05:25 +02:00
cremno
3cd80a520a
define YYDEBUG macro conditionally
...
The YYDEBUG macro enables parser debugging which
unnecessarily increases the executable size (9 to 10 KB).
Now it only will be defined when PARSER_DEBUG is too.
2015-05-04 16:53:50 +02:00
Yukihiro "Matz" Matsumoto
2fe556d9c0
push cmdarg_stack in lambda body; fix [ruby-bug#11107]
2015-04-30 15:21:01 +09:00
Yukihiro "Matz" Matsumoto
b09f1712af
Merge pull request #2778 from cremno/fix-load-size-error-macros
...
src/load.c: fix size error macros
2015-04-30 12:19:09 +09:00