Это в основном работает с официальными двоичными файлами для 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!
Надеюсь, это поможет!