Menu

#4573 unset ignores error of trace

obsolete: 8.5.5
closed-invalid
46. Traces (50)
5
2010-03-15
2010-03-11
No

I'm not sure, if this is a bug or not. I would expect an error from the unset command. But nothing happens.
I show you an example:

% proc raise_error { args } { puts $args; error "error" }
% trace add variable a unset raise_error
% set a(1) 1
1
% unset a(1)
a 1 unset
% trace add variable a write raise_error
% set a(2) 1
a 2 write
can't set "a(2)": error
while evaluating {set a(2) 1}

Discussion

  • Don Porter

    Don Porter - 2010-03-15

    From http://www.tcl.tk/man/tcl/TclCmd/trace.htm#M18 :

    "Any errors in unset traces are ignored. "

     
  • Don Porter

    Don Porter - 2010-03-15
    • status: open --> closed-invalid