summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2015-07-29always call frexp() instead of frexpl()cremno
No values that can only be represented as long double are passed since mrb_float is either float or double.
2015-07-16Make include_module_at staticCorey Powell
Since I can't forsee any reason to use it directly inplace of using prepend/include
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-14Remove non-applicable "hack" commentCorey Powell
2015-07-14Applied gc patch to fix ORIGIN ICLASS method table leakCorey Powell
Based on the gc patch by ko1 https://github.com/ruby/ruby/commit/5922c954614e5947a548780bb3b894626affe6dd
2015-07-14Renamed parameters in include_module_atCorey Powell
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-13Set origin when doing kind_of? comparisonsBlaž Hrastnik
2015-07-13included_modules, origin fixCorey Powell
Prepended modules would include their origin ICLASS
2015-07-13Bugfix, included_modules would include classesCorey Powell
2015-07-13Removed comment beside method_removedCorey Powell
Not sure if this apart of the ISO standard, so make sure its not misrepresented
2015-07-13Added Module#method_removed hookCorey Powell
2015-07-13Include prepended methods in the instance_methods list.Blaž Hrastnik
2015-07-13Fixed Modules not being fully initialized before #initialize was calledCorey Powell
2015-07-13Added changed check to the mrb_include_moduleCorey Powell
2015-07-13Remove some remnant debug codeCorey Powell
2015-07-13Additional patches to make this workCorey Powell
2015-07-13Comment in a refactor to match MRI, but that fails 320 tests.Blaž Hrastnik
2015-07-13origin must be initializedBlaž Hrastnik
2015-07-13Expose insert position, which should be at origin for include and klass forBlaž Hrastnik
prepend.
2015-07-13Implement Module#prepend.Blaž Hrastnik
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