выполнение emacs -batch в MS-DOS - PullRequest
1 голос
/ 19 мая 2010

Кто-нибудь знает, как запустить что-то вроде следующего на машине Windows с командной строкой DOS?

emacs -batch -l functions.el --eval '(run-function "argument")'

Спасибо! * * 1004

1 Ответ

4 голосов
/ 19 мая 2010

Это в основном работает с официальными двоичными файлами для 23.1, но есть некоторые причуды с анализом аргументов командной строки. В отличие от sh или друзей, CMD.EXE мало что делает для синтаксического анализа командной строки, поэтому это остается за приложением в Windows.

Emacs.exe не любит одинарные кавычки:

C:\emacs-23.1\bin>emacs -batch --eval '(message "Foo!")'
End of file during parsing

Неудивительно, что ему также не нравятся кавычки, встроенные в команду:

C:\emacs-23.1\bin>.\emacs -batch --eval "(message "Foo!")"
Symbol's value as variable is void: Foo!

К счастью, экранирование с помощью \ \ работает нормально.

C:\emacs-23.1\bin>.\emacs -batch --eval "(message \"Foo!\")"
Foo!

Надеюсь, это поможет!

...