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
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
Yukihiro "Matz" Matsumoto
3ae0616710
implement Integer#succ in Ruby
2013-10-21 07:42:50 +09:00
Yukihiro "Matz" Matsumoto
9cb58a2252
Fixnum#succ may overflow
2013-10-20 00:43:39 +09:00
Yukihiro "Matz" Matsumoto
9b2f4c4423
move declarations to the beginning of blocks
2013-10-16 08:21:06 +09:00
Yukihiro "Matz" Matsumoto
def683ae72
Merge pull request #1538 from carsonmcdonald/conststackfix
...
Set regs to stack on return of const_get calls before use
2013-10-15 15:34:33 -07:00
Carson McDonald
11c4d81539
Set regs to stack on return of const_get calls before use
2013-10-15 07:33:41 -04:00
Yukihiro "Matz" Matsumoto
a7c9a71684
better error position display
2013-10-15 12:49:41 +09:00
Yukihiro "Matz" Matsumoto
8ecbff3f7b
define Module#const_missing
2013-10-15 11:12:22 +09:00
Yukihiro "Matz" Matsumoto
480e329721
Merge pull request #1534 from skandhas/pr-add-some-symbol-methods
...
Add some methods to Symbol
2013-10-09 23:33:05 -07:00
Yukihiro "Matz" Matsumoto
7b0baded5a
Merge pull request #1535 from matsumoto-r/del_unused_varaiable
...
remove unused value for mrb_gv_remove
2013-10-09 23:31:35 -07:00
Yukihiro "Matz" Matsumoto
400ccecf0a
add mrb_gv_remove(); untested
2013-10-10 12:12:29 +09:00
MATSUMOTO Ryosuke
d41425edd4
remove unused value for mrb_gv_remove
2013-10-10 00:29:20 +09:00
skandhas
81c0fda8ec
add some methods to Symbol
2013-10-08 21:47:11 +08:00
Yukihiro "Matz" Matsumoto
9295f6ae49
simplify stack_clear()
2013-10-05 18:50:55 +09:00
h2so5
41de3d83e5
Disable implicit integer conversion in mrb_get_args
2013-10-05 10:56:27 +09:00
Yukihiro "Matz" Matsumoto
250b62d925
Merge pull request #1528 from Ahti/master
...
fix no multiline strings in mirb
2013-10-03 23:27:09 -07:00
Lukas Stabe
5692b5ade1
fix no multiline strings in mirb
2013-10-04 06:03:53 +02:00
Yukihiro "Matz" Matsumoto
fe8fd13deb
Merge pull request #1522 from bovi/patch-1
...
Improve Grammar of Documentation
2013-10-02 02:38:38 -07:00
Yukihiro "Matz" Matsumoto
34cdc21c57
Merge pull request #1523 from wrl/relative-gembox-nokeyword
...
Implement gembox-relative gemdir paths
2013-10-01 16:52:07 -07:00
William Light
72d6db8bc4
Fix for caller_dir relative gems
2013-10-01 21:27:34 +02:00
William Light
7c3f06ddd8
Implement gembox-relative gemdir paths
...
In the case where a relative path is specified to a gembox from
build_config.rb, it was previously tricky to specify relative gem paths
from inside that gembox.
For example, consider a project in which mruby is checked out as a
submodule in the project root:
+- project_root
|
+- mruby/
| |
| +- build_config.rb
| |
| +- ...
|
+- my_gembox/
|
+- my_gembox.gembox
|
+- my_gem/
|
+- mrbgem.rake
|
+- ...
If build_config.rb refers to my_gembox with a relative path, it's
difficult for my_gembox to then refer to my_gem. With this proposed
change, my_gembox.gembox can look like this:
MRuby::GemBox.new do |conf|
conf.gem "my_gem"
end
2013-10-01 20:21:46 +02:00