grub-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]