>>The concept of deletion not physically removing a record from the table until a PACK occurs is a carryover from the original xBASE language and table construct; removing it would alter backwards compatibility, and would render the RECALL statement useless.
>
>Yes thats true enough. Maybe they should have had a new type of deleted flag and call it destroy. Then records marked for deletion could be recalled but records marked as having been destroyed could never be recalled.
>
Again, altering this behavior would require a change in the structure of data within the table, making for even greater incompatibility for applications that rely on the DBF file format, and raising questions as to how to force other systems that are capable of reading xBASE compatible files to treat the new behavior. It's an issue that extends beyond VFP to the realm of all apps that are 'comaptible' with xBASE tables - there's already confusion resulting from differences between the generic dBASE ODBC drivers, the FoxPro driver and the Visual FoxPro driver.