I prefer the current code, because the responsability of each function is better designed. In the current code selsnap does all the work related to SNAP_LINE and SNAP_WORD, but in your commit, a part is done in selnormalize and other part in selsnap.
Regards,