Commit Graph

16609 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 235c1484d0 mruby-toplevel-ext: Directly include features to Object class 2025-03-07 17:17:35 +09:00
Yukihiro "Matz" Matsumoto 9e3e7b2cfe mruby-metaprog: add 3 new methods to retrieve instance method names
- public_instance_methods
- private_instance_methods
- protected_instance_methods
2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto 9229da10e4 mruby-metaprog: implement method list from a class (or an instance) 2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto a282f8bf2a mruby-metaprog: remove unnecessary enum 2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto fdf71d8f2d class.c: first step to private methods; #1835
Now each method entry holds visibility information in flag bits.
2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto 3a3e877ae5 codedump.c: update OP_DEF output
OP_DEF takes R(a) as a class to define a method, sym(b) as a method
name, and R(a+1) as a method body. So we added `(R(a+1))` in the output.
2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto 6442a012c8 symbol.c (SYMBOL_INLINE_P): inline symbol to occupy 26 bits in mrb_sym
It used to occupy 30 bits, but we need 2 more bits to keep method
visibility in the method tables.
2025-03-07 17:17:33 +09:00
Yukihiro "Matz" Matsumoto 3e6abfd21c symbol.c (sym_inline_pack): set pack_length_max to 4 2025-03-07 17:17:33 +09:00
Yukihiro "Matz" Matsumoto fc16f9dd13 Merge pull request #6482 from dearblue/absolute_path
Add `File.absolute_path?` method
2025-03-07 17:16:20 +09:00
dearblue c796729fa8 Add File.absolute_path? method 2025-03-05 22:23:49 +09:00
Yukihiro "Matz" Matsumoto 8f69fbbaf8 Merge pull request #6480 from mruby/dependabot/github_actions/super-linter/super-linter-7.3.0 2025-02-28 12:24:20 +09:00
dependabot[bot] 1d76e9f4f4 build(deps): bump super-linter/super-linter from 7.2.1 to 7.3.0
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 7.2.1 to 7.3.0.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/super-linter/super-linter/compare/v7.2.1...v7.3.0)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 14:28:50 +00:00
Yukihiro "Matz" Matsumoto 0e1a77e7d7 Merge pull request #6479 from dearblue/expand_path 2025-02-27 10:36:32 +09:00
Yukihiro "Matz" Matsumoto 30b0b41fb1 Merge pull request #6478 from dearblue/chars2bytes 2025-02-27 10:32:55 +09:00
dearblue f77ebfe102 Reimplementation of File.expand_path method
The reason for this is to fix the following problems

  - Even on non-Windows, drive letter recognition was still being handled.
  - On Windows, paths starting with a slash were not expanded correctly.
  - On Windows, relative paths containing drive letters behaved differently than in CRuby.

Due to reimplementation, the internal methods `File._concat_path`, `File._gethome` and `File._getwd` methods have been removed.
2025-02-26 21:55:25 +09:00
dearblue 437065997f Redefine some macros in mruby-io
To improve uniformity of names and definition locations.
2025-02-26 21:55:17 +09:00
dearblue 76fc6e9ace Fixed buffer overrun in function chars2bytes()
If `off` was greater than zero, the address pointed to by `e` exceeded the valid range of the buffer.
2025-02-26 21:22:37 +09:00
Yukihiro "Matz" Matsumoto 66606f71dd Merge pull request #6474 from dearblue/kwerr 2025-02-03 11:54:52 +09:00
Yukihiro "Matz" Matsumoto 623e953193 Merge pull request #6473 from dearblue/bigint 2025-02-03 08:28:54 +09:00
Yukihiro "Matz" Matsumoto 8c1915ec3b Merge pull request #6475 from dearblue/buildconf 2025-02-02 21:24:32 +09:00
dearblue d946c3e264 Don't include deleted mruby-print 2025-02-02 21:13:11 +09:00
dearblue b86c220384 Avoid array object creation with “unknown keyword” error
It is sufficient to return the first element.
2025-02-02 21:02:03 +09:00
dearblue 3b1e3d930f Hide mpz_and() symbol 2025-02-02 16:59:28 +09:00
Yukihiro "Matz" Matsumoto 49396024b7 Merge pull request #6472 from dearblue/rational 2025-01-27 12:37:53 +09:00
Yukihiro "Matz" Matsumoto cb3b94346e mruby-complier (gen_call): remove duplicate MRB_OPSYM_2(); #6471 2025-01-27 12:36:14 +09:00
Yukihiro "Matz" Matsumoto 69024d9a36 mruby-compiler (gen_call): operator optimization with self; close #6471
If the left operand is `self`, the previous (reverted) change disabled
optimization with operators. This is sort of a hack, but it works.
2025-01-26 23:14:19 +09:00
dearblue 12e90896a5 Moved tests for Integer#quo
The `Rational` class is never defined during core testing.
2025-01-26 21:11:21 +09:00
Yukihiro "Matz" Matsumoto acddb3945b mruby-compiler (gen_call): adjust spacing 2025-01-26 20:08:01 +09:00
Yukihiro "Matz" Matsumoto 6731d59f06 Revert "mruby-compiler (gen_call): use OP_SSEND for self.foo() calls"
This reverts commit 583aa985c8f3117a833a38f0d27753a090503f17; #6471
2025-01-26 19:52:01 +09:00
Yukihiro "Matz" Matsumoto 171847a99a build_config/playstationportable.rb: remove obsolete mruby-print gem 2025-01-23 22:02:24 +09:00
Yukihiro "Matz" Matsumoto 37cff2ceea Merge pull request #6469 from dearblue/const-proc 2025-01-23 22:01:57 +09:00
Yukihiro "Matz" Matsumoto 9bab92e060 .git-blame-ignore-revs: ignore indentation fix commit; ref #6470 2025-01-22 14:10:30 +09:00
Yukihiro "Matz" Matsumoto f311a53995 Merge pull request #6470 from dearblue/psp 2025-01-22 13:58:18 +09:00
Yukihiro "Matz" Matsumoto 91a7bc53a6 .pre-commit-config.yml: pre-commit autoupdate 2025-01-21 13:07:44 +09:00
Yukihiro "Matz" Matsumoto 5ed4a772f3 array.c (mrb_ary_unshift_m): defer mrb_get_argv call 2025-01-21 13:07:44 +09:00
Yukihiro "Matz" Matsumoto 3b6325ba3c hash.c (mrb_hash_aset): use pre-assigned local variable 2025-01-21 13:07:44 +09:00
Yukihiro "Matz" Matsumoto 4ebe706496 Merge pull request #6468 from dearblue/hash 2025-01-21 10:29:47 +09:00
dearblue 90ab714fda Adjusting indentation 2025-01-20 22:51:36 +09:00
dearblue a981f5aed7 Add more const qualifier for RProc 2025-01-20 22:25:50 +09:00
dearblue 1e504bb16a Fixed missing changes to IB_FIND_BY_KEY() parameter names
This is a #6432 supplement.
2025-01-20 22:11:45 +09:00
Yukihiro "Matz" Matsumoto ab3abdf5aa print.c (mrb_print_m): need to copy argument array; fix #6467 2025-01-18 13:35:40 +09:00
Yukihiro "Matz" Matsumoto 6174541d82 mruby-encoding: move String#b to mruby-string-ext gem 2025-01-18 13:23:55 +09:00
Yukihiro "Matz" Matsumoto 583214f452 build_config: remove MRB_UTF8_STRING from full-core configurations
- host-debug
- ci/gcc-clang

Since it is automatically turned on by mruby-encoding.
2025-01-16 09:18:14 +09:00
Yukihiro "Matz" Matsumoto 351cd5aa46 mruby-string-ext: remove some methods moved to mruby-encoding
- String#valid_encoding?
- String#force_encoding
2025-01-16 09:12:09 +09:00
Yukihiro "Matz" Matsumoto 3b1c5d7397 mruby-string-ext: remove duplicated definition of String#b
When we use `mruby-encoding` gem as well.
2025-01-16 09:08:14 +09:00
Yukihiro "Matz" Matsumoto 0c01bf7ff0 mruby-string-ext: String#codepoints to support binary encoding 2025-01-16 09:06:19 +09:00
Yukihiro "Matz" Matsumoto 8395ffb5f8 mruby-string-ext: String#ord to support binary encoding 2025-01-16 09:00:44 +09:00
Yukihiro "Matz" Matsumoto 74bdae9e4c mruby-encoding: add Poorman's Encoding gem
The difference from CRuby's Encoding:

- Encoding is a module, instead of a class
- each Encoding (e.g. `Encoding::UTF_8) is a string instead of Encoding object
- only supports  `UTF-8` and `ASCII-8BIT` (and its alias `BINARY`)

Using this gem automatically turn on `MRB_UTF8_STRING` support.
2025-01-16 08:52:41 +09:00
Yukihiro "Matz" Matsumoto e45ea53773 print.c: update the header comment 2025-01-15 14:27:22 +09:00
Yukihiro "Matz" Matsumoto f9c1894087 print.c (printstrln): a new function to print string and newline 2025-01-15 09:19:34 +09:00