view test/bug-53599.tst @ 31555:9d0d37acafbe stable

delete m_evaluator after m_output_system (bug #63416) * interpreter.h, interpreter.cc (class interpreter): Move m_evaluator ahead of m_output_system in list of data members so that the tree_evaluator object will still be valid when the output_system object is deleted.
author John W. Eaton <jwe@octave.org>
date Sat, 26 Nov 2022 17:05:21 -0500
parents 9080316864bf
children 332a6ccac881
line wrap: on
line source

%!function rval = sggval (val)
%!  global gval
%!  if (nargin == 1)
%!    gval = val;
%!  else
%!    rval = gval;
%!  endif
%!endfunction

%!test <*53599>
%! global gval
%! assert (isempty (gval))
%! sggval (13);
%! assert (sggval (), 13);
%! assert (gval, 13);
%! clear global gval
%! assert (sggval (), [])
%! gval = 42;
%! assert (sggval (), []);
%! clear gval
%! global gval
%! gval = 42;
%! assert (sggval (), 42);
%! clear -global gval;  # cleanup after test