Hi,
Attached a patch that makes a new function (grub_printf_) which one
calls _( ) for the format argument. Also adapts the current
translations but not the pending patch.
Can someone take a look? If the grub_printf_ approach is used then this
should be committed. Conflicts with Colin Watson idea because in the
other idea gettext has to be called in grub_printf level and not inside,
as far as I can think now :-)
--
Carles Pina i Estany
http://pinux.info
=== modified file 'ChangeLog'
--- ChangeLog 2009-12-07 16:46:24 +0000
+++ ChangeLog 2009-12-07 21:08:05 +0000
@@ -1,3 +1,17 @@
+2009-12-07 Carles Pina i Estany <[email protected]>
+
+ * include/grub/misc.h (grub_printf_): New declaration.
+ * kern/misc.c (grub_printf_): New definition.
+ * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
+ instead of `grub_printf' and `_'.
+ * normal/menu_entry.c (store_completion): Likewise.
+ (run): Likewise.
+ (grub_menu_entry_run): Likewise.
+ * normal/menu_text.c (grub_wait_after_message): Likewise.
+ (notify_booting): Likewise.
+ (notify_fallback): Likewise.
+ (notify_execution_failure): Likewise.
+
2009-12-07 Colin Watson <[email protected]>
* configure.ac: Check for vasprintf.
=== modified file 'include/grub/misc.h'
--- include/grub/misc.h 2009-12-03 23:07:29 +0000
+++ include/grub/misc.h 2009-12-07 21:00:46 +0000
@@ -171,6 +171,7 @@ char *EXPORT_FUNC(grub_strndup) (const c
void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n);
grub_size_t EXPORT_FUNC(grub_strlen) (const char *s);
int EXPORT_FUNC(grub_printf) (const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
+int EXPORT_FUNC(grub_printf_) (const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
void EXPORT_FUNC(grub_real_dprintf) (const char *file,
const int line,
const char *condition,
=== modified file 'kern/misc.c'
--- kern/misc.c 2009-11-24 21:42:14 +0000
+++ kern/misc.c 2009-12-07 20:59:09 +0000
@@ -126,6 +126,19 @@ grub_printf (const char *fmt, ...)
return ret;
}
+int
+grub_printf_ (const char *fmt, ...)
+{
+ va_list ap;
+ int ret;
+
+ va_start (ap, fmt);
+ ret = grub_printf (_(fmt), ap);
+ va_end (ap);
+
+ return ret;
+}
+
#if defined (APPLE_CC) && ! defined (GRUB_UTIL)
int
grub_err_printf (const char *fmt, ...)
=== modified file 'normal/main.c'
--- normal/main.c 2009-11-25 03:48:33 +0000
+++ normal/main.c 2009-12-07 21:02:14 +0000
@@ -509,7 +509,7 @@ grub_normal_reader_init (void)
grub_normal_init_page ();
grub_setcursor (1);
- grub_printf (_("\
+ grub_printf_ (N_("\
[ Minimal BASH-like line editing is supported. For the first word, TAB\n\
lists possible command completions. Anywhere else TAB lists possible\n\
device/file completions.%s ]\n\n"),
=== modified file 'normal/menu_entry.c'
--- normal/menu_entry.c 2009-12-05 11:25:07 +0000
+++ normal/menu_entry.c 2009-12-07 21:02:48 +0000
@@ -837,7 +837,7 @@ store_completion (const char *item, grub
grub_gotoxy (0, GRUB_TERM_HEIGHT - 3);
grub_printf (" ");
- grub_printf (_("Possible %s are:"), what);
+ grub_printf_ (N_("Possible %s are:"), what);
grub_printf ("\n ");
}
@@ -1000,7 +1000,7 @@ run (struct screen *screen)
grub_cls ();
grub_printf (" ");
- grub_printf (_("Booting a command list"));
+ grub_printf_ (N_("Booting a command list"));
grub_printf ("\n\n");
@@ -1182,6 +1182,6 @@ grub_menu_entry_run (grub_menu_entry_t e
grub_print_error ();
grub_errno = GRUB_ERR_NONE;
grub_putchar ('\n');
- grub_printf (_("Press any key to continue..."));
+ grub_printf_ (N_("Press any key to continue..."));
(void) grub_getkey ();
}
=== modified file 'normal/menu_text.c'
--- normal/menu_text.c 2009-12-05 11:25:07 +0000
+++ normal/menu_text.c 2009-12-07 21:01:41 +0000
@@ -40,7 +40,7 @@ void
grub_wait_after_message (void)
{
grub_putchar ('\n');
- grub_printf (_("Press any key to continue..."));
+ grub_printf_ (N_("Press any key to continue..."));
(void) grub_getkey ();
grub_putchar ('\n');
}
@@ -206,7 +206,7 @@ entry is highlighted.");
if (nested)
{
grub_printf ("\n ");
- grub_printf (_("ESC to return previous menu."));
+ grub_printf_ (N_("ESC to return previous menu."));
}
}
}
@@ -627,7 +627,7 @@ notify_booting (grub_menu_entry_t entry,
void *userdata __attribute__((unused)))
{
grub_printf (" ");
- grub_printf (_("Booting \'%s\'"), entry->title);
+ grub_printf_ (N_("Booting \'%s\'"), entry->title);
grub_printf ("\n\n");
}
@@ -639,7 +639,7 @@ notify_fallback (grub_menu_entry_t entry
void *userdata __attribute__((unused)))
{
grub_printf ("\n ");
- grub_printf (_("Falling back to \'%s\'"), entry->title);
+ grub_printf_ (N_("Falling back to \'%s\'"), entry->title);
grub_printf ("\n\n");
grub_millisleep (DEFAULT_ENTRY_ERROR_DELAY_MS);
}
@@ -655,7 +655,7 @@ notify_execution_failure (void *userdata
grub_errno = GRUB_ERR_NONE;
}
grub_printf ("\n ");
- grub_printf (_("Failed to boot default entries.\n"));
+ grub_printf_ (N_("Failed to boot default entries.\n"));
grub_wait_after_message ();
}
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel