Tengo un mecanismo para grabar elementos en un disco desde un dired
búfer. Desafortunadamente, los archivos que he parchado están esparcidos por todo el sistema de archivos. ¿Cómo puedo crear un dired
búfer a partir de todos los archivos abiertos?
9
(sort (remove nil (mapcar #'buffer-file-name (buffer-list))) #'string<)
buffer-list
existe (que sí sabía) y quebuffer-file-name
vuelvenil
cuando no hay ningún archivo (que no sabía). Su duplicado propuesto no contiene esta información ni tiene ninguna necesidad de hacerlo.Respuestas:
El
dired
comando acepta una lista de nombres de archivo como argumento. Simplemente cree uno y páselo:fuente
(dired (cons "*Open Files*" (sort (remove nil (mapcar #'buffer-file-name (buffer-list))) #'string<)))
Solo proporcione una lista de cadenas, a la función dired, por ejemplo:
EDITAR
La respuesta de @Malabarba es la mejor manera de hacerlo.
fuente