That is, hitting RET in the `write-file' dialogue gives you buffer-file-name, and ignores whatever is in the prompt. This seems contrary to what the doc string says: --- Interactively, prompt for FILENAME. If you specify just a directory name as FILENAME, that means to write to a file in that directory. In this case, the base name of the file is the same as that of the file visited in the buffer, or the buffer name sans leading directories, if any, if the buffer is not already visiting a file. --- So this isn't an ido problem at all -- it's a bug in `write-file'? Or rather... (let ((default-directory "/tmp/")) (read-file-name "Foo: ")) If you just hit RET there, it'll return `buffer-file-name'. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no