These mods fix a problem pointed out by dgartang, where in certain situations, the target of a goto cannot be found, even right under your nose. This is because the current context is not updated properly, and rather than waste time and find why and where the context should have been updated, I just use my newly added 'dad' ptrs, and pop until I have either the context or extension, and use that instead.
structpval*x=find_label_in_current_extension((char*)((item->u1.list)->u1.str),current_extension?current_extension:current_context);/* if in macro, use current context instead */
structpval*z=get_extension_or_contxt(item);
structpval*x=0;
if(z)
x=find_label_in_current_extension((char*)((item->u1.list)->u1.str),z);/* if in macro, use current context instead */
/* printf("Called find_label_in_current_extension with arg %s; current_extension is %x: %d\n",