7e98da0
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
7e98da0
From: Javier Martinez Canillas <javierm@redhat.com>
7e98da0
Date: Tue, 22 Jan 2019 15:40:25 +0100
7e98da0
Subject: [PATCH] Export all variables from the initial context when creating a
7e98da0
 submenu
7e98da0
7e98da0
When a submenu is created, only the exported variables are copied to the
7e98da0
new menu context. But we want the variables to be global, so export lets
7e98da0
export all variables to the new created submenu.
7e98da0
7e98da0
Also, don't unset the default variable when a new submenu is created.
7e98da0
7e98da0
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
7e98da0
---
7e98da0
 grub-core/normal/context.c | 2 +-
7e98da0
 grub-core/normal/menu.c    | 2 --
7e98da0
 2 files changed, 1 insertion(+), 3 deletions(-)
7e98da0
7e98da0
diff --git a/grub-core/normal/context.c b/grub-core/normal/context.c
7e98da0
index ee53d4a68e5..87edd254c44 100644
7e98da0
--- a/grub-core/normal/context.c
7e98da0
+++ b/grub-core/normal/context.c
7e98da0
@@ -99,7 +99,7 @@ grub_env_new_context (int export_all)
7e98da0
 grub_err_t
7e98da0
 grub_env_context_open (void)
7e98da0
 {
7e98da0
-  return grub_env_new_context (0);
7e98da0
+  return grub_env_new_context (1);
7e98da0
 }
7e98da0
 
7e98da0
 int grub_extractor_level = 0;
7e98da0
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
904d351
index ea714d27176..d4832f17699 100644
7e98da0
--- a/grub-core/normal/menu.c
7e98da0
+++ b/grub-core/normal/menu.c
904d351
@@ -375,8 +375,6 @@ grub_menu_execute_entry(grub_menu_entry_t entry, int auto_boot)
7e98da0
 
7e98da0
   if (ptr && ptr[0] && ptr[1])
7e98da0
     grub_env_set ("default", ptr + 1);
7e98da0
-  else
7e98da0
-    grub_env_unset ("default");
7e98da0
 
7e98da0
   grub_script_execute_new_scope (entry->sourcecode, entry->argc, entry->args);
7e98da0