summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2015-07-30vm: execute ensure without exception at the top of the fiber; fix #2904Yukihiro "Matz" Matsumoto
2015-07-30vm: execute ensure at the top of the fiber; fix #2903Yukihiro "Matz" Matsumoto
2015-07-16Merge pull request #2889 from takkaw/fix_build_cygwin64Yukihiro "Matz" Matsumoto
64bit Cygwin also doesn't have frexpl(3)
2015-07-16Merge pull request #2887 from ↵Yukihiro "Matz" Matsumoto
cremno/use-mrb_str_cat_str-instead-of-mrb_str_append use mrb_str_cat_str() instead of mrb_str_append()
2015-07-1664bit Cygwin also doesn't have frexpl(3)takkaw
2015-07-16delete mrb_free()-related non-NULL checkscremno
No need to optimize since a program only exits once and errors are rare. Also the mruby source code doesn't have these kind of checks elsewhere. The ones in {Time,Random}#initialize are kept because there it actually matters since initialization always happens and re-initialization is unlikely.
2015-07-16use mrb_str_cat_str() instead of mrb_str_append()cremno
If the argument is always a string, then mrb_str_cat_str() can be directly called instead of indirectly by mrb_str_append(). mrb_any_to_s(), mrb_obj_as_string(), mrb_inspect() always return a string.
2015-07-14mrb_get_args: improve function description about !Yukihiro "Matz" Matsumoto
2015-07-14mrb_get_args: allow d!Yukihiro "Matz" Matsumoto
2015-07-14mrb_get_args: allow A,H,s,z,a,d specifiers to take ! to accept nil.Yukihiro "Matz" Matsumoto
S,A,H gives nil, s,z,a,d gives NULL for nil argument. ref 02474da
2015-07-13use "S!" specifier of mrb_get_args() to improve #2882 fix.Yukihiro "Matz" Matsumoto
2015-07-13allow '!' after 'S' specifier of mrb_get_args() that allow nil.Yukihiro "Matz" Matsumoto
thus "S!" means String|nil type. you have to check nil before dereferencing the value. this is added to address #2882 while keeping code simplicity. besides that current #2882 fix lose polymorphism provided by mrb_get_args().
2015-07-13refactor mrb_bob_missing to share raising NoMethodError code; fix #2878Yukihiro "Matz" Matsumoto
Note: arguments of mrb_no_method_error() has changed. You need to replace 3rd and 4th argument (say n, argv) to mrb_ary_new_from_values(mrb, n, argv).
2015-07-11Removing unndeeded to_sjbreeden
2015-07-11Patching array joinjbreeden
2015-07-07method_missing definition may be undefined; fix #2878Yukihiro "Matz" Matsumoto
2015-07-07Merge pull request #2877 from cremno/fix-dangling-ptrYukihiro "Matz" Matsumoto
Coverity: fix dangling pointer
2015-07-07Merge pull request #2876 from joans321/masterYukihiro "Matz" Matsumoto
fix androideabi cross-compile error : undefined reference to 'frexpl'
2015-07-06fix androideabi cross-compile error : undefined reference to 'frexpl'xuejianqing
2015-07-05Fix typo in comment in String#mrb_cstr_to_inum [skip ci]Anton Davydov
2015-07-03fix dangling pointercremno
CID 75872 (#3-2 of 3): Pointer to local outside scope (RETURN_LOCAL) 38. use_invalid: Using p, which points to an out-of-scope variable buf.
2015-07-03remove unnecessary default casecremno
2015-07-01Merge pull request #2869 from cremno/refactor-print.cYukihiro "Matz" Matsumoto
src/print.c: rewrite printstr() to get rid of code duplication
2015-06-29Avoid a narrowing cast in flo_round under MRB_INT64.Simon Génier
2015-06-29Fix a crash bug when GC is ran while creating a proc with envKouhei Sutou
mrb_proc_new_cfunc_with_env() allocates RProc with RProc::env as NULL then allocates REnv and sets it to RProc::env of the allocated RProc. If incremental GC is ran before "allocates REnv and sets it to RProc::env of the allocated RProc", the allocated RProc's GC status is "marked" (Black) and the allocated REnv's GC status is "unmarked" (White). The next incremental GC sweeps the allocated REnv without re-marking the allocated RProc. Because the RProc is Black and the REnv is White. We need to implement write barrier for the case. We can force to cause the above situation by the following patch: diff --git a/src/proc.c b/src/proc.c index f98998f..4f4e25c 100644 --- a/src/proc.c +++ b/src/proc.c @@ -92,6 +92,7 @@ mrb_proc_new_cfunc_with_env(mrb_state *mrb, mrb_func_t func, mrb_int argc, const struct REnv *e; int i; + mrb_incremental_gc(mrb); p->env = e = env_new(mrb, argc); MRB_ENV_UNSHARE_STACK(e); e->stack = (mrb_value*)mrb_malloc(mrb, sizeof(mrb_value) * argc); With this patch, "rake test" causes segmentation fault.
2015-06-24Remove unnecessary backticks.Franck Verrot
Dr Markus Kuhn published in 1999 an article [1] explaining in details why we shouldn't use the ASCII grave accent (0x60) as a left quotation. Backticks have been used most notably to produce nice-looking LaTeX documents but it doesn't seem to be an issue on modern platforms and for the oldest ones, there are workarounds as mentioned by Dr Kuhn. [1]: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
2015-06-23rewrite printstr() to get rid of code duplicationcremno
2015-06-22Merge branch 'master' of http://github.com/mruby/mruby into alloc_docJared Breeden
2015-06-22Fixes #912Jared Breeden
2015-06-23Merge pull request #2852 from jbreeden/mrb_string_value_cstr_patchYukihiro "Matz" Matsumoto
Mrb string value cstr patch
2015-06-23fix Proc#curry test failure; ref #2848Yukihiro "Matz" Matsumoto
2015-06-22*Correctly* removing extra mrb_str_to_str callJared Breeden
2015-06-22Reverting overzealous changesJared Breeden
2015-06-22Removing unneeded bad_checks for verified stringsJared Breeden
2015-06-22Removing redundant mrb_str_to_str callJared Breeden
2015-06-22Calling mrb_str_to_str in mrb_string_value_cstr. Fixes #2847Jared Breeden
2015-06-22fix arity of lambdas with optional argumentscremno
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-19Merge pull request #2839 from yui-knk/fix/string_split_sampleYukihiro "Matz" Matsumoto
[ci skip] Remove some Srting#split samples
2015-06-19[ci skip] Remove some Srting#split samplesyui-knk
mruby not support regexp, so remove these samples.
2015-06-13refactor code to call mrb_inspect() insteadcremno
mrb_inspect() also calls mrb_obj_as_string() after #inspect to ensure the mrb_value is a string.
2015-06-06Fix build on MIPS of linuxNobuhiro Iwamatsu
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 <[email protected]>
2015-06-03Merge pull request #2823 from cremno/remove-unnecessary-mrb_immediate_pYukihiro "Matz" Matsumoto
remove unnecessary mrb_immediate_p()
2015-06-02remove unnecessary mrb_immediate_p()cremno
`!mrb_array_p(ary2)` and `mrb_type(obj) != MRB_TT_DATA` are sufficient.
2015-06-02directly call ary_new_capa()cremno
2015-06-01Compile mruby compiler as mrbgem.take_cheeze
Compiler codes is moved to "mruby-compiler". Executable `mrbc` is moved to "mruby-bin-mrbc".
2015-06-01Merge pull request #2819 from cremno/only-genop-non-lvar-gets-in-val-modeYukihiro "Matz" Matsumoto
only generate gets of non-local vars in VAL mode
2015-06-01Merge pull request #2820 from cremno/add-too-big-array-size-checksYukihiro "Matz" Matsumoto
fix two potential cases of signed integer overflow
2015-06-01singleton_class should not be duped; fix #2815Yukihiro "Matz" Matsumoto
2015-06-01only generate gets of non-local vars in VAL modecremno
This fixes a crash for code like "#{@a;1}". Unlike CRuby globals are excluded too since mruby doesn't implement hooking.
2015-06-01fix two potential cases of signed integer overflowcremno