The following macro is best, if you actually want to extend/add to the behaviour of a helpfull spell.
1. Normal behaviour: you target something and cast the spell
2. /cast [@mouseover,help] behaviour: you mouseover something and cast the spell, you have to mouseover something to cast the spell
3.
Code:
#showtooltip Holy Light
/cast [target=mouseover, help] Holy Light; [target=target, help] Holy Light; [target=player] Holy Light
This will cast the spell on your target if you do not mouseover something.
It will cast the spell on yourself if you have no target and do not mouseover something.
It will cast the spell on something you mouseover.
All In One solution.