diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-01-02 09:37:27 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-01-02 09:37:27 -0800 |
commit | e694dde54a71cad3e2df5b28400aac8c7d564932 (patch) | |
tree | d53c8ee9274a1b890b621bd94f9e171973b264f3 /eval.c | |
parent | 31c0ddaa876f22274193f6656498d247e42236e6 (diff) | |
download | txr-e694dde54a71cad3e2df5b28400aac8c7d564932.tar.gz txr-e694dde54a71cad3e2df5b28400aac8c7d564932.tar.bz2 txr-e694dde54a71cad3e2df5b28400aac8c7d564932.zip |
Use last-form-evaled mechanism for pattern language.
We need this now, since file system errors aren't
handled in the pattern language any more, after
the complex_open refactoring.
* eval.c (set_last_form_evaled): New function.
* eval.h (set_last_form_evaled): Declared.
* match.c (do_match_line, match_files):
Save, set up and restore last_form_evaled
via set_last_form_evaled function.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -228,6 +228,13 @@ static val set_origin(val form, val origin) return form; } +val set_last_form_evaled(val form) +{ + val prev = last_form_evaled; + last_form_evaled = form; + return prev; +} + void error_trace(val exsym, val exvals, val out_stream, val prefix) { val last = last_form_evaled; |