| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-07-10 | Update internal methods not to be listed in backtraces. | Yukihiro "Matz" Matsumoto | |
| - String#__lines - Array#__ary_eq - Array#__ary_cmp - Hash#__delete - Kernel#__case_eqq - Integer#__coerce_step_counter | |||
| 2021-07-09 | debug.h: use `uint8_t` instead of `char` for BER compressed binary. | Yukihiro "Matz" Matsumoto | |
| 2021-07-09 | codegen.c: avoid uninitialized local variable. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | pack.c: fix integer signedness mixture. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: remove unused local variables. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: support `mrb_debug_line_packed_map`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-08 | mruby-bin-debugger: rename prefix 'mrb_debug_' to `mrdb_`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-06 | Merge branch 'mrb_debug_strdup-and-strndup' of ↵ | Yukihiro "Matz" Matsumoto | |
| https://github.com/cremno/mruby into cremno-mrb_debug_strdup-and-strndup | |||
| 2021-07-04 | codegen.c: jump address should be generated by `gen_jmpdst()`. | Yukihiro "Matz" Matsumoto | |
| 2021-07-03 | vm.c: `OP_DEF` to push a symbol to `a` register. | Yukihiro "Matz" Matsumoto | |
| The code generator no longer need to emit `OP_LOADSYM` after `OP_DEF`. `doc/opcode.md` is also updated. | |||
| 2021-06-30 | Revert "Remove `OP_EXT[123]` from operands." | Yukihiro "Matz" Matsumoto | |
| This reverts commit fd10c7231906ca48cb35892d2a86460004b62249. I thought it was OK to restrict index value within 1 byte, but in some cases index value could be 16 bits (2 bytes). I had several ideas to address the issue, but reverting `fd10c72` is the easiest way. The biggest reason is `mruby/c` still supports `OP_EXT[123]`, so that they don't need any additional work. | |||
| 2021-06-29 | string.rb: `upto` to break when the string length is longer than `end`. | Yukihiro "Matz" Matsumoto | |
| 2021-06-28 | Avoid warnings with `ruby -cw` | dearblue | |
| ```console % for rb in `git ls-files '*/mrblib/*.rb' 'mrblib'`; do ruby30 -cw $rb > /dev/null; done mrbgems/mruby-array-ext/mrblib/array.rb:389: warning: assigned but unused variable - ary mrbgems/mruby-array-ext/mrblib/array.rb:663: warning: assigned but unused variable - len mrbgems/mruby-hash-ext/mrblib/hash.rb:119: warning: possibly useless use of a variable in void context mrbgems/mruby-hash-ext/mrblib/hash.rb:259: warning: assigned but unused variable - keys mrbgems/mruby-io/mrblib/io.rb:229: warning: literal in condition mrbgems/mruby-io/mrblib/io.rb:280: warning: literal in condition mrbgems/mruby-string-ext/mrblib/string.rb:347: warning: assigned but unused variable - len mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb:2: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument ``` | |||
| 2021-06-28 | Merge pull request #5493 from dearblue/binding.2 | Yukihiro "Matz" Matsumoto | |
| Fixed finding variables from `proc` in `binding.eval` failed | |||
| 2021-06-27 | Merge pull request #5495 from dearblue/eval.2 | Yukihiro "Matz" Matsumoto | |
| Fixed finding variables defined in the upper proc failed | |||
| 2021-06-26 | Fixed finding variables from `proc` in `binding.eval` failed | dearblue | |
| Previously the following code did not produce the expected results: ```ruby bx = binding block = bx.eval("a = 1; proc { a }") bx.eval("a = 2") p block.call # Expect 2 but return 1 due to a bug ``` The previous implementation of `Binding#eval` evaluated the code and then merged the top layer variables. This patch will parse and expand the variable space before making a call to `eval`. This means that the call to `Binding#eval` will do the parsing twice. In addition, the following changes will be made: - Make `mrb_parser_foreach_top_variable()`, `mrb_binding_extract_proc()` and `mrb_binding_extract_env()` functions private global functions. - Remove the `posthook` argument from `mrb_exec_irep()`. The `posthook` argument was introduced to implement the `binding` method. This patch is unnecessary because it uses a different implementation method. ref #5362 fixed #5491 | |||
| 2021-06-26 | Fixed finding variables defined in the upper proc failed | dearblue | |
| If no new variable was defined in the `eval` method, the variable was hidden from the nested `eval` method. ```ruby a = 1 p eval %(b = 2; eval %(a)) # => 1 (good) p eval %(eval %(a)) # => undefined method 'a' (NoMethodError) ``` This issue has occurred since mruby 3.0.0. | |||
| 2021-06-26 | Fix memory leak in `Kernel#eval` | dearblue | |
| The `mrbc_context` remained unreleased when the `mrb_parse_nstring()` function returned `NULL`. | |||
| 2021-06-22 | Enable markdownlint rules MD003,MD005,MD007 | John Bampton | |
| Lint Markdown https://github.com/DavidAnson/markdownlint#rules--aliases | |||
| 2021-06-20 | Added `MRB_OBJ_ALLOC()` macro that does not require a cast | dearblue | |
| The `MRB_OBJ_ALLOC()` macro function returns a pointer of the type corresponding to the constant literal defined in `enum mrb_vtype`. | |||
| 2021-06-19 | Merge branch 'dearblue-block_given' | Yukihiro "Matz" Matsumoto | |
| 2021-06-19 | codegen.c: stop `uninitialized` warning. | Yukihiro "Matz" Matsumoto | |
| 2021-06-19 | Added `MRB_API` function to get block arguments info. | dearblue | |
| - ` mrb_block_given_p()` -- The name comes from CRuby's `rb_block_given_p ()` At the same time, it applies to `f_instance_eval()` and `f_class_eval()` of `mruby-eval`. | |||
| 2021-06-16 | Merge pull request #5445 from jbampton/add-codespell-pre-commit-hook | Yukihiro "Matz" Matsumoto | |
| Run pre-commit with GitHub Actions | |||
| 2021-06-16 | eval.c: implement `class_eval` with string; close #5478 | Yukihiro "Matz" Matsumoto | |
| 2021-06-16 | Run pre-commit with GitHub Actions | John Bampton | |
| Running pre-commit with GitHub Actions now gives us more tests and coverage Remove duplicate GitHub Actions for merge conflicts and trailing whitespace Remove duplicate checks for markdownlint and yamllint from the GitHub Super-Linter Add new custom pre-commit hook running with a shell script to sort alphabetically and uniquify codespell.txt Add new pre-commit hook to check spelling with codespell https://github.com/codespell-project/codespell Fix spelling | |||
| 2021-06-14 | pack.c: support `w' directive (BER integer compression). | Yukihiro "Matz" Matsumoto | |
| 2021-06-13 | pack.c: `count` should not be negative for directives `xX@`. | Yukihiro "Matz" Matsumoto | |
| 2021-06-13 | pack.c: raise error for unsupported `w` directive. | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: support `@' directive (absolute position). | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: refactor pack/unpack 'X'. | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: add `X` directive (back up byte). | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: `count` should be always positive. no check needed. | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: fix `long/int` mixtures. | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: remove unused arguments from static functions. | Yukihiro "Matz" Matsumoto | |
| 2021-06-12 | pack.c: wrong position after count read. | Yukihiro "Matz" Matsumoto | |
| 2021-06-11 | codegen.c: refactor `readint()` | Yukihiro "Matz" Matsumoto | |
| * renamed from redundant `readint_mrb_int()` * supports only base upto 16 * no base validation (already done in parser) * no negative read (negate after read) * overflow detection using `mrb_int_{mul,add}_overflow()` | |||
| 2021-06-11 | readint.c: add new function `mrb_int_read`. | Yukihiro "Matz" Matsumoto | |
| Difference from `strtoul(3)`: * reads `mrb_int` based on configuration * specifies the end of the string * no sign interpretation * base 10 only | |||
| 2021-06-10 | sprintf.c: check value range before type casting. | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | sprintf.c: fix `mrb_int` and `int` mixture errors. | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | pack.c: fix 'void*` to `char*` assignment. | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | pack.c: add `default` to `switch` statement to silence warnings. | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | pack.c: support `M` specifier (quoted-printable). | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | test/pack.c: reorganize test suits. | Yukihiro "Matz" Matsumoto | |
| 2021-06-07 | pack.c: raise exception for unsupported specifiers. | Yukihiro "Matz" Matsumoto | |
| 2021-06-06 | pack.c: check overflow before calling `pack_x`. | Yukihiro "Matz" Matsumoto | |
| 2021-06-06 | pack.c: check overflow before reading count. | Yukihiro "Matz" Matsumoto | |
| 2021-06-06 | pack.c: failed to detect overflow when `ch` is zero in `read_tmpl`. | Yukihiro "Matz" Matsumoto | |
| 2021-06-05 | pack.c: hold `enum` values in `enum` variables not `int`. | Yukihiro "Matz" Matsumoto | |
| 2021-06-03 | add a few regressions test from #2313 | Yukihiro "Matz" Matsumoto | |
| The code was contributed from Carson McDonald (@carsonmcdonald) | |||
