I just got the bright idea of doing: def debug(obj, f = __FILE__, l = __LINE__) print f, ':', l, ':' pp(obj) end But it doesn't work, either. Apparently, the default args are filled in in the method scope. Maybe that is predictable, I was hoping to have the defaults be filled in in my caller's scope, though. And this version loses the ability to print multpile objects. Any other ideas? Quoteing sroberts / uniserve.com, on Sun, Mar 07, 2004 at 04:29:36AM +0900: > I want a version of "pp" that prints the file/line, so I tried this: > > def debug(*objs) > print __FILE__, ':', __LINE__, ':' > pp(*objs) > end > > Obviously, this doesn't work, it always gives the file/line of > debug()... > > > How do I get my callers __LINE__ and __FILE__? > > And yes, I know there are half-dozen debug/log printers on RAA... but > none seem to have the combination I want: > > - to have printed expressions be formatted with PP > - to have the file/line in the output > > or am I wrong? I don't need to reinvent this particular wheel! > > Sam >