I have a mechanism for burning items to disc from a
dired buffer. Unfortunately, the file's I've patched are strewn accross the file system. How can I create a
dired buffer from all open files?
dired command accepts a list of file-names as argument. Just create one and pass to it:
(dired (cons "Open Files" (sort (remove nil (mapcar #'buffer-file-name (buffer-list))) #'string<)))
Just provide a list of strings, to the dired function, example:
(dired '("custom dired" ".emacs.d/init.el" "mydotfiles/.bashrc"))
@Malabarba answer is the best way to go.