summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mruby
AgeCommit message (Collapse)Author
2020-09-10Merge pull request #4933 from dearblue/variablesYukihiro "Matz" Matsumoto
Fix take over file scope variables with `mruby` and `mirb` command
2020-04-26Remove unused `mruby-error` in `mruby-bin-mruby`dearblue
2020-03-08Add configuration guard for `MRB_DISABLE_STDIO`dearblue
ref #4576 and ref #4947 * Need MRBAPI functions without `MRB_DISABLE_STDIO`: * mrbgems/mruby-bin-debugger * mrbgems/mruby-bin-mirb * mrbgems/mruby-bin-mrbc * mrbgems/mruby-bin-mruby * mrbgems/mruby-bin-strip * Need `stdio.h`: * mrbgems/mruby-io * mrbgems/mruby-print * Need `snprintf()` in `stdio.h`: * mrbgems/mruby-pack * mrbgems/mruby-sprintf
2020-03-08Remove unnecessary 'stdio.h'; ref #4947dearblue
'stdio.h' is included in 'mruby.h' ('mrbconf.h'). However, keep 'stdio.h' used by mruby-test.
2020-01-29Isolate top-level local variables by file scope; fix #4931dearblue
2020-01-29Add test for top level local variables are in file scope; ref #4931dearblue
2020-01-19Fix take over file scope variables with `mruby` commanddearblue
Resolve #4931
2019-11-30Use a string as a common regexp representation; ref #4847Yukihiro "Matz" Matsumoto
2019-11-30Quit `mruby -v` immediately if no program is given for Ruby compatibilityKOBAYASHI Shuji
2019-11-29Fix `mruby --verbose` (regression by #4827)KOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby --verbose -e 'p 1' bin/mruby: Cannot open program file: --verbose ``` #### After this patch: ``` $ bin/mruby --verbose -e 'p 1' 00001 NODE_SCOPE: (snip) irep 0x7fe97041df30 nregs=4 nlocals=1 pools=0 syms=1 reps=0 iseq=11 file: -e 1 000 OP_LOADSELF R1 (snip) 1 ```
2019-11-27Support `--` (end of options) to `mruby` commandKOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -e 'p ARGV' -- -x bin/mruby: invalid option -- (-h will show valid options) ``` #### After this patch: ``` $ bin/mruby -e 'p ARGV' -- -x ["-x"] ```
2019-11-25Fix `ARGV` value in `mruby` command (regression by #4827)KOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -e 'p ARGV' a b ["bin/mruby", "-e", "p ARGV", "a", "b"] ``` #### After this patch: ``` $ bin/mruby -e 'p ARGV' a b ["a", "b"] ```
2019-11-17Support short options concatenation to `mruby` commandKOBAYASHI Shuji
#### Before this patch: ``` $ bin/mruby -ce 1 bin/mruby: Cannot open program file: 1 ``` #### After this patch: ``` $ bin/mruby -ce 1 Syntax OK ```
2019-10-06Refine the usage message of `mruby` commandKOBAYASHI Shuji
2019-07-30Refine message to `skip` in nested `assert`KOBAYASHI Shuji
- I think "Info" is used only to `skip`, so change to "Skip". - Changed the default value of `assert` and specify the argument explicitly at the caller of `assert` because it is unnatural "Assertion failed" is output even though the assertion doesn't fail. == Example: def assert_foo(exp, act) assert do assert_equal exp[0], act[0] assert_equal exp[1], act[1] end end def assert_bar(exp, act) assert do skip end end def assert_baz(exp, act) assert do assert_equal exp, act assert_bar exp, act end end assert 'test#skip_in_nested_assert' do assert_baz 1, 1 end === Before this patch: ?.. Info: test#skip_in_nested_assert (core) - Assertion[1] Info: Assertion failed (core) - Assertion[1-2] Skip: Assertion failed (core) Total: 3 OK: 2 KO: 0 Crash: 0 Warning: 0 Skip: 1 === After this patch: ??? Skip: test#skip_in_nested_assert (core) - Assertion[1] Skip: assert (core) - Assertion[1-2] Skip: assert (core) Total: 3 OK: 0 KO: 0 Crash: 0 Warning: 0 Skip: 3
2019-06-29Use nested `assert`dearblue
2019-05-02Use a normal method instead of a lambda in bintest/mruby; ref #4416Yukihiro "Matz" Matsumoto
2019-05-01Small fix in `mruby-bin-mruby`KOBAYASHI Shuji
- Modify some error messages for consistency. - Add test for codegen error. - Use regular expression for error message matching in test.
2019-04-30Refine error message output for `mruby` commandKOBAYASHI Shuji
- Write message to stderr instead of stdout. - Avoid duplicate message output (`SyntaxError`, `ScriptError` etc). - Refine invalid option message. - Suppress redundant usage output. - Fix some incorrect exit code.
2019-01-09Change the order of "expected" and "actual" in testKOBAYASHI Shuji
2019-01-08Fix dump/load float leteral evaluate to infinityKOBAYASHI Shuji
Example: # example.rb p(2e308) p(-2e308) Good: $ bin/mruby example.rb inf -inf Bad: $ bin/mrbc example.rb $ bin/mruby -b example.mrb 0 -0 Cause: Float infinity representation is `inf` on dump and it is converted by corresponding `String#to_f` on load. Treatment: - Introduce new representations (`i`: +infinity, `I`: -infinity) - Allow old representations (`inf`, `-inf`, `infinity`, `-infinity`) too - Raise error for unknown representations (use corresponding `Kernel#Float`)
2018-12-25mruby-bin-mruby: Add test dependency.KOBAYASHI Shuji
`Kernel#p` etc are used.
2018-12-11Fixed missing comma in mruby/mirb usage.Hiroshi Mimaki
2018-09-05Free `mrbc_context` on exit from `mruby`.Yukihiro "Matz" Matsumoto
2018-05-08Fix CI build errors and warnings.Hiroshi Mimaki
2018-05-07Add `-r` option for `mruby` and `mirb`.Hiroshi Mimaki
2018-05-07Fix CI build errors and warnings.Hiroshi Mimaki
2018-05-02Add `-d` option for `mruby` and `mirb`.Hiroshi Mimaki
2017-07-24Should not update `@objs` from mruby-bin-mruby mrbgem.rake; fix #3751Yukihiro "Matz" Matsumoto
2017-06-07Handles exceptions from code generation phase; fix #3695Yukihiro "Matz" Matsumoto
2017-03-02Reorganize C++ exceptions; ref #3470Yukihiro "Matz" Matsumoto
There are 3 levels of C++ exception handling: * default - no C++ exception (use setjmp/longjmp) * enable_cxx_exception (use C++ exceptions with C ABI) * enable_cxx_abi (use C++ ABI including exceptions)
2017-03-02Avoid using <mruby/throw.h> in mruby.cYukihiro "Matz" Matsumoto
2017-02-24replace "yylval" with "pylval" to make it compile with byacc.Tomoyuki Sahara
2017-02-02Use standard Module(Class)#to_sUchio KONDO
2016-12-07Mark all the built-in classes during GC sweepBouke van der Bijl
Reported by https://hackerone.com/haquaman
2016-12-06Protect exceptions within main() functionYukihiro "Matz" Matsumoto
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-17DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014Yukihiro "Matz" Matsumoto
changes: * rename DISABLE_STDIO -> MRB_DISABLE_STDIO * rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK * no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG). * rewrite above macro references throughout the code. * update documents
2015-09-30fix tests on windows.Yasuhiro Matsumoto
'bin/mruby' not work on windows. so correct command name and quoted arguments.
2015-09-11Support windows localeYasuhiro Matsumoto
Add mrb_utf8_from_locale, mrb_utf8_free, mrb_locale_from_utf8, mrb_locale_free. Just works for windows.
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-06-22Need mruby-compiler to build mruby-bin-mruby and mruby-bin-mirb forTerence Lee
cross compiles
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-04-18Suppress warnings generated by -Wwrite-stringsKouhei Sutou
Here are suppressed warnings: src/fmt_fp.c: In function 'fmt_fp': src/fmt_fp.c:124:16: warning: initialization discards 'const' qualifier from pointer target type char *ss = (t&32)?"inf":"INF"; ^ src/fmt_fp.c:125:17: warning: assignment discards 'const' qualifier from pointer target type if (y!=y) ss=(t&32)?"nan":"NAN"; ^ mrbgems/mruby-string-ext/src/string.c: In function 'mrb_str_succ_bang': mrbgems/mruby-string-ext/src/string.c:302:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "1"; ^ mrbgems/mruby-string-ext/src/string.c:305:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "a"; ^ mrbgems/mruby-string-ext/src/string.c:308:27: warning: assignment discards 'const' qualifier from pointer target type if (e == b) prepend = "A"; ^ mrbgems/mruby-bin-mruby/tools/mruby/mruby.c: In function 'main': mrbgems/mruby-bin-mruby/tools/mruby/mruby.c:213:13: warning: assignment discards 'const' qualifier from pointer target type cmdline = args.cmdline ? args.cmdline : "-"; ^ mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c: In function 'print_breakpoint': mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c:159:3: warning: initialization discards 'const' qualifier from pointer target type char* enable_letter[] = {BREAK_INFO_MSG_DISABLE, BREAK_INFO_MSG_ENABLE}; ^ mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c:159:3: warning: initialization discards 'const' qualifier from pointer target type
2015-01-03Removed duplicated declarations.Tatsuhiko Kubo
* `mrb_show_version()` * `mrb_show_copyright()`
2014-12-16Fix crash if #inspect does not return a string valueYukihiro "Matz" Matsumoto
2014-06-08Add test for end-of-program marker.take_cheeze
2014-04-30remove trailing spacesNobuyoshi Nakada
2014-04-22Add test of $0 value in bin/mruby related to #2103 .take_cheeze
2014-04-21Also set $0 for binary filesiTitou