Use Markdown section marker `#`; ref [ci skip]
The fix was proposed by
MODIFY
doc/mruby3.md
doc/mruby3.md
User visible changes in `mruby3`
===
-= Build System
+# Build System
You can specify `TARGET` option to `rake` via a command line
option, or via an environment variable, e.g.
@@ -15,13 +15,13 @@ or
It's much easier to switch multiple targets than the
previous `build_config.rb` system.
-== `presym` target
+## `presym` target
The first compilation of `mruby` may require generation of a
static symbol table named `build/presym`. You can generate
the table by `rake gensym`.
-== `target` directory
+## `target` directory
Build target specification files are loaded from `target`
directory. The default `TARGET` is `host` which is described
@@ -39,15 +39,15 @@ If you want to have your target description out of the
source tree, you can specify the path to the description
file in `MRUBY_CONFIG`.
-= Build Target Contribution
+# Build Target Contribution
When you write a new target description, please
contribute. We welcome your contribution as a GitHub
pull-request.
-= Languge Changes
+# Languge Changes
-== New Syntax
+## New Syntax
We have ported some new syntax from CRuby.
@@ -55,54 +55,54 @@ We have ported some new syntax from CRuby.
* Numbered block parameter (`x.map{_1 * 2}`)
* End-less `def` (`def double(x) = x*2`)
-= Configuration Options Changed
+# Configuration Options Changed
Some configuration macro names are changed for consistency
-== `MRB_NO_FLOAT`
+## `MRB_NO_FLOAT`
Changed from `MRB_WITHOUT_FLOAT` to conform `USE_XXX` naming
convention.
-== `MRB_USE_FLOAT32`
+## `MRB_USE_FLOAT32`
Changed from `MRB_USE_FLOAT` to make sure `float` here means
using single precision float, and not the opposite of
`MRB_NO_FLOAT`.
-== `MRB_USE_METHOD_T_STRUCT`
+## `MRB_USE_METHOD_T_STRUCT`
Changed from `MRB_METHOD_T_STRUCT`.
To use `struct` version of `mrb_method_t`. More portable but consumes more memory.
Turned on by default on 32bit platforms.
-== `MRB_NO_BOXING`
+## `MRB_NO_BOXING`
Uses `struct` to represent `mrb_value`. Consumes more memory
but easier to inveticate the internal and to debug. It used
to be default `mrb_value` representation. Now the default is
`MRB_WORD_BOXING`.
-== `MRB_WORD_BOXING`
+## `MRB_WORD_BOXING`
Pack `mrb_value` in an `intptr_t` integer. Consumes less
memory compared to `MRB_NO_BOXING` especially on 32 bit
platforms. `Fixnum` size is 31 bits so some integer values
does not fit in `Fixnum` integers.
-== `MRB_NAN_BOXING`
+## `MRB_NAN_BOXING`
Pack `mrb_value` in a floating pointer number. Nothing
changed from previous versions.
-== `MRB_USE_MALLOC_TRIM`
+## `MRB_USE_MALLOC_TRIM`
Call `malloc_trim(0)` from mrb_full_gc() if this macro is defined.
If you are using glibc malloc, this macro could reduce memory consumption.
-= Internal Changes
+# Internal Changes
-== `Random` now use `xoshiro128++`.
+## `Random` now use `xoshiro128++`.
For better and faster random number generation.

Use Markdown section marker `#`; ref #5084 [ci skip]

The fix was proposed by @dearblue