Here is the fixed one. There were syntax errors in the original file that i was fixing because I was porting it from cpp.
they had declarations like:
int eval_exp(int &value);
and
cout << a;
which cvi doesnt understand which is ok cause i can fix it.
the part I dont like is the unrecoverable error 001B:001....... some big number.
I think there may have be a funny invisible character? in the first file that copying to the buffer fixed.
or
there is some combination of syntax errors in the first file that causes the crash.
To fix it i copied the file top down through this function:
bool load_program(char *p, char *fname)
then 1 by 1 copy and pasted functions from the bottom up of the bad file, fixing syntax errors as they were pasted in.
Thanks for you attention on this matter