2012/4/22 Hans Hübner hans.huebner@gmail.com:
neither iolib nor osicat are the right place for temporary file handling operators like the one I proposed. Both these libraries are specifically targeted towards POSIX systems, so there is no chance that they will cooperate, say, with ABCL.
iolib certainly *intends* to be more portable than that, but admittedly isn't quite there yet.
Setting the process umask is something that is completely unrelated to portably creating temporary files.
The umask, atomicity and a proper directory are all important security concerns. An implementation that doesn't make sure these issues are handled should make sure to tag itself as "not for use where security matters" AND to encourage all its clients to taint themselves as such, too.
Failure of my implementation to properly address security concerns (for the same reason as yours) is one reason I haven't pushed my own with-temporary-file for semi-standardization in the past. I still believe its API is better than the one you propose (though I can imagine further improvements for creation modes, early deletion, etc.).
If this is not going into Alexandria, there are two likely other outcomes: Either the code goes into Postmodern, giving the next person the same problem (and I've not had this problem once, but many times), or it will end up in a trivial-temporary-file library that may include some conditional code for setting up the default temporary directory in a meaningful way. With Quicklisp, this would not hurt much, but it certainly feels a little silly to additional trivial-whatever libraries for basic functionality.
Please go the trivial-temporary-file way. It is not silly at all.
Your remarks regarding how this request represents a "poor way to promote Lisp as a serious language" are unwelcome, unconstructive and wrong. Thank you for not continuing on that path.
Reinventing an octogonal wheel then trying to semi-standardize it is poor taste. Please either use existing round wheels, or make it round if you make a new one. Please no 90% solutions that come bite you later; or at the very least, document it as a 90% solution and discourage its use in code that aims at providing 100% abstractions.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Truth comes as conqueror only to those who have lost the art of receiving it as friend. — Tagore