Conditionally add instructions for enabling paging to the prompt of interactive shells. This is not an ideal solution, as ineractive users must always run a command in order to get the behavior they want, but it avoids problematic interactions between prompting and sourcing files.
Signed-off-by: Robbie Harwood <rharw...@redhat.com> --- grub-core/normal/main.c | 4 +++- grub-core/normal/term.c | 6 ++++++ include/grub/normal.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c index cb0e8e7fd2..d9d7c4ad28 100644 --- a/grub-core/normal/main.c +++ b/grub-core/normal/main.c @@ -411,9 +411,11 @@ grub_normal_read_line_real (char **line, int cont, int nested) if (cont) /* TRANSLATORS: it's command line prompt. */ prompt = _(">"); - else + else if (grub_get_more()) /* TRANSLATORS: it's command line prompt. */ prompt = _("grub>"); + else + prompt = _("(enable paging with `set pager=1`) grub>"); if (!prompt) return grub_errno; diff --git a/grub-core/normal/term.c b/grub-core/normal/term.c index c073eb4898..eec439d9b5 100644 --- a/grub-core/normal/term.c +++ b/grub-core/normal/term.c @@ -128,6 +128,12 @@ grub_set_more (int onoff) grub_normal_reset_more (); } +int +grub_get_more (void) +{ + return grub_more; +} + enum { GRUB_CP437_UPDOWNARROW = 0x12, diff --git a/include/grub/normal.h b/include/grub/normal.h index 218cbabcca..556fd0fada 100644 --- a/include/grub/normal.h +++ b/include/grub/normal.h @@ -133,6 +133,7 @@ void read_crypto_list (const char *prefix); void read_terminal_list (const char *prefix); void grub_set_more (int onoff); +int grub_get_more (void); void grub_normal_reset_more (void); -- 2.35.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel