Hello, Randy noticed segfaults with the last version and although that could be fixed, this version got rid of the additional data structure, because it is not needed to do the traversal. As everything is in place more or less now, it became rather forcibly clear that the tree traversal can be done with just a short helper function (see commit message). What I meanwhile noticed is that a search for 'retpoline' did not match any prompt, whereas the same search in config symbols gets a hit. That made me think if i-search should search the symbol names as well but in this case, it would not be immediately clear to users why menu items produced a hit... Anyway, this time, I provide a sample Kconfig file that can be used to easily watch the traversal as shown in the example in the commit message (just repeatedly search for 'a' from any position in the menu): config a bool "a" config b bool "b / a" depends on a config c bool "c / a" menu "d / a" config e bool "e / a" endmenu config f bool "f / a" Dirk Changes in v8: * Get rid of flat_array and use a short helper function menu_get_next() for tree traversal. * Correct typos reported by Randy Dunlap. Changes in v7: * make menu_isearch() return void * Suggested-by removed, ask for Sam's permission * Rework i-search instructions text * Remember exact starting position in menu * Stay on menu item if it matches pattern with a character added * Fix print_autowrap for short texts * Focus on buttons: use A_STANDOUT for current menu item * Fix compiler warnings * Don't exclude comments in searches * ESC also clears search string * Remove the last parameter of print_isearch and use focus_on_buttons instead * Document changes to print_autowrap and conf() in commit message * Rework comments in the code * Rework commit message, add a motivation part * Free serialized menu array on exit Changes in v6: * The modification of the function print_autowrap() was reworked and is no longer a separate function. * The i-search navigation was completely reworked and now works on the whole menu tree. * Hotkeys are back, because they do not interfere that much with this version of i-search navigation. Changes in v5: * More thoroughly tested code * Hotkey navigation concept completely dropped * Printable characters except special ones form the search string * Focus-sensitive help text above menu * DEL erases search string * Matching string is highlighted in selected menu item * README help text adjusted Changes in v4: * Prototype: consequent i-search navigation concept Changes in v3: * Use current git tree to make the patch apply. * Eliminate debugging output to stderr. Changes in v2: * Additionally to CTRL-s, \ can be used to start isearch. * Raw mode is off by default an can be enabled by an environment variable MENUCONFIG_RAW_MODE. * I also added a variable for toggling raw mode but did not implement anything else. * The isearch indicator is now displayed as soon as isearch is started. * Any key except \, CTRL-s, alphanumeric characters and space terminates isearch and -- except ESC ESC -- is further processed, e.g. ENTER terminates isearch and is then used to navigate into a submenu. * Problems with mismatches and matches above the current position were fixed. Dirk Gouders (1): mconf: global i-search in menu prompts scripts/kconfig/lkc.h | 1 + scripts/kconfig/lxdialog/checklist.c | 2 +- scripts/kconfig/lxdialog/dialog.h | 3 +- scripts/kconfig/lxdialog/inputbox.c | 2 +- scripts/kconfig/lxdialog/menubox.c | 181 ++++++++++++++++++++++++++++++----- scripts/kconfig/lxdialog/util.c | 45 ++++++++- scripts/kconfig/lxdialog/yesno.c | 2 +- scripts/kconfig/mconf.c | 173 +++++++++++++++++++++++++++++++-- scripts/kconfig/menu.c | 28 ++++++ 9 files changed, 398 insertions(+), 39 deletions(-) -- 2.13.6 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html