[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/1] normal: Add paging instructions to interactive prompt
From: |
Robbie Harwood |
Subject: |
[PATCH v2 1/1] normal: Add paging instructions to interactive prompt |
Date: |
Mon, 31 Oct 2022 15:35:49 -0400 |
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 <rharwood@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