xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit b6d05deecc981ac94d8dd389421a512e09faa335

Test and document crash fix for menus.loadcustom()
Author: xaizek
Author date (UTC): 2026-01-12 22:27
Committer name: xaizek
Committer date (UTC): 2026-01-13 15:29
Parent(s): 22713f5f5399b67e303544b41cd5c636381d4e9d
Signing key: 99DC5E4DB05F6BE2
Tree: 823e1ebf6339eba7deac73ec75ec7a617011d34d
File Lines added Lines deleted
AUTHORS 2 0
ChangeLog.LuaAPI 3 0
THANKS 1 0
data/vim/doc/app/vifm-lua.txt 3 2
tests/lua/api_menus.c 4 0
File AUTHORS changed (mode: 100644) (index 2fb71410e..cf4fc5001)
... ... missing.
189 189
190 190 Kaspars Vandans implemented an option for automatically spawning external Kaspars Vandans implemented an option for automatically spawning external
191 191 editor for path prompts. editor for path prompts.
192
193 Kirill Rekhov contributed multiple bug fixes and improvements.
File ChangeLog.LuaAPI changed (mode: 100644) (index 464fc45de..6dd87cff8)
... ... documented in the regular ChangeLog.
12 12 Fixed a crash on passing a value that's not convertible to a string to Fixed a crash on passing a value that's not convertible to a string to
13 13 VifmView:loadcustom(). VifmView:loadcustom().
14 14
15 Fixed a crash on passing a value that's not convertible to a string to
16 vifm.menus.loadcustom(). Thanks to PRESFIL. Patch by Kirill Rekhov.
17
15 18 0.13 to 0.14-beta (2025-01-19) 0.13 to 0.14-beta (2025-01-19)
16 19
17 20 Bumped API version to v0.2.0. Bumped API version to v0.2.0.
File THANKS changed (mode: 100644) (index d9ff02c14..d54e5e6ea)
... ... kazufukurou
170 170 Ken Allen (cardboard42) Ken Allen (cardboard42)
171 171 Kendrick Taylor (sixcircuit) Kendrick Taylor (sixcircuit)
172 172 khaoos-abominable khaoos-abominable
173 Kirill Rekhov
173 174 Konst Mayer (cdlscpmv) Konst Mayer (cdlscpmv)
174 175 Kornel Kornel
175 176 ks1c ks1c
File data/vim/doc/app/vifm-lua.txt changed (mode: 100644) (index e6c365ebd..ff8028a5b)
... ... Parameters:~
1123 1123 {menu} Table with information about the custom view. {menu} Table with information about the custom view.
1124 1124
1125 1125 Return:~ Return:~
1126 `false` if the list of items is empty or if {menu}.view doesn't refer to the
1127 the view as `vifm.currview()` or `vifm.otherview()`.
1126 `false` if the list of items is empty, one of the items can't be converted
1127 to a string or if {menu}.view doesn't refer to the the view as
1128 `vifm.currview()` or `vifm.otherview()`.
1128 1129 `true` on success. `true` on success.
1129 1130
1130 1131 -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
File tests/lua/api_menus.c changed (mode: 100644) (index fed6c6049..a73c9a2e9)
... ... TEST(menus_loadcustom)
73 73 GLUA_ENDS(vlua, "false", GLUA_ENDS(vlua, "false",
74 74 "print(vifm.menus.loadcustom { title = 't', items = { } })"); "print(vifm.menus.loadcustom { title = 't', items = { } })");
75 75
76 /* Items of invalid type. */
77 GLUA_EQ(vlua, "false",
78 "print(vifm.menus.loadcustom({ title = 'title', items = { {} } }))");
79
76 80 /* Non-navigatable menu. */ /* Non-navigatable menu. */
77 81 GLUA_ENDS(vlua, "true", GLUA_ENDS(vlua, "true",
78 82 "print(vifm.menus.loadcustom { title = 't', items = { 'a', 'b' } })"); "print(vifm.menus.loadcustom { title = 't', items = { 'a', 'b' } })");
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master