Commit Graph

122 Commits

Author SHA1 Message Date
cremno 938ed044f4 use mrb_str_cat_str() instead of mrb_str_append()
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-16 03:56:31 +02:00
Yukihiro "Matz" Matsumoto 9c311ddc93 refactor mrb_bob_missing to share raising NoMethodError code; fix #2878
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-13 11:07:59 +09:00
take_cheeze 6498d90f1b Move "src/mrb_throw.h" to "include/mruby/throw.h".
Related to #2760.
2015-05-25 21:19:24 +09:00
cremno dc479392ef fix type of mrb_exc_new()'s len parameter
mrb_str_new() takes size_t, so should mrb_exc_new().
2015-05-18 22:18:53 +02:00
Tatsuhiko Kubo 5fac7a73cb Use mrb_exc_new_str_lit(). 2015-01-03 23:34:13 +09:00
Tatsuhiko Kubo 3202938099 Add a missing space after ",". 2014-08-27 19:13:40 +09:00
Yukihiro "Matz" Matsumoto 206f89e209 add MRB_API modifiers to mruby API functions 2014-08-04 00:47:08 +09:00
take_cheeze 3c96602574 Use MRB_TT_EXCEPTION in exception object. 2014-07-21 23:09:13 +09:00
Yukihiro "Matz" Matsumoto 4501598f27 use SystemStackError instead of RuntimeError 2014-07-12 21:29:46 +09:00
Yukihiro "Matz" Matsumoto 919af61766 initialize nomem_err->mesg->c before exposing to Ruby world; close #2428 2014-06-27 22:39:39 +09:00
Yukihiro "Matz" Matsumoto 4ce0a7653b reduce mrb_funcall in exception allocation 2014-06-27 22:10:21 +09:00
Yukihiro "Matz" Matsumoto bccd43da71 indent ISO section comments 2014-06-04 11:33:56 +09:00
Yukihiro "Matz" Matsumoto d62ce565c6 use pre-allocated RuntimeError for out-of-memory 2014-06-04 11:33:15 +09:00
take_cheeze acec9d1ff1 Implement NoMethodError#args. 2014-06-02 22:38:02 +09:00
yui-knk 3422805fc4 Use boolean macro in exc_equal. 2014-05-18 14:25:44 +09:00
yui-knk ac58d1bdf6 Rename e to exception, scr_e to script_error. 2014-05-12 13:50:49 +09:00
yui-knk e07099d81b Add scr_e, to not reassign to e. 2014-05-11 19:28:34 +09:00
yui-knk cf80e7fe21 Fix comment of exc_inspect (and adjust spaces) 2014-05-04 10:22:27 +09:00
kyab 1fdc072032 Fix MSVC warnings for error.c 2014-04-26 00:00:40 +09:00
cremno 36d3909e63 get classname and concatenate ": " only once 2014-04-16 20:48:39 +02:00
cremno b4bb2a700a convert exception message to string
fixes: mruby -e "p ArgumentError.new(1)"
2014-04-16 20:44:07 +02:00
Yukihiro "Matz" Matsumoto 3e00684faa resolve conflict 2014-04-16 15:18:52 +09:00
cremno 7a8ed0fa3a exc_inspect: dup file and check mesg only once 2014-04-14 03:52:17 +02:00
Takeshi Watanabe 824d3450c5 Qualify argv argument of API const. 2014-04-11 20:38:23 +09:00
take_cheeze 86831d5465 move jmpbuf_id to generated file 2014-03-01 20:05:30 +09:00
take_cheeze 78915f9601 support c++ exception 2014-03-01 20:05:29 +09:00
cubicdaiya bd0244d067 use mrb_str_cat_lit() intead of mrb_str_cat 2014-02-27 22:42:25 +09:00
Yukihiro "Matz" Matsumoto 5b8229715d revert 38e9ce21 and API changed; mrb_get_backtrace() -> renamed to mrb_exc_backtrace since this is a backtrace method implementation of Exception; mrb_get_backtrace_at() -> removed; mrb_get_backtrace() -> added to get backtrace in array (like caller) 2014-02-27 04:34:30 +09:00
take_cheeze 08ea324593 move src/error.h to include/mruby/error.h 2014-02-20 22:41:29 +09:00
cremno 4507985c3e use mrb_bool, FALSE and TRUE more
It doesn't matter to me if one is using FALSE/TRUE instead of 1/0
but I prefer a type (alias) which emphasizes boolean vars to int.
I changed 1/0 to FALSE/TRUE anyway.
2014-01-31 18:00:36 +01:00
cremno f2a62a74ed clean up external symbols
remove unused and unneeded:
- sysexit_status
- type (a global variable)

add mrb_ prefix to:
- codedump_all
- class_instance_method_list
- parser_dump

make various functions static, incl.:
- yyparse
- make_exception
2014-01-31 01:30:18 +01: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
take_cheeze df780ae5e9 add mrb_intern_lit for creating symbol from string literal 2013-12-01 10:38:59 +09:00
Yukihiro "Matz" Matsumoto 9c6398a444 rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513 2013-11-29 08:47:28 +09:00
cremno aacadb2365 renamed mrb_exc_new3 to mrb_exc_new_str
- more descriptive name (there's no mrb_exc_new2)
- no wrapper (macro/static inline function) for
backwards compatibility because nothing besides
mruby itself seems to be calling this function:
<http://mruby-code-search.ongaeshi.me/home?query=mrb_exc_new3>
2013-11-18 21:01:03 +01:00
Yukihiro "Matz" Matsumoto a7c9a71684 better error position display 2013-10-15 12:49:41 +09:00
Yukihiro "Matz" Matsumoto 2fe64f24f8 remove Exception#verbose_backtrace; #1495 2013-09-03 15:52:35 +09:00
take_cheeze bd5afe9eef rename debug function name 2013-09-02 00:48:07 +09:00
take_cheeze 3d1fffbd6b support multiple filename in irep 2013-09-02 00:48:06 +09:00
take_cheeze d12b6ab218 add verbose_backtrace 2013-09-02 00:48:06 +09:00
wanabe 7007ce7ce0 add Exception#backtrace 2013-08-25 01:18:01 +09:00
Yukihiro "Matz" Matsumoto 6b015ec775 define Class#new in ruby to call #initialize 2013-08-13 16:55:06 +09:00
Yukihiro "Matz" Matsumoto 63e5a3cfb1 refactor out longjmp() to a function 2013-07-25 14:54:17 +09:00
Yukihiro "Matz" Matsumoto 2daf39ddc8 change else formatting 2013-07-22 09:52:06 +09:00
Yukihiro "Matz" Matsumoto 5c0b9b703c primary mruby fiber implementation 2013-05-20 17:54:07 +09:00
Yukihiro "Matz" Matsumoto b7a24de377 change mrb_bug to get mrb_state and %S formatter 2013-05-10 22:11:28 +09:00
Yukihiro "Matz" Matsumoto fad8b1cefa change mrb_warn to get mrb_state and %S formatter 2013-05-10 22:09:02 +09:00
Yukihiro "Matz" Matsumoto 30d580ecbc rename every ARGS_XXX to MRB_ARGS_XXX; ref #1206 2013-04-25 09:47:36 +09:00
Masaki Muranaka edd0a62106 Add NameError#name. Fix NameError.new and NameError.initialize. Enable 2nd argument for NameError.new in C API. 2013-04-04 16:24:43 +09:00
Masaki Muranaka 05ad6902fd Remove API mrb_string_value(). There have mrb_str_to_str() in the core. And mrb_string_value() is no merit to keep using. 2013-03-29 18:01:25 +09:00