4 votos

¿Cómo puedo tener makefile/shell script llamar /Applications/application.app?

OS Mac OS X 10.6.6 emacs 23.2.1

Actualmente estoy tratando de instalar magit en carbono emacs mediante su propuesta de hacer una solución. Estoy casi completa makefile newby así que yo podría estar en el camino equivocado por completo. Makefile muestra:

%.elc: %.el
$(BATCH) --eval '(byte-compile-file "$<")'

que obtiene ampliado a:

emacs -batch -q -no-site-file -eval "(setq load-path (cons (expand-file-name \".\") load-path))" --eval '(byte-compile-file "magit.el")'

Lo que yo no entiendo. Sin embargo se trata de volver con:

Cannot open load file: subst-ksc

Lo que después de un poco de búsqueda en google revela que faltaban algunas bibliotecas. También me di cuenta de que el emacs que se hace referencia en el comando expandido apunta /usr/bin/emacs que es un archivo grande, no veo normal lisp / site-lisp / etc directorios. También sé que mi preferido emacs es de carbono emacs encuentra en /Application/Emacs.app que sólo se abre cuando se hace clic en él, o, alternativamente, lo puedo abrir con el terminal:

open /Application/MyApp.app

Finalmente, la pregunta del título: ¿Cómo puedo hacer Make uso de Emacs.aplicación en el directorio de aplicaciones? Espero que alguien de aquí sabe la respuesta, o puede que me señale las alternativas.

saludos, Jeroen.

5voto

yoliho Puntos 340

Para usar el Emacs.app de shell necesita el ejecutable unix incrustado en su interior. Es en Emacs.app/Contents/MacOS/Emacs (no tengo esta versión de emacs para que la capitalización puede diferir)

Una alternativa es usar abierta para iniciar cualquier aplicación del espacio de trabajo utilizando abierto.

por ejemplo

open -a Emacs.app --args <all those passed to emacs>

3voto

DGnome Puntos 38

Estoy respondiendo a una vieja pregunta en caso de que cualquier persona que pasa a través de ella a través de Google, como yo lo hice.

Como Marca señalado, a byte-compilar un archivo con el Emacs.aplicación ejecutable que usted necesita para reemplazar emacs o /usr/bin/emacs en el Makefile con la /Applications/Emacs.app/Contents/MacOS/Emacs. Creo que, en general, compilado bytes de los archivos no son compatibles entre las diferentes versiones de Emacs, por lo que cuando se instala un paquete para su uso con Emacs.la aplicación debe byte-compilar usando este ejecutable, no con el valor predeterminado de Apple instalado /usr/bin/emacs (que es una versión 22 de emacs en mi sistema 10.6).

Si usted necesita para ejecutar el /usr/bin/emacs por algún otro motivo, tenga cuidado de que EMACSLOADPATH no contiene los archivos que pertenecen a una versión de Emacs. Esta es una causa potencial de mensajes de error como

Cannot open load file: subst-ksc

La invocación de emacs desde el shell como

EMACSLOADPATH=/usr/share/emacs/22.1/leim:/usr/share/emacs/22.1/lisp:/usr/share/emacs/22.1/site-lisp emacs

debe hacer el truco.

Espero que esto ayude a alguien más!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X