Я пытаюсь настроить функцию dired-find-file
в emacs в Windows XP, чтобы, когда я открываю (скажем) PDF-файл из dired, он запускает копию Acrobat Reader и открывает этот файл с ним, вместо того, чтобы открывать его в emacs. Но я не могу понять, какой вариант на shell-command/call-process
использовать. Вот что у меня есть на данный момент:
(defadvice dired-find-file (around dired-find-file-external (filename &optional wildcards))
"Open non-text files with an appropriate external program."
(if (string= ".pdf" (substring filename (- (length filename) 4))) ; obviously I'll replace this with something more general/robust
(shell-command filename) ;; what should go here?
(ad-do-it)))
(ad-activate 'dired-find-file)
Я знаю, что могу жестко запрограммировать его для запуска Acrobat Reader, указав ему местоположение файла .exe. Но я бы предпочел что-то, что требует от меня меньше поиска и что не сломается при перемещении / изменении приложений по умолчанию. Что мне использовать?