Почему команда dired-do-shell-command не может работать с '.' или же '..'?

С помощью emacs на cygwinодна команда оболочки я использую очень часто из dired использование буферов ! связан с dired-do-shell-command является cygstart.eg, чтобы открыть документ Word или проект Visual Studio или что-то еще.

Но удар ! в текущей записи каталога, ., приводит к ошибке Cannot operate on". или же ..',

Я хотел выяснить, прежде чем обойти его и разрешить выполнение команды в текущем и родительском каталогах. Есть ли причина для такого ограничения?

2 ответа

Решение

Это ограничение было снято, так как вопрос был задан.

В текущей стабильной версии Emacs (24.3) вы можете использовать dired-do-shell-command на . а также ..

dired-do-shell-command звонки dired-get-filename,

Если вы посмотрите документ dired-get-filename, то увидите

(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)

В Dired, вернуть имя файла, упомянутого в этой строке.

...

Необязательный arg NO-ERROR-IF-NOT-FILEP означает лечить .' and ..'как обычные имена файлов и возвращает nil, если в этой строке нет имен файлов. В противном случае в этих случаях возникает ошибка.

dired-get-filename называется без NO-ERROR-IF-NOT-FILEP аргумент

Другие вопросы по тегам