>But having just tested it with Row Level buffering, UNLOCK and UNLOCK ALL
BOTH Tableupdate the current record.
I didn't know about that, and I don't know whether this behaviour is by design or not.
However, I want to point out that when you use buffering, you will usually not need to use explicit locks as well. VFP takes care of it.
For instance, the usual recommendation is to use optimistic buffering. If you do, the record is locked automatically as soon as you try to save changes with TableUpdate(), and unlocked immediately afterwards.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)