From d696707cb5009308baa345ff60c8378512b07edb Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Fri, 25 Oct 2002 22:01:47 +0000 Subject: Fix eval bugs 1516 and 1517. --- function.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'function.c') diff --git a/function.c b/function.c index 3282cdf..5a27406 100644 --- a/function.c +++ b/function.c @@ -1196,8 +1196,18 @@ func_wildcard (char *o, char **argv, const char *funcname) static char * func_eval (char *o, char **argv, const char *funcname) { + char *buf; + unsigned int len; + + /* Eval the buffer. Pop the current variable buffer setting so that the + eval'd code can use its own without conflicting. */ + + install_variable_buffer (&buf, &len); + eval_buffer (argv[0]); + restore_variable_buffer (buf, len); + return o; } -- cgit v1.2.3