LaTeX sphack family of commands

I can help at least on the naming: these are 'space hacks' to try to avoid messing up spacing with commands that 'do nothing' in output terms. So you have \@bsphack = 'begin space hack', \@esphack = 'end space hack'. I think \@Esphack is intended only for floats, but on this I'm not certain.


Joseph answered the naming question (I have always liked the idea of an esp hack).

The reason for making \@savsk nonzero is because it moves into horizontal mode (\leavevmode) and \@esphack checks if \@savsk is positive. If it is, then it uses \ignorespaces to gobble space tokens (as the quote says).

I'm not terribly sure I follow what this could be used for though.