In the original pascal pointers/refs came only out of new (AFAIR), you couldn't point into structures or to local variables. That makes this trick impossible.
'Modern' 'pascals' were different.
'Modern' 'pascals' were different.
So not identical but still simpler than the tasteless version.
I thought that this was such a fundamental idea that it should be on Rosetta Code but the page for it at http://rosettacode.org/wiki/Singly-linked_list/Element_remov... is empty.
Perhaps we should all rush over there and fill it in. :-)
Edit: See entry on RC at http://rosettacode.org/wiki/Singly-linked_list/Element_remov...