]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/grub-0.93-endedit.patch
Add some patches to grub.
[people/pmueller/ipfire-2.x.git] / src / patches / grub-0.93-endedit.patch
diff --git a/src/patches/grub-0.93-endedit.patch b/src/patches/grub-0.93-endedit.patch
new file mode 100644 (file)
index 0000000..eb0463c
--- /dev/null
@@ -0,0 +1,77 @@
+Index: stage2/cmdline.c
+===================================================================
+RCS file: /cvsroot/grub/grub/stage2/cmdline.c,v
+retrieving revision 1.27
+diff -u -r1.27 cmdline.c
+--- stage2/cmdline.c   3 Dec 2002 00:02:53 -0000       1.27
++++ stage2/cmdline.c   6 Jan 2003 05:33:33 -0000
+@@ -48,12 +48,17 @@
+ /* Print a helpful message for the command-line interface.  */
+ void
+-print_cmdline_message (int forever)
++print_cmdline_message (int type)
+ {
+   printf (" [ Minimal BASH-like line editing is supported.  For the first word, TAB\n"
+         "   lists possible command completions.  Anywhere else TAB lists the possible\n"
+-        "   completions of a device/filename.%s ]\n",
+-        (forever ? "" : "  ESC at any time exits."));
++        "   completions of a device/filename.");
++  if (type == CMDLINE_NORMAL_MODE)
++    printf("  ESC at any time exits.");
++  if (type == CMDLINE_EDIT_MODE)
++    printf("  ESC at any time cancels.  ENTER \n"
++           "   at any time accepts your changes.");
++  printf("]\n");
+ }
+ /* Find the builtin whose command name is COMMAND and return the
+@@ -128,7 +133,7 @@
+   print_network_configuration ();
+   grub_putchar ('\n');
+ #endif
+-  print_cmdline_message (forever);
++  print_cmdline_message (forever ? CMDLINE_FOREVER_MODE : CMDLINE_NORMAL_MODE);
+   
+   while (1)
+     {
+Index: stage2/shared.h
+===================================================================
+RCS file: /cvsroot/grub/grub/stage2/shared.h,v
+retrieving revision 1.90
+diff -u -r1.90 shared.h
+--- stage2/shared.h    3 Dec 2002 00:02:53 -0000       1.90
++++ stage2/shared.h    6 Jan 2003 05:33:33 -0000
+@@ -843,9 +843,15 @@
+ void init_config (void);
+ char *skip_to (int after_equal, char *cmdline);
+ struct builtin *find_command (char *command);
+-void print_cmdline_message (int forever);
+ void enter_cmdline (char *heap, int forever);
+ int run_script (char *script, char *heap);
++
++/* the flags for the cmdline message */
++#define CMDLINE_FOREVER_MODE 0x0
++#define CMDLINE_NORMAL_MODE 0x1
++#define CMDLINE_EDIT_MODE 0x2
++
++void print_cmdline_message (int type);
+ #endif
+ /* C library replacement functions with identical semantics. */
+Index: stage2/stage2.c
+===================================================================
+RCS file: /cvsroot/grub/grub/stage2/stage2.c,v
+retrieving revision 1.42
+diff -u -r1.42 stage2.c
+--- stage2/stage2.c    4 Dec 2002 00:55:45 -0000       1.42
++++ stage2/stage2.c    6 Jan 2003 05:33:33 -0000
+@@ -655,7 +655,7 @@
+                 else
+                   {
+                     cls ();
+-                    print_cmdline_message (0);
++                    print_cmdline_message (CMDLINE_EDIT_MODE);
+                     new_heap = heap + NEW_HEAPSIZE + 1;