How's this strike you: #__func__, #__arglist__, #__file__, #__line__, all filled in at read time -- I think this thing almost has to be a reader macro to work right.