# HG changeset patch # User jwe # Date 764501158 0 # Node ID ee3da0884aaabd66f9950dc9ce871ec935665e8a # Parent 27ef550be39e0fd9a9c3394b11882703c05d1146 [project @ 1994-03-24 09:23:18 by jwe] diff -r 27ef550be39e -r ee3da0884aaa src/symtab.cc --- a/src/symtab.cc Thu Mar 24 09:19:09 1994 +0000 +++ b/src/symtab.cc Thu Mar 24 09:25:58 1994 +0000 @@ -627,6 +627,9 @@ { context.push (definition); definition = (symbol_def *) NULL; + + global_link_context.push ((unsigned) linked_to_global); + linked_to_global = 0; } void @@ -647,6 +650,7 @@ } definition = context.pop (); + linked_to_global = global_link_context.pop (); } int diff -r 27ef550be39e -r ee3da0884aaa src/symtab.h --- a/src/symtab.h Thu Mar 24 09:19:09 1994 +0000 +++ b/src/symtab.h Thu Mar 24 09:25:58 1994 +0000 @@ -192,7 +192,11 @@ sv_Function sv_fcn; symbol_def *definition; symbol_record *next_elem; + +// This should maybe be one stack with a structure containing all the +// items we need to save for recursive calls... SLStack context; + SLStack global_link_context; void init_state (void); diff -r 27ef550be39e -r ee3da0884aaa src/tree.h.old --- a/src/tree.h.old Thu Mar 24 09:19:09 1994 +0000 +++ b/src/tree.h.old Thu Mar 24 09:25:58 1994 +0000 @@ -563,6 +563,10 @@ tree_identifier *define (tree_constant *t); + void define_from_arg_vector (const tree_constant *args, int nargin); + + tree_constant *convert_to_const_vector (void); + tree_parameter_list *next_elem (void); tree_constant eval (int print);