Notice that when you ran the program a second time, you received additional error messages that you did not get on the first run:
error: cannot get value of 'var.c'
The error() function uses a variable, err_silent, to silence error messages in certain circumstances. For example, in the case of the display command, instead of displaying an error message, problems are displayed as c = '<error>'.