All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/1] Add paging instructions to interactive prompt
@ 2022-10-31 19:35 Robbie Harwood
  2022-10-31 19:35 ` [PATCH v2 1/1] normal: " Robbie Harwood
  0 siblings, 1 reply; 5+ messages in thread
From: Robbie Harwood @ 2022-10-31 19:35 UTC (permalink / raw)
  To: grub-devel; +Cc: Robbie Harwood, dkiper, javierm, phcoder, mchang

This patch replaces the earlier "Enable pager by default" from Peter and
Javier with the solution requested by Vladimir.

Be well,
--Robbie

Robbie Harwood (1):
  normal: Add paging instructions to interactive prompt

 grub-core/normal/main.c | 4 +++-
 grub-core/normal/term.c | 6 ++++++
 include/grub/normal.h   | 1 +
 3 files changed, 10 insertions(+), 1 deletion(-)

-- 
2.35.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/1] normal: Add paging instructions to interactive prompt
  2022-10-31 19:35 [PATCH v2 0/1] Add paging instructions to interactive prompt Robbie Harwood
@ 2022-10-31 19:35 ` Robbie Harwood
  2022-11-03 15:58   ` Daniel Kiper
  0 siblings, 1 reply; 5+ messages in thread
From: Robbie Harwood @ 2022-10-31 19:35 UTC (permalink / raw)
  To: grub-devel; +Cc: Robbie Harwood, dkiper, javierm, phcoder, mchang

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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] normal: Add paging instructions to interactive prompt
  2022-10-31 19:35 ` [PATCH v2 1/1] normal: " Robbie Harwood
@ 2022-11-03 15:58   ` Daniel Kiper
  2022-11-03 21:50     ` Robbie Harwood
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Kiper @ 2022-11-03 15:58 UTC (permalink / raw)
  To: Robbie Harwood; +Cc: grub-devel, javierm, phcoder, mchang

On Mon, Oct 31, 2022 at 03:35:49PM -0400, Robbie Harwood wrote:
> 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>");

Do we really need to update prompt? Why do not print it once at the top
of the screen after entering into normal mode first time?

Daniel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] normal: Add paging instructions to interactive prompt
  2022-11-03 15:58   ` Daniel Kiper
@ 2022-11-03 21:50     ` Robbie Harwood
  2022-11-04 12:59       ` Daniel Kiper
  0 siblings, 1 reply; 5+ messages in thread
From: Robbie Harwood @ 2022-11-03 21:50 UTC (permalink / raw)
  To: Daniel Kiper; +Cc: grub-devel, javierm, phcoder, mchang

[-- Attachment #1: Type: text/plain, Size: 1726 bytes --]

Daniel Kiper <dkiper@net-space.pl> writes:

> On Mon, Oct 31, 2022 at 03:35:49PM -0400, Robbie Harwood wrote:
>> 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>");
>
> Do we really need to update prompt? Why do not print it once at the top
> of the screen after entering into normal mode first time?

My thinking was this: if a user enters the command prompt from the menu
and types "help", then not only is it not paginated, but the
instructions for enabling pagination have scrolled off the screen.
Rereading I do see that you and Vladimir were after the initial blob,
not the command line prompt.  I don't know if I agree that's
sufficient... will think about it more, I guess.

Be well,
--Robbie

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] normal: Add paging instructions to interactive prompt
  2022-11-03 21:50     ` Robbie Harwood
@ 2022-11-04 12:59       ` Daniel Kiper
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Kiper @ 2022-11-04 12:59 UTC (permalink / raw)
  To: Robbie Harwood; +Cc: grub-devel, javierm, phcoder, mchang

On Thu, Nov 03, 2022 at 05:50:51PM -0400, Robbie Harwood wrote:
> Daniel Kiper <dkiper@net-space.pl> writes:
> > On Mon, Oct 31, 2022 at 03:35:49PM -0400, Robbie Harwood wrote:
> >> 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>");
> >
> > Do we really need to update prompt? Why do not print it once at the top
> > of the screen after entering into normal mode first time?
>
> My thinking was this: if a user enters the command prompt from the menu
> and types "help", then not only is it not paginated, but the
> instructions for enabling pagination have scrolled off the screen.

Why do not add instructions for enabling pagination at the end of "help"
command print out?

> Rereading I do see that you and Vladimir were after the initial blob,
> not the command line prompt.  I don't know if I agree that's
> sufficient... will think about it more, I guess.

OK...

Daniel


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-04 12:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-31 19:35 [PATCH v2 0/1] Add paging instructions to interactive prompt Robbie Harwood
2022-10-31 19:35 ` [PATCH v2 1/1] normal: " Robbie Harwood
2022-11-03 15:58   ` Daniel Kiper
2022-11-03 21:50     ` Robbie Harwood
2022-11-04 12:59       ` Daniel Kiper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.