view runtime/rhopefuncs_epilog.c @ 179:64be565a40c6

Implement If method on List, fix Get Char to handle end of file, fix nested list pretty printing
author Mike Pavone <pavone@retrodev.com>
date Sat, 18 Jun 2011 11:11:58 -0700
parents bac2c74801f0
children ba35ab624ec2
line wrap: on
line source


DO_END:
	for(idx = 0; idx < cdata->num_params; ++idx)	
		params[idx] = cdata->params[idx];
	free_context(ct);
	return cdata->num_params;

DO_END_THREAD:
	for(idx = 0; idx < cdata->num_params; ++idx)
	{ release_ref(cdata->params[idx]); }
	if(ct->runafter)
	{
		temp_ct = ct;
		ct = ct->runafter;
		free_context(temp_ct);
		cdata = ct->resume_cdata;
		func = cdata->func;
		DISPATCH
	}
	free_context(ct);
	if(ct = get_cqueue())
	{
		cdata = ct->resume_cdata;
		func = cdata->func;
		DISPATCH
	}
NOTHING_TO_DO:
	return 0;

_exception:
	puts("Exception! Trace follows:");
	while(cdata && cdata->func < END)
	{
		printf("%d\n", cdata->func);
		cdata = cdata->lastframe;
	}
	return -1;
}