Currently, retvals are provided when a variable is defined or changed. The retval points directly to the variable. This means that, on definition, the retval will have uninitialised memory, and on change, the current state of the variable can be retrieved via the retval. What should be happening instead is that retvals should always point to a freshly-initialised variable of the relevant type, and then an appropriate setf operation should be called to move/copy that variable into the 'target' variable.
Currently,
retval
s are provided when a variable is defined or changed. Theretval
points directly to the variable. This means that, on definition, theretval
will have uninitialised memory, and on change, the current state of the variable can be retrieved via theretval
. What should be happening instead is thatretval
s should always point to a freshly-initialised variable of the relevant type, and then an appropriatesetf
operation should be called to move/copy that variable into the 'target' variable.