<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/contrib/local.mk.example, branch rahm</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>build: fix RelWithDebInfo optimization flags #31802</title>
<updated>2025-01-05T19:28:31+00:00</updated>
<author>
<name>Daiki Noda</name>
<email>sys9kdr@users.noreply.github.com</email>
</author>
<published>2025-01-05T19:28:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ac5a6d9ff56b451f5f24dfd3c46a6447375d3394'/>
<id>ac5a6d9ff56b451f5f24dfd3c46a6447375d3394</id>
<content type='text'>
Problem:
RelWithDebInfo generates redundant flags:

    Compilation: /usr/bin/cc -O2 -g -Og -g

The `CMAKE_C_FLAGS_RELWITHDEBINFO` variable is being modified in a way
that caused duplicate `-Og` and `-g` flags to be added. The resulting
flags were `-O2 -g -Og -g`.

- `-Og` (Optimize for debugging) and `-O2` (Optimize for performance)
  are different optimization levels. We can't use both at once.
- The duplicate `-g` flag is redundant and no effect.

multiple -O flags has no effect for code, just redundant.

&gt; If you use multiple -O options, with or without level numbers, the last such option is the one that is effective.

https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

Solution:
Adjust the flags to use the more appropriate `-O2 -g`.

    Compilation: /usr/bin/cc -O2 -g

BEFORE:

```
:verbose version
NVIM v0.11.0-dev-1443+ge00cd1ab40
Build type: RelWithDebInfo
LuaJIT 2.1.1734355927
Compilation: /usr/bin/cc -O2 -g -Og -g -flto -fno-fat-lto-ob
jects -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict
...
```

AFTER:

```
:verbose version
NVIM v0.11.0-dev-e00cd1ab4-dirty
Build type: RelWithDebInfo
LuaJIT 2.1.1734355927
Compilation: /usr/bin/cc -O2 -g -flto -fno-fat-lto-objects -
Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-protot
...
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
RelWithDebInfo generates redundant flags:

    Compilation: /usr/bin/cc -O2 -g -Og -g

The `CMAKE_C_FLAGS_RELWITHDEBINFO` variable is being modified in a way
that caused duplicate `-Og` and `-g` flags to be added. The resulting
flags were `-O2 -g -Og -g`.

- `-Og` (Optimize for debugging) and `-O2` (Optimize for performance)
  are different optimization levels. We can't use both at once.
- The duplicate `-g` flag is redundant and no effect.

multiple -O flags has no effect for code, just redundant.

&gt; If you use multiple -O options, with or without level numbers, the last such option is the one that is effective.

https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

Solution:
Adjust the flags to use the more appropriate `-O2 -g`.

    Compilation: /usr/bin/cc -O2 -g

BEFORE:

```
:verbose version
NVIM v0.11.0-dev-1443+ge00cd1ab40
Build type: RelWithDebInfo
LuaJIT 2.1.1734355927
Compilation: /usr/bin/cc -O2 -g -Og -g -flto -fno-fat-lto-ob
jects -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict
...
```

AFTER:

```
:verbose version
NVIM v0.11.0-dev-e00cd1ab4-dirty
Build type: RelWithDebInfo
LuaJIT 2.1.1734355927
Compilation: /usr/bin/cc -O2 -g -flto -fno-fat-lto-objects -
Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-protot
...
```</pre>
</div>
</content>
</entry>
<entry>
<title>docs: misc (#29719)</title>
<updated>2024-08-28T22:11:32+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2024-08-28T22:11:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=cd05a72fec49bfaa3911c141ac605b67b6e2270a'/>
<id>cd05a72fec49bfaa3911c141ac605b67b6e2270a</id>
<content type='text'>
Co-authored-by: Evgeni Chasnovski &lt;evgeni.chasnovski@gmail.com&gt;
Co-authored-by: Lauri Heiskanen &lt;lauri.heiskanen@nimble.fi&gt;
Co-authored-by: Piotr Doroszewski &lt;5605596+Doroszewski@users.noreply.github.com&gt;
Co-authored-by: Tobiasz Laskowski &lt;tobil4sk@outlook.com&gt;
Co-authored-by: ariel-lindemann &lt;41641978+ariel-lindemann@users.noreply.github.com&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Evgeni Chasnovski &lt;evgeni.chasnovski@gmail.com&gt;
Co-authored-by: Lauri Heiskanen &lt;lauri.heiskanen@nimble.fi&gt;
Co-authored-by: Piotr Doroszewski &lt;5605596+Doroszewski@users.noreply.github.com&gt;
Co-authored-by: Tobiasz Laskowski &lt;tobil4sk@outlook.com&gt;
Co-authored-by: ariel-lindemann &lt;41641978+ariel-lindemann@users.noreply.github.com&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>build(deps): vendor libvterm at v0.3.3</title>
<updated>2024-08-10T08:26:07+00:00</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2024-08-08T10:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=fa79a8ad6deefeea81c1959d69aa4c8b2d993f99'/>
<id>fa79a8ad6deefeea81c1959d69aa4c8b2d993f99</id>
<content type='text'>
Problem: Adding support for modern Nvim features (reflow, OSC 8, full
utf8/emoji support) requires coupling libvterm to Nvim internals
(e.g., utf8proc).

Solution: Vendor libvterm at v0.3.3.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Adding support for modern Nvim features (reflow, OSC 8, full
utf8/emoji support) requires coupling libvterm to Nvim internals
(e.g., utf8proc).

Solution: Vendor libvterm at v0.3.3.
</pre>
</div>
</content>
</entry>
<entry>
<title>build(deps): remove msgpack-c dependency</title>
<updated>2024-08-05T10:22:12+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2024-07-02T11:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=1247684ae14e83c5b742be390de8dee00fd4e241'/>
<id>1247684ae14e83c5b742be390de8dee00fd4e241</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(BUILD): mention treesitter parser dependencies (#28226)</title>
<updated>2024-04-08T08:04:54+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2024-04-08T08:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=be2a4b52b9853a9075a1bc69768625428aa7ffb3'/>
<id>be2a4b52b9853a9075a1bc69768625428aa7ffb3</id>
<content type='text'>
Also add missing mention of libvterm and remove mention of libtermkey.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add missing mention of libvterm and remove mention of libtermkey.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(docs): replace lua2dox.lua</title>
<updated>2024-02-27T14:41:17+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-02-15T17:16:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9beb40a4db5613601fc1a4b828a44e5977eca046'/>
<id>9beb40a4db5613601fc1a4b828a44e5977eca046</id>
<content type='text'>
Problem:

The documentation flow (`gen_vimdoc.py`) has several issues:
- it's not very versatile
- depends on doxygen
- doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C.
- The intermediate XML files and filters makes it too much like a rube goldberg machine.

Solution:

Re-implement the flow using Lua, LPEG and treesitter.

- `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic.
- `lua2dox.lua` is gone!
- No more XML files.
- Doxygen is now longer used and instead we now use:
  - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`).
  - LPEG for C parsing (see `scripts/cdoc_parser.lua`)
  - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`).
  - Treesitter for Markdown parsing (see `scripts/text_utils.lua`).
- The generated `runtime/doc/*.mpack` files have been removed.
   - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly.
- Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:

The documentation flow (`gen_vimdoc.py`) has several issues:
- it's not very versatile
- depends on doxygen
- doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C.
- The intermediate XML files and filters makes it too much like a rube goldberg machine.

Solution:

Re-implement the flow using Lua, LPEG and treesitter.

- `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic.
- `lua2dox.lua` is gone!
- No more XML files.
- Doxygen is now longer used and instead we now use:
  - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`).
  - LPEG for C parsing (see `scripts/cdoc_parser.lua`)
  - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`).
  - Treesitter for Markdown parsing (see `scripts/text_utils.lua`).
- The generated `runtime/doc/*.mpack` files have been removed.
   - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly.
- Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
</pre>
</div>
</content>
</entry>
<entry>
<title>build: remove luarocks</title>
<updated>2023-09-10T13:32:47+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2023-09-09T16:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9f8f287c6139b8b8ff2809f4d1aebb57021cd043'/>
<id>9f8f287c6139b8b8ff2809f4d1aebb57021cd043</id>
<content type='text'>
Luarocks is no longer needed after
25e51d393a420765d5efd44c1b4be823a5cf280a.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Luarocks is no longer needed after
25e51d393a420765d5efd44c1b4be823a5cf280a.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(log): reduce compile time LOG_LEVEL granularity</title>
<updated>2023-03-04T14:26:17+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-02-26T11:51:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2ba224e1526681c1a0b1b2b095b1ef2b0874db48'/>
<id>2ba224e1526681c1a0b1b2b095b1ef2b0874db48</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: fix typos (#16361)</title>
<updated>2021-11-27T16:10:48+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-11-27T16:10:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=caa6992a1071a2ac373bec21085685da4a1790d6'/>
<id>caa6992a1071a2ac373bec21085685da4a1790d6</id>
<content type='text'>
Co-authored-by: Brede Yabo Sherling Kristensen &lt;bredeyabo@hotmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: István Donkó &lt;istvan.donko@gmail.com&gt;
Co-authored-by: Julian Berman &lt;Julian@GrayVines.com&gt;
Co-authored-by: bryant &lt;bryant@users.noreply.github.com&gt;
Co-authored-by: Michael Lingelbach &lt;m.j.lbach@gmail.com&gt;
Co-authored-by: nlueb &lt;9465658+nlueb@users.noreply.github.com&gt;
Co-authored-by: Leonhard Saam &lt;leonhard.saam@yahoo.com&gt;
Co-authored-by: Jesse Wertheim &lt;jaawerth@gmail.com&gt;
Co-authored-by: dm1try &lt;me@dmitry.it&gt;
Co-authored-by: Jakub Łuczyński &lt;doubleloop@o2.pl&gt;
Co-authored-by: Louis Lebrault &lt;louis.lebrault@gmail.com&gt;
Co-authored-by: Brede Yabo Sherling Kristensen &lt;bredeyabo@hotmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: István Donkó &lt;istvan.donko@gmail.com&gt;
Co-authored-by: Julian Berman &lt;Julian@GrayVines.com&gt;
Co-authored-by: bryant &lt;bryant@users.noreply.github.com&gt;
Co-authored-by: Michael Lingelbach &lt;m.j.lbach@gmail.com&gt;
Co-authored-by: nlueb &lt;9465658+nlueb@users.noreply.github.com&gt;
Co-authored-by: Leonhard Saam &lt;leonhard.saam@yahoo.com&gt;
Co-authored-by: Jesse Wertheim &lt;jaawerth@gmail.com&gt;
Co-authored-by: dm1try &lt;me@dmitry.it&gt;
Co-authored-by: Jakub Łuczyński &lt;doubleloop@o2.pl&gt;
Co-authored-by: Louis Lebrault &lt;louis.lebrault@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Brede Yabo Sherling Kristensen &lt;bredeyabo@hotmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: István Donkó &lt;istvan.donko@gmail.com&gt;
Co-authored-by: Julian Berman &lt;Julian@GrayVines.com&gt;
Co-authored-by: bryant &lt;bryant@users.noreply.github.com&gt;
Co-authored-by: Michael Lingelbach &lt;m.j.lbach@gmail.com&gt;
Co-authored-by: nlueb &lt;9465658+nlueb@users.noreply.github.com&gt;
Co-authored-by: Leonhard Saam &lt;leonhard.saam@yahoo.com&gt;
Co-authored-by: Jesse Wertheim &lt;jaawerth@gmail.com&gt;
Co-authored-by: dm1try &lt;me@dmitry.it&gt;
Co-authored-by: Jakub Łuczyński &lt;doubleloop@o2.pl&gt;
Co-authored-by: Louis Lebrault &lt;louis.lebrault@gmail.com&gt;
Co-authored-by: Brede Yabo Sherling Kristensen &lt;bredeyabo@hotmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
Co-authored-by: István Donkó &lt;istvan.donko@gmail.com&gt;
Co-authored-by: Julian Berman &lt;Julian@GrayVines.com&gt;
Co-authored-by: bryant &lt;bryant@users.noreply.github.com&gt;
Co-authored-by: Michael Lingelbach &lt;m.j.lbach@gmail.com&gt;
Co-authored-by: nlueb &lt;9465658+nlueb@users.noreply.github.com&gt;
Co-authored-by: Leonhard Saam &lt;leonhard.saam@yahoo.com&gt;
Co-authored-by: Jesse Wertheim &lt;jaawerth@gmail.com&gt;
Co-authored-by: dm1try &lt;me@dmitry.it&gt;
Co-authored-by: Jakub Łuczyński &lt;doubleloop@o2.pl&gt;
Co-authored-by: Louis Lebrault &lt;louis.lebrault@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: use LibFindMacros for utf8proc (#11114)</title>
<updated>2019-09-29T02:44:02+00:00</updated>
<author>
<name>Daniel Hahler</name>
<email>git@thequod.de</email>
</author>
<published>2019-09-29T02:44:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0a2a1e241fee64d8ceeca023dab4aca71b62dfbb'/>
<id>0a2a1e241fee64d8ceeca023dab4aca71b62dfbb</id>
<content type='text'>
Also update doc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also update doc.</pre>
</div>
</content>
</entry>
</feed>
