> Oh, right. So the docstring should be fixed to make it clear that the > argument should be an *absolute* file name.
Uh? convert-standard-filename works right with non-absolute paths: (convert-standard-filename "file/test:.dat") => "file\\test!.dat" It just handles an initial "X:" differently (on Windows): (convert-standard-filename "c:file/test:.dat") => "c:file\\test!.dat" I see nothing wrong with convert-standard-filename or its docstring. AFAICS, the problem is that convert-standard-filename is intended to transform a filename into another filename, suitable for the current filesystem. But what you're trying in the code you proposed is using convert-standard-filename to build the *name* part of a filename. There's nothing anywhere that guarantees that a filename (with path etc) is a valid name for a file. In MS-DOS/Windows you've got the ":", in VMS the brackets, etc. When you concatenate thumbs-thumbsdir with the output of convert-standard-filename, the result can perfectly be a non-valid filename. So you'll have to use convert-standard-filename, and then filter its output to remove potentially dangerous characters, or, as I did in my example, use convert-standard-filename as the last pass: (convert-standard-filename (concat thumbs-thumbsdir "/" (subst-char-in-string [etc...]) I don't think the trouble is worth the tiny benefit that the filename of the cached thumbnail is user-friendly on debugging. If someone has to debug it he can modify thumbs-thumbname easily enough. -- /L/e/k/t/u _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel