Yukihiro "Matz" Matsumoto
5c405dea3d
include changed from by quotes ("") to by brackets (<>); close #3032
2015-11-27 17:48:23 +09:00
Seba Gamboa
e871b77f41
Increasing docs coverage
2015-10-20 12:16:46 -03:00
Yukihiro "Matz" Matsumoto
fafe86d364
Array#index to take block; fix #2968 close #2970
2015-10-01 22:35:06 +09:00
go.kikuta
c7fad5aa33
Remove duplicated RARRAY_LEN check
2015-08-12 10:20:55 +09:00
Yukihiro "Matz" Matsumoto
d0e67aada7
use "S!" specifier of mrb_get_args() to improve #2882 fix.
2015-07-13 11:18:44 +09:00
jbreeden
dd558a108d
Removing unndeeded to_s
2015-07-11 21:15:33 -07:00
jbreeden
bdbd696c48
Patching array join
2015-07-11 21:03:04 -07: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
cremno
dc0e335664
fix two potential cases of signed integer overflow
2015-06-01 13:23:43 +02:00
Yukihiro "Matz" Matsumoto
378aa8a9c8
avoid wrong ArgumentError from mrb_get_args() when surrounding method takes more than one argument; ref #2627
2014-10-30 10:31:06 +09:00
Yukihiro "Matz" Matsumoto
5bd3d9bc27
add cast to return from aget_index(); ref #2627
2014-10-30 10:27:05 +09:00
mattn
eaa0296fc5
Handle Array#[float, int] Close #2626
2014-10-29 19:27:20 +09:00
Yukihiro "Matz" Matsumoto
48c5321dca
constify pointer from RARRAY_PTR to detect potential write barrier bugs.
...
if you see compiler errors due to this commit, you'd better to use array-modifying
functions, e.g. mrb_ary_set() or mrb_ary_push(), otherwise you might see nasty
GC bugs in the future. if you are sure what you are doing, replace `RARRAY_PTR(ary)`
by `mrb_ary_ptr(ary)->ptr`. but be warned.
2014-09-12 12:42:39 +09:00
kkkkkt
9da37cdfd1
refactor mruby method(fix indent. remove temporary value, duplicate procedure)
2014-08-18 10:58:48 +09:00
Jun Hiroe
3569723ab3
Refactor obj_free() in gc.c
2014-08-05 23:16:01 +09:00
Yukihiro "Matz" Matsumoto
6aa6e75f75
rename obsolete mrb_special_const_p to mrb_immediate_p
2014-08-04 00:50:03 +09:00
Yukihiro "Matz" Matsumoto
206f89e209
add MRB_API modifiers to mruby API functions
2014-08-04 00:47:08 +09:00
Yukihiro "Matz" Matsumoto
ef432d7524
Merge pull request #2451 from take-cheeze/remove_mem_out_check
...
Remove unnecessary out of memory check in `ary_expand_capa`.
2014-07-08 23:07:30 +09:00
take_cheeze
5b0f900faa
Remove unnecessary out of memory check in ary_expand_capa.
...
Since `mrb_realloc` raises when failed to allocate memory.
2014-07-07 21:58:38 +09:00
take_cheeze
13d9631e21
Add new API mrb_ary_resize(mruby implementation of rb_ary_resize).
2014-07-06 22:23:29 +09:00
Yukihiro "Matz" Matsumoto
5c50bcd20a
reformat else part; ref #2447
2014-07-06 21:00:57 +09:00
take_cheeze
6cbcbd5290
Reduce allocation in shared RArray clearing.
2014-07-05 21:10:02 +09:00
Yukihiro "Matz" Matsumoto
b34e24b07d
use mrb_field_write_barrier_value() in array.c
2014-05-08 11:06:41 +09:00
yui-knk
eafc4dd0af
Make Array#[]= raise IndexError.
...
If second param is negative, Array#[] raise IndexError.
2014-05-08 00:17:17 +09:00
cremno
91c22f32f4
rename mrb_str_buf_append to mrb_str_cat_str
...
The new name is better and less confusing, because:
- `mrb_str_append` calls `mrb_str_to_str` and this function doesn't
- `mrb_str_buf_append` _is_ `mrb_str_cat` for `mrb_value` strings
2014-04-27 22:33:22 +02:00
Yukihiro "Matz" Matsumoto
83c1399af0
eliminate plain int except for a few cases like arena_index
2014-04-25 04:01:57 +09:00
cremno
bc23a5e9e5
remove mrb_str_buf_cat
...
It does the same as `mrb_str_cat`.
2014-04-21 21:28:06 +02:00
Yukihiro "Matz" Matsumoto
5138f62d6b
resolve conflict
2014-04-15 10:55:46 +09:00
Yukihiro "Matz" Matsumoto
b4043256d0
implement part of Array#<=> in C
2014-04-02 18:04:09 +09:00
Yukihiro "Matz" Matsumoto
94effc6a37
implement Array comparisons by Ruby
2014-04-02 17:33:25 +09:00
Yukihiro "Matz" Matsumoto
d9feed6703
move Array#inspect implementation to mrblib/array.rb
2014-04-01 14:31:39 +09:00
Yukihiro "Matz" Matsumoto
3e24e06b29
add a space after C reserved words
2014-03-18 23:57:29 +09:00
Masaki Muranaka
1df355e300
Reduce implicit type casts.
2014-03-18 17:36:47 +09:00
Yukihiro "Matz" Matsumoto
5fb8fa5a81
add _FLAG to SET_SHARED macros; ref #1750
2014-03-01 10:26:21 +09:00
Yukihiro "Matz" Matsumoto
fca90a43c7
Merge branch 'array-shared-macro' of https://github.com/ksss/mruby into ksss-array-shared-macro
2014-03-01 10:19:55 +09:00
ksss
88f3e5b294
move check condition to outside in while block
2014-02-27 23:54:36 +09:00
ksss
f1043ab85c
add macro ARY_UNSET_SHARED
2014-02-27 00:11:40 +09:00
ksss
2f090879a5
add macro ARY_SET_SHARED
2014-02-27 00:10:42 +09:00
ksss
3e4e90a708
add macro ARY_SHARED_P
2014-02-26 21:40:36 +09:00
cremno
7691b64963
array implementation: several small changes
...
src/array.c:
- make various functions without declaration in the mruby headers static
- removed all uncessary int casts and two useless comments
mrb_ary_new_from_values: move to similar functions
mrb_check_array_type: fix indentation
include/mruby/array.h:
mrb_shared_array: padding (default "mrbconf.h" on an usual 64-bit system)
sizeof(mrb_int)==sizeof(int)==4 && sizeof(mrb_value*)==8
both:
mrb_ary_aget: remove declaration in header and make static
nobody uses it which is not surprising since it has 1 req arg!
mrb_assoc_new: small optimization and move to similar functions
mrb_ary_len: re-implement as static inline function (it is used by mrbgems)
programmers should directly use RARRAY_LEN instead
2014-02-12 00:37:47 +01:00
Yukihiro "Matz" Matsumoto
4a2c37df93
made mrb_define_class to return existing class, with heavy refactoring
2014-02-08 13:44:31 +09:00
Yukihiro "Matz" Matsumoto
7ba4612956
use mrb_str_new_lit() more widely
2014-02-06 08:54:47 +09:00
h2so5
b53d91e6e2
fix NODE_SPLAT codegen
2014-02-01 12:22:28 +09:00
Yukihiro "Matz" Matsumoto
aa08158f67
Array#[]= is now range aware
2014-01-30 10:50:56 +09:00
Yukihiro "Matz" Matsumoto
5346bdd76b
move range aware aget to array.c from mruby-array-ext gem
2014-01-29 14:53:38 +09:00
cremno
aa655b9ee1
remove superfluous includes
...
- reduce compile time by a little bit (full-core: ~0.7s for me)
- thanks to 'include-what-you-use' for some help
- include Standard C header files before any other (coding style)
2014-01-07 17:56:30 +01:00
Yukihiro "Matz" Matsumoto
925137475c
should splat and iterate elements when "*ary" speficied in the case-when clause; close #1627
2014-01-04 11:25:53 +09:00
Yukihiro "Matz" Matsumoto
6d7b3a7bc9
mrb_ary_splat() to call #to_a
2014-01-03 23:57:20 +09:00