Mac OS X: Как получить ссылку на make-файл / Приложения / Приложение
ОС Mac OS X 10.6.6 emacs 23.2.1
В настоящее время я пытаюсь установить magit на углеродные Emacs, используя предложенное решение make. Я почти полный новичок в makefile, так что я могу быть на совершенно неверном пути. Makefile отображает:
%.elc: %.el
$(BATCH) --eval '(byte-compile-file "$<")'
который расширяется до:
emacs -batch -q -no-site-file -eval "(setq load-path (cons (expand-file-name \".\") load-path))" --eval '(byte-compile-file "magit.el")'
Что я понимаю Однако это возвращается с:
Cannot open load file: subst-ksc
Что после небольшого поиска в Google обнаруживает некоторые недостающие библиотеки. Я также понял, что emacs, на который ссылается расширенная команда, указывает на /usr/bin/emacs, который является одним большим файлом, я не вижу нормальных каталогов lisp / site-lisp / etc. Я также знаю, что мой предпочтительный emacs - это карбоновый emacs, расположенный в /Application/Emacs.app, который просто открывается при нажатии на него, или, альтернативно, я могу открыть его с помощью терминала:
open /Application/MyApp.app
Наконец, заглавный вопрос: Как я могу создать Makefile, используя Emacs.app в каталоге приложений? Я надеюсь, что кто-то здесь знает ответ, или может указать мне на альтернативы.
С уважением, Йерун.
3 ответа
bash-3.2$ EMACSLOADPATH=/usr/share/emacs/22.1/site-lisp:/usr/share/emacs/22.1/lisp emacs - batch -eval '(print "hi")'
"hi"
bash-3.2$ emacs -batch -eval '(print "hi")'
Cannot open load file: subst-ksc
bash-3.2$
bash-3.2$ emacs -batch -eval '(print emacs-version)'
Cannot open load file: subst-ksc
bash-3.2$ unset EMACSLOADPATH
bash-3.2$ emacs -batch -eval '(print emacs-version)'
"22.1.1"
У меня была такая же ошибка Cannot open load file: subst-ksc
на OS X Maverick работает
cask exec emacs --no-site-file --no-site-lisp --batch \
\
-f batch-byte-compile projectile.el
Я решил это с помощью метода, приведенного здесь.
Заменить /usr/bin/emacs
файл следующим скриптом:
#!/bin/sh
/Applications/Emacs.app/Contents/MacOS/Emacs "$@"
Таким образом, emacs
Команда запустит ваш фактический Emacs.