Yukihiro "Matz" Matsumoto
cba07b0275
type check before pool scan
2013-11-07 09:14:44 +09:00
Yukihiro "Matz" Matsumoto
b6a73f99bf
call_iseq will never be NULL
2013-11-07 08:53:14 +09:00
Yukihiro "Matz" Matsumoto
c8936754e8
wrong return value from read_lineno_record()
2013-11-07 08:20:03 +09:00
Yukihiro "Matz" Matsumoto
465f633446
create Proc object before releasing memory pool
2013-11-07 08:16:41 +09:00
Yukihiro "Matz" Matsumoto
d8913dae3f
forgot to free irep->reps
2013-11-07 04:22:10 +09:00
Yukihiro "Matz" Matsumoto
677a2ac226
irep->pool not to be GCed
2013-11-07 04:20:46 +09:00
Yukihiro "Matz" Matsumoto
e92d4e2680
modified to use irep->reps to reference child ireps. preparation for
...
removing irep array from mrb_state. note that instructions OP_LAMBDA,
OP_EXEC and OP_EPUSH are incompatible, and dumped mrb format has changed.
2013-11-07 03:54:22 +09:00
Yukihiro "Matz" Matsumoto
f80401de6c
resolved conflicts and updated to latest return value change of mrb_generate_code()
2013-11-05 00:13:01 +09:00
Yukihiro "Matz" Matsumoto
e386760cc7
add Fiber.current
2013-11-04 23:58:32 +09:00
Yukihiro "Matz" Matsumoto
fb831b6a5e
Merge branch 'master' of github.com:mruby/mruby
2013-11-04 09:38:48 +09:00
Yukihiro "Matz" Matsumoto
8168f94fca
Merge pull request #1562 from takahashim/mrbc-add-newline
...
mrbc: add line break for -c option, like other options
2013-11-03 16:38:32 -08:00
fleuria
82c5b486e0
mirb: reset stack in the first command
2013-11-03 12:05:48 +08:00
fleuria
a511957ec8
refactor mrb_context_run()
2013-11-03 12:05:25 +08:00
fleuria
d75a907edf
introduce mrb_context_run()
...
currently there are two scnenario to call mrb_run(), the first is
calling a proc, in this case mrb should create a new environment,
discarding all the variables except args, reciever and block.
the second is calling the newly generated irep, like in mirb.
in this case, the variables should be kept after mrb_run().
so we introduce mrb_context_run() to handle this seperately.
2013-11-03 11:32:59 +08:00
takahashim
77d2322a11
mrbc: add line break for -c option
2013-11-03 12:27:37 +09:00
Yukihiro "Matz" Matsumoto
1910798f47
small style fix
2013-11-03 08:34:36 +09:00
Yukihiro "Matz" Matsumoto
756c3fbff1
Merge branch 'master' of github.com:mruby/mruby
2013-11-03 08:33:10 +09:00
Yukihiro "Matz" Matsumoto
e1f4e891c1
Merge pull request #1560 from 3miliano/master
...
Added support for Random as an argument to shuffle and shuffle!
2013-11-02 16:32:45 -07:00
Emiliano Lesende
80d8b5e2e7
Added support for Random as an argument to shuffle and shuffle!. Refactored random gem to use DATA instance type and hold mt_state inside the DATA_PTR instead of in an instance variable.
2013-11-02 12:07:34 -03:00
Yukihiro "Matz" Matsumoto
8af26752db
remove scope->idx
2013-11-02 23:40:36 +09:00
Yukihiro "Matz" Matsumoto
22f90d9f70
codedump() to take irep structure
2013-11-02 23:26:19 +09:00
Yukihiro "Matz" Matsumoto
0be572df62
change return value from mrb_generate_code()
2013-11-02 23:20:04 +09:00
Yukihiro "Matz" Matsumoto
d2451dfb16
Merge pull request #1557 from 3miliano/master
...
Added shuffle and shuffle! to the Array class in the Random gem.
2013-11-01 20:31:16 -07:00
Emiliano Lesende
d8cc37cdf9
Added shuffle and shuffle! to the Array class in the Random gem.
2013-11-01 11:44:40 -03:00
Yukihiro "Matz" Matsumoto
92825660ea
changed argument type of mrb_ary_modify(); ref #1554
2013-11-01 09:57:20 +09:00
Yukihiro "Matz" Matsumoto
af03812877
add mrb_ary_modify(mrb,a); you have to ensure mrb_value a to be an array; ref #1554
2013-10-31 23:34:08 +09:00
Yukihiro "Matz" Matsumoto
0fe744f919
Merge branch 'master' of github.com:mruby/mruby
2013-10-31 11:55:06 +09:00
Yukihiro "Matz" Matsumoto
a228841668
restore context status to RUNNING on automatic yield at the end of the block; fix #1555
2013-10-31 11:54:57 +09:00
Yukihiro "Matz" Matsumoto
3376dd96e2
Merge pull request #1553 from Fleurer/fix1550-cont
...
fix 3a4c8e2
2013-10-30 17:07:41 -07:00
fleuria
c64cae4d2d
fix 3a4c8e2
...
unfortunately the previouse commit is incorrect, which still concate the
keywords, but like this:
method='"end\nb"' (201)
2013-10-30 17:17:13 +08:00
Yukihiro "Matz" Matsumoto
abe6db9454
resolve conflict #1552
2013-10-30 17:28:32 +09:00
Yukihiro "Matz" Matsumoto
ad4ce2ba4e
Merge pull request #1551 from Fleurer/fix1550
...
fix #1550
2013-10-30 01:25:41 -07:00
Yukihiro "Matz" Matsumoto
73f6d7080e
Merge pull request #1510 from schmurfy/freebsd_fix
...
fixed compilation on freebsd releases witout log2 function
2013-10-30 01:24:23 -07:00
Yukihiro "Matz" Matsumoto
888ddf1c84
type check class/module in mrb_get_args(); close #1477
2013-10-30 13:24:55 +09:00
h2so5
12e00f9238
implement Class.new with block
2013-10-30 12:52:26 +09:00
Yukihiro "Matz" Matsumoto
f8fea6931c
preserve only arguments on stack; fix #1527
2013-10-30 12:01:18 +09:00
Yukihiro "Matz" Matsumoto
c2ad094839
fix wrong actual and expected order
2013-10-30 11:57:52 +09:00
fleuria
3a4c8e2d9f
fix #1550
...
emit a "\n" as the first token for parser instead of taking the
first character from the next file for lexer, to prevent mruby
"concatenate" two keywords between files
it should be regarded as a work around, for it can not resolve
this case:
$ cat a.rb
"
$ cat b.rb
b"
$ bin/mrbc -o- -v a.rb b.rb
mruby - Embeddable Ruby Copyright (c) 2010-2013 mruby
developers
NODE_SCOPE:
NODE_BEGIN:
NODE_STR "
b " len 4
irep 0 nregs=2 nlocals=1 pools=1 syms=0
000 OP_STRING R1 "\n\nb "
001 OP_STOP
thanks @bovi 's idea
2013-10-30 10:34:28 +08:00
h2so5
88758e3630
Uniquify the results of Object#methods
2013-10-27 04:04:06 +09:00
Yukihiro "Matz" Matsumoto
3a668241be
nil/false should not be implicitly converted to integers in mrb_get_args(); close #1529
2013-10-26 17:11:09 +09:00
Yukihiro "Matz" Matsumoto
51213bfc7d
mrb_Integer() should not convert strings to integers
2013-10-26 17:06:50 +09:00
Yukihiro "Matz" Matsumoto
fcebd1243b
Merge pull request #1530 from h2so5/args-explicit-conversion
...
Disable implicit integer conversion in mrb_get_args
2013-10-26 00:47:03 -07:00
Yukihiro "Matz" Matsumoto
3a6391c485
update test code to ensure return value from class statement
2013-10-25 13:24:50 +09:00
fleuria
ba4a19dbe9
add a regression for #1544
2013-10-25 02:53:27 +08:00
fleuria
c647dff1b2
fix #1544
...
We have already reserved that register in codegen()'s case NODE_DEF, but
what we care about is actually the previous register. So what we need is
get that register by cursp() after pop(), then recover the reservation
by push().
2013-10-25 02:48:25 +08:00
Yukihiro "Matz" Matsumoto
a230a88e89
Merge pull request #1543 from Fleurer/issue1542
...
fix #1542
2013-10-24 02:55:37 -07:00
fleuria
e648abf1c1
fix #1542
2013-10-23 15:39:52 +08:00
Yukihiro "Matz" Matsumoto
9eadd05f32
modify upto/downto for compatibility
2013-10-23 10:34:00 +09:00
Yukihiro "Matz" Matsumoto
2607970ed9
move some methods to make floats and integers compatible [mruby special]
2013-10-22 16:18:11 +09:00
Yukihiro "Matz" Matsumoto
620f8b2721
implement some Numeric methods in Ruby
2013-10-22 15:59:41 +09:00