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