(with-open-file (output "foo.txt" :direction :output :if-exists :supersede) (print-foo output))
(with-open-file (output "foo.txt" :direction :output :if-exists :supersede) (print-foo output))
If you want to abstract the pattern out even further, then all you are doing is running a function within a certain context and then getting everything back to normal. Using under in J, scoping it out with ruby, or using with-open in Lisp are all examples of the pattern, just different ways of thinking about it.
But Common Lisp is Lisp.
My usual heuristic in using context clues to determine which meaning is meant: if there is no qualifier for a particular family member of Lisp, I assume something is talking about the Lisp family, unless accompanied by a code example, in which case it's probably Common Lisp. When I see someone type "LISP" I usually think "This person doesn't know Lisp", just like how you'll sometimes see people type FORTH or PERL when talking about those languages. But that's not always the case so it's useful to double-check before calling them out, especially if they give code examples. (They may just be old after all. ;) )
FWIW I tend to think of common-lisp when people say lisp in general, the schemers and clojurites tend to self identify better.