2008-08-30 Colin D Bennett Allow multiple fallback entries. * include/grub/normal.h (grub_menu_execute_callback_t): New type. (grub_menu_execute_with_fallback): New prototype. (grub_menu_get_timeout): New prototype. (grub_menu_set_timeout): New prototype. * normal/menu.c (get_timeout): Renamed to grub_menu_get_timeout. (grub_menu_get_timeout): Renamed from get_timeout, and made global. (set_timeout): Renamed to grub_menu_set_timeout. (grub_menu_set_timeout): Renamed from set_timeout, and made global. (get_and_remove_first_entry_number): New function. (run_menu): Call grub_menu_get_timeout and grub_menu_set_timeout instead of the old function names. (grub_menu_execute_with_fallback): New function. (notify_booting): New function. (notify_fallback): New function. (notify_execution_failure): New function. (execution_callback): New struct definition. (show_menu): Use grub_menu_execute_with_fallback instead of directly handling the fallback here.