diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fbf14dd4d62..94155f51d0c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-08-15 Sergio Durigan Junior + + PR gdb/21954 + * infcmd.c (unset_environment_command): Use the 'clear' method on + the environment instead of resetting it. + 2017-08-15 John Baldwin * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian diff --git a/gdb/infcmd.c b/gdb/infcmd.c index defa7b0c48c..c8a82db4552 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2230,7 +2230,7 @@ unset_environment_command (char *var, int from_tty) /* If there is no argument, delete all environment variables. Ask for confirmation if reading from the terminal. */ if (!from_tty || query (_("Delete all environment variables? "))) - current_inferior ()->environment = gdb_environ::from_host_environ (); + current_inferior ()->environment.clear (); } else current_inferior ()->environment.unset (var); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f9494af9386..39c49b8d0ea 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-08-15 Sergio Durigan Junior + + PR gdb/21954 + * gdb.base/environ.exp: Add test to check if 'unset environment' + works. + 2017-08-14 Andreas Arnez * lib/gdb.exp (universal_compile_options): New caching proc. diff --git a/gdb/testsuite/gdb.base/environ.exp b/gdb/testsuite/gdb.base/environ.exp index 0b69a80a902..bb52063b297 100644 --- a/gdb/testsuite/gdb.base/environ.exp +++ b/gdb/testsuite/gdb.base/environ.exp @@ -46,6 +46,9 @@ gdb_test "unset environment" "" "unset all environment variables" \ "Delete all environment variables. .y or n. $" \ "y" +gdb_test_no_output "show environment" \ + "all environment variables have been unset" + # Verify that we can set a specific environment variable. test_set_show_env_var "EDITOR" "emacs" "set environment variable"