* values.c (set_internalvar): Force evaluation of lazy values.
authorJohn Gilmore <gnu@cygnus>
Tue, 5 May 1992 05:31:21 +0000 (05:31 +0000)
committerJohn Gilmore <gnu@cygnus>
Tue, 5 May 1992 05:31:21 +0000 (05:31 +0000)
Bug reported by RMS.

gdb/ChangeLog
gdb/values.c

index 5dfb83168bac17924dc9126c6da87484330ac0d1..bac88e44ca05a4da404b26f50c61493d32e89c7e 100644 (file)
@@ -1,3 +1,8 @@
+Mon May  4 22:26:59 1992  John Gilmore  (gnu at cygnus.com)
+
+       * values.c (set_internalvar):  Force evaluation of lazy values.
+       Bug reported by RMS.
+
 Sun May  3 15:47:45 1992  Fred Fish  (fnf@cygnus.com)
 
        * Makefile.in (VERSION):  Bump to 4.5.2.
index c7ab7b77cc9294b5ef06b8816ca346778f1c36ef..08c970b7f20e7e17b660a567306a377f5684e83c 100644 (file)
@@ -453,6 +453,11 @@ set_internalvar (var, val)
 
   free ((PTR)var->value);
   var->value = value_copy (val);
+  /* Force the value to be fetched from the target now, to avoid problems
+     later when this internalvar is referenced and the target is gone or
+     has changed.  */
+  if (VALUE_LAZY (var->value))
+    value_fetch_lazy (var->value);
   release_value (var->value);
 }