diff --git a/ChangeLog b/ChangeLog index 4ea99e95b..0f528a322 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,13 @@ -2002-06-30 Yoshinori K. Okuji +2002-06-30 Yoshinori K. Okuji + + * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES] + (terminal_func): Set CURRENT_TERM to each of selected terminals + before calling grub_printf, and restore CURRENT_TERM after it. + Reported by Ilguiz Latypov. + Prepend a carriage return to the prompting message, because it + is ugly that the same messages fulfill the whole screen. + +2002-06-30 Yoshinori K. Okuji * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the conditional statement. Reported by Ilguiz Latypov. diff --git a/stage2/builtins.c b/stage2/builtins.c index 8aaa01985..2d916649d 100644 --- a/stage2/builtins.c +++ b/stage2/builtins.c @@ -4113,7 +4113,19 @@ terminal_func (char *arg, int flags) if ((time1 = getrtsecs ()) != time2 && time1 != 0xFF) { if (! no_message) - grub_printf ("Press any key to continue.\n"); + { + /* Need to set CURRENT_TERM to each of selected + terminals. */ + for (i = 0; term_table[i].name; i++) + if (term_bitmap & (1 << i)) + { + current_term = term_table + i; + grub_printf ("\rPress any key to continue.\n"); + } + + /* Restore CURRENT_TERM. */ + current_term = prev_term; + } time2 = time1; if (to > 0)