Если вы запускаете emacs в режиме сценария, я бы порекомендовал сбросить переменную "argv" в nil в конце вашего сценария, иначе emacs попытается интерпретировать "argv" после завершения сценария.
Предположим, у вас есть файл с именем «test-emacs-script.el» со следующим содержимым:
#!/usr/bin/emacs --script
(print argv)
(setq argv nil)
Попробуйте запустить этот скрипт как "./test-emacs-script.el -a". Если вы запустите этот скрипт без сброса «argv» (последняя строка в скрипте), то результат будет:
("-a")
Unknown option `-a'
Сброс «argv» избавляет от сообщения об ошибке «unknown option»