>Superficially it looks like the clauses are processed sequentially left to right, but internally it might not be. Maybe it uses some sort of internal stack, or nests subject to the DO nesting limit. With that in mind I tested by starting VFP9 with STACKSIZE=256 in CONFIG.FPW but the error still occurs.
>
>Yes, it is a mystery. The problem was there back in 16-bit FPW, when the product was still in active development, and there wasn't an obvious workaround like UPDATE - SQL. Why was it not fixed then? Maybe no-one noticed it.
>
>Or maybe it was only noticed later, when UPDATE - SQL was available and dev budgets were tight so it wasn't considered worth fixing.
Not just replace/update, I think it's more about the space for the names. I've had a case of a table with about 220 fields with rather long names, and the create table command for it would be too long to compile. I actually had to generate a different type of routine, building an array and assignment commands for each element with a non-default value, then create from array. The code was much longer, but didn't have that one long command which wouldn't compile.