On Thu, Jun 29, 2023 at 12:03 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > You do not need to remember the index of each jump key because you can > count it up after a key is pressed. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/kconfig/expr.h | 1 - > scripts/kconfig/mconf.c | 7 ++++--- > scripts/kconfig/menu.c | 8 -------- > 3 files changed, 4 insertions(+), 12 deletions(-) > > diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h > index 9c9caca5bd5f..4a9a23b1b7e1 100644 > --- a/scripts/kconfig/expr.h > +++ b/scripts/kconfig/expr.h > @@ -275,7 +275,6 @@ struct jump_key { > struct list_head entries; > size_t offset; > struct menu *target; > - int index; > }; > > extern struct file *file_list; > diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c > index 7adfd6537279..fcb91d69c774 100644 > --- a/scripts/kconfig/mconf.c > +++ b/scripts/kconfig/mconf.c > @@ -22,8 +22,6 @@ > #include "lkc.h" > #include "lxdialog/dialog.h" > > -#define JUMP_NB 9 > - > static const char mconf_readme[] = > "Overview\n" > "--------\n" > @@ -399,6 +397,7 @@ static int handle_search_keys(int key, int start, int end, void *_data) > { > struct search_data *data = _data; > struct jump_key *pos; > + int index = '1'; > > if (key < '1' || key > '9') > return 0; > @@ -408,11 +407,13 @@ static int handle_search_keys(int key, int start, int end, void *_data) > if (pos->offset >= end) > break; > > - if (key == '1' + (pos->index % JUMP_NB)) { > + if (key == index) { > data->target = pos->target; > return 1; > } > } > + > + index = next_key(index); > } > > return 0; > diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c > index 5578b8bc8a23..198eb1367e7a 100644 > --- a/scripts/kconfig/menu.c > +++ b/scripts/kconfig/menu.c > @@ -735,15 +735,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop, > } > if (head && location) { > jump = xmalloc(sizeof(struct jump_key)); > - > jump->target = location; > - > - if (list_empty(head)) > - jump->index = 0; > - else > - jump->index = list_entry(head->prev, struct jump_key, > - entries)->index + 1; > - > list_add_tail(&jump->entries, head); > } > > -- > 2.39.2 > Looks good! Reviewed-by: Jesse Taube <Mr.Bossman075@xxxxxxxxx> One slight off-topic question. The names of the menu-based config programs have names similar to their corresponding file gconfig ('gconf'), xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf'). The only exceptions to this one-letter naming are mconfig is not memuconfig and qconfig isn't xconfig. Would it be possible to add an alias to fix this? Side-side note config isn't in the docs. Thanks, Jesse Taube