help: show the suggested command when help.autocorrect is false

Make the handling of false boolean values for help.autocorrect
consistent with the handling of value 0 by showing the suggested
commands but not running them.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
David Aguilar
2025-02-01 13:33:18 -08:00
committed by Junio C Hamano
parent a0fc18f042
commit e21bf2c431
3 changed files with 16 additions and 11 deletions

6
help.c
View File

@ -552,6 +552,7 @@ struct help_unknown_cmd_config {
struct cmdnames aliases;
};
#define AUTOCORRECT_SHOW (-4)
#define AUTOCORRECT_PROMPT (-3)
#define AUTOCORRECT_NEVER (-2)
#define AUTOCORRECT_IMMEDIATELY (-1)
@ -562,7 +563,7 @@ static int parse_autocorrect(const char *value)
case 1:
return AUTOCORRECT_IMMEDIATELY;
case 0:
return AUTOCORRECT_NEVER;
return AUTOCORRECT_SHOW;
default: /* other random text */
break;
}
@ -713,7 +714,8 @@ char *help_unknown_cmd(const char *cmd)
n++)
; /* still counting */
}
if (cfg.autocorrect && n == 1 && SIMILAR_ENOUGH(best_similarity)) {
if (cfg.autocorrect && cfg.autocorrect != AUTOCORRECT_SHOW && n == 1 &&
SIMILAR_ENOUGH(best_similarity)) {
char *assumed = xstrdup(main_cmds.names[0]->name);
fprintf_ln(stderr,