Commit Graph

3292 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto ad3ce7b41c Merge pull request #5642 from dearblue/errmesg
Avoid direct access to error messages as instance variables
2022-02-13 20:59:47 +09:00
Yukihiro "Matz" Matsumoto 38b164ace7 codegen.c: fix a bug in gen_values().
- Fix limit handling that fails 15 arguments method calls.
- Fix too early argument packing in arrays.
2022-02-12 12:39:35 +09:00
Yukihiro "Matz" Matsumoto d912b864df mruby-range-ext/range.c: cover? should work with begin-less ranges. 2022-02-09 13:32:20 +09:00
Yukihiro "Matz" Matsumoto 4562ba14c0 codegen.c: limit check was too restrictive in gen_values().
That can create unnecessary arrays when more than 12 arguments are
given to a method.
2022-02-08 13:11:43 +09:00
Yukihiro "Matz" Matsumoto 0849a2885f codegen.c: stack position may be wrong on assignments.
When `[]=` access includes keyword arguments.
2022-02-08 13:11:43 +09:00
Yukihiro "Matz" Matsumoto 4c13188ea6 codegen.c: generate OP_HASH in gen_hash() if limit exceeds.
That means when `limit` is `0` it should always generate a hash.
2022-02-08 13:11:43 +09:00
Yukihiro "Matz" Matsumoto 6f5e74f576 codegen.c: change size_t to uint16_t To remove type conversion warnings. 2022-02-08 13:11:42 +09:00
Yukihiro "Matz" Matsumoto 6cc6d9b078 Merge pull request #5644 from dearblue/errno-nopresym
Support `disable_presym` for `mrbgems/mruby-errno`
2022-02-07 16:05:22 +09:00
Yukihiro "Matz" Matsumoto 8b32a1f7ae Merge pull request #5643 from dearblue/errno-nostdio
Support `MRB_NO_STDIO` for `mrbgems/mruby-errno`
2022-02-07 15:43:51 +09:00
Yukihiro "Matz" Matsumoto e24e81cd3c mruby.c: rindex() is not supported by VC. 2022-02-06 22:44:02 +09:00
Yukihiro "Matz" Matsumoto cf00c32e3a mruby.c: -b option should only affects the script.
Not the libraries loaded by `-r`. Instead, `.mrb` extension in the path
should determine whether they are compiled binary.
2022-02-06 22:17:41 +09:00
dearblue 0a4f21c60f Support disable_presym for mrbgems/mruby-errno
The `mrbgems/mruby-errno/src/known_errors_def.cstub` file has been extended, so the `mrbgems/mruby-errno/src/known_errors_e2c.cstub` file is no longer needed.
2022-02-06 18:39:46 +09:00
dearblue a82220211d Support MRB_NO_STDIO for mrbgems/mruby-errno 2022-02-06 16:12:41 +09:00
dearblue d6773cbd71 Avoid direct access to error messages as instance variables
ref. #2485

The `SystemCallError#to_s` method also needed to be modified, but since it has no functional difference from the `Exception#to_s` method, it will be removed.
2022-02-06 15:45:13 +09:00
Yukihiro "Matz" Matsumoto ae3c99767a codegen.c: fixed a bug in hash code generation with !val. 2022-02-03 10:40:05 +09:00
Yukihiro "Matz" Matsumoto f0af96c130 mruby-class-ext: add Class#subclasses method. 2022-02-01 22:37:49 +09:00
Yukihiro "Matz" Matsumoto 00f2b74ab2 kernel.c, binding.c: use MRB_SYM() instead of mrb_intern_lit(). 2022-01-31 16:20:52 +09:00
Yukihiro "Matz" Matsumoto 92fb6d3526 Merge pull request #5639 from suetanvil-misc/project-mruby-errno-readme
Updated mruby-errno/README.md to pass the lint checks.
2022-01-31 15:45:18 +09:00
Yukihiro "Matz" Matsumoto 8252352d7b parse.y: fix buffer overflow with tweaked mruby binary. 2022-01-31 15:42:52 +09:00
Chris Reuter 198e10473b Updated mruby-errno/README.md to pass the lint checks. 2022-01-29 18:40:05 -05:00
Yukihiro "Matz" Matsumoto c5bdfe1bd4 mruby-errno: add errno constants to known_errors.def.
Add unlisted errno constants found in macOS and FreeBSD.
If you see unlisted errno, please report.
2022-01-26 12:58:52 +09:00
Yukihiro "Matz" Matsumoto b7cdb59f26 errno.c: stop generating Errno::Exxx error classes on the fly. 2022-01-26 12:29:19 +09:00
Yukihiro "Matz" Matsumoto dd93dd7419 errno.c: refactor _sys_fail to avoid mrb_funcall. 2022-01-25 16:01:33 +09:00
Yukihiro "Matz" Matsumoto 9892742d27 errno.c: use C array instead of a hash table to lookup a errno class.
To reduce memory consumption by avoiding allocating Ruby objects.
2022-01-25 11:15:34 +09:00
Yukihiro "Matz" Matsumoto 194d0c6f46 mruby-errno: change the format of known_errors_e2c.cstub. 2022-01-25 11:08:52 +09:00
Yukihiro "Matz" Matsumoto 5c7338491c errno.c: use mrb_fixnum_p() instead of mrb_type(). 2022-01-25 10:39:13 +09:00
Yukihiro "Matz" Matsumoto 6744d69d3d errno.c: replace string literals by MRB_SYM(). 2022-01-25 10:39:13 +09:00
Yukihiro "Matz" Matsumoto 1e866dffc4 errno.c: bundled mrbgem need not to support mruby 1.x. 2022-01-25 10:28:50 +09:00
Yukihiro "Matz" Matsumoto 0f5829795e errno.c: use MRB_SYM() instead of mrb_intern_lit(). 2022-01-25 10:26:34 +09:00
Yukihiro "Matz" Matsumoto 3b5486e3ae mruby-errno/test: update test suites not to report warnings. 2022-01-25 10:22:28 +09:00
Yukihiro "Matz" Matsumoto 3a15d18ebb errno.c: hide internal _sys_fail from backtrace. 2022-01-24 18:14:28 +09:00
Yukihiro "Matz" Matsumoto c8d96ed782 stdlib.gembox: add mruby-errno 2022-01-24 18:13:28 +09:00
Yukihiro "Matz" Matsumoto a60073d7b9 mruby-errno: remove .gitkeep. 2022-01-24 18:07:59 +09:00
Yukihiro "Matz" Matsumoto 0a6d57ab3c Merge remote-tracking branch 'mruby-errno/master' 2022-01-24 17:58:41 +09:00
Yukihiro "Matz" Matsumoto 2adf32a3f4 add mruby-errno directory 2022-01-24 16:42:36 +09:00
Yukihiro "Matz" Matsumoto 7bedd5e05d codegen.c: generate OP_SETIDX from attribute assignments. 2022-01-24 11:18:27 +09:00
Yukihiro "Matz" Matsumoto cda4d9bcb4 codegen.c: refactor gen_call and gen_values.
Remove no longer used arguments from the functions.
2022-01-22 16:40:21 +09:00
Yukihiro "Matz" Matsumoto b611c43a5d codegen.c: no OP_HASHADD required when val is false. 2022-01-21 15:42:51 +09:00
Yukihiro "Matz" Matsumoto b53cd3ce25 codegen.c: fix evaluation order of attribute assignment. 2022-01-21 10:41:14 +09:00
Yukihiro "Matz" Matsumoto f8944792be parse.y: consistent argument pass for new_call(). 2022-01-21 10:41:13 +09:00
Yukihiro "Matz" Matsumoto ef98eb2c29 codegen.c: fix evaluation order of constant initialization.
`a::B = c` should evaluate `a` then `c`. It used to be `c` then `a`. The
`OP_SETMCNST` instruction operands are designed for older order in mind.
Should we changed the operand order?
2022-01-21 10:41:13 +09:00
Yukihiro "Matz" Matsumoto 475b868b72 time.c: remove duplicated UTC condition check. 2022-01-15 18:24:39 +09:00
Yukihiro "Matz" Matsumoto 171d32c007 time.c: 1969-12-31 23:59:59 is a valid time.
But `mktime(3)` for the date returns `-1` which happen to be the
error value.
2022-01-14 11:40:52 +09:00
Yukihiro "Matz" Matsumoto 8f09d8feb4 time.c: check year range before creating Time object. 2022-01-13 15:40:09 +09:00
Yukihiro "Matz" Matsumoto 7e7f1b2f1d parse.y: numbered parameters should not appear on toplevel.
Toplevel includes the top of the method/class/module definitions.
2022-01-11 14:52:05 +09:00
Yukihiro "Matz" Matsumoto 3a30cc27da parse.y: move numbered parameter indexing to lexer. 2022-01-11 14:49:41 +09:00
Yukihiro "Matz" Matsumoto 5dfbfb3ecd parse.y: p->nvar (numbered argument index list) may be NULL. 2022-01-10 15:44:15 +09:00
Yukihiro "Matz" Matsumoto 696589cf27 Merge pull request #5628 from dearblue/super-kwargs
Fixing keyword arguments with `super`
2022-01-06 10:05:05 +09:00
Yukihiro "Matz" Matsumoto aaa3bd0e80 mrbc.c: simplify place holder functions; #5622 2022-01-05 19:39:39 +09:00
Yukihiro "Matz" Matsumoto c088af87b8 object.c: Call functions directly from mrb_ensure_int_type(); #5622 2022-01-05 19:00:14 +09:00