Como posso ter makefile / shell script chamada / aplicação de chamadas/application.app? -- terminal camp apple Relacionado O problema

How can i have makefile/shell script call /Applications/application.app?


4
vote

problema

português

OS Mac OS X 10.6.6 Emacs 23.2.1

Atualmente estou tentando instalar o Magit em Emacs de carbono usando sua solução proposta. Eu sou um makefile quase completo Newby, então eu poderia estar no caminho completo completo. MakeFile Exibe:

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

que é expandido para:

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

O que eu entendo. No entanto, volta com:

  Cannot open load file: subst-ksc    

O que depois de um pouco de googling revela algumas bibliotecas perdidas. Eu também percebi que o Emacs referenciados no comando expandido é apontar para /usr/bin/emacs Qual é um arquivo grande, não vejo os diretórios normais de Lisp / site-Lisp / etc. Eu também sei que o meu emacs preferido é emacs de carbono localizado em /Application/Emacs.app que apenas abre ao clicar nele ou alternativamente, posso abri-lo com o terminal:

  open /Application/MyApp.app    

Finalmente a questão do título: Como posso fazer o makefile usando o Emacs.app no ​​diretório de aplicativos? Espero que alguém aqui conhece a resposta, ou possa me apontar para alternativas.

Cumprimentos, Jeroen.

english

OS Mac OS X 10.6.6 emacs 23.2.1

I'm currently trying to install magit on carbon emacs using their proposed make solution. I'm an almost complete makefile newby so I might be on the complete wrong path altogether. Makefile displays:

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

which gets expanded to:

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

What I do understand. However it comes back with:

Cannot open load file: subst-ksc 

What after a bit of googling reveals some missing libraries. I also realized that the emacs referenced in the expanded command is pointing to /usr/bin/emacs which is one big file, I don't see the normal lisp / site-lisp / etc directories. I also know that my prefered emacs is carbon emacs located in /Application/Emacs.app which just opens when clicking on it, or alternatively, I can open it in with the terminal:

open /Application/MyApp.app 

Finally the title question: How can I make Makefile using the Emacs.app on the applications directory? I hope someone here knows the answer, or can point me to alternatives.

regards, Jeroen.

  
   
   

Lista de respostas

5
 
vote
vote
Melhor resposta
 

Para usar o Emacs.App do Shell, você precisa do executável Unix incorporado dentro dele. É no Emacs.App/Contents/macos/emacs (eu não tenho essa versão do Emacs para que a capitalização possa diferir)

Uma alternativa é usar aberta para iniciar qualquer aplicativo a partir do espaço de trabalho usando Abrir.

e.

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

To use the Emacs.app from shell you need the unix executable embedded inside it. It is at Emacs.app/Contents/MacOS/Emacs (I don't have this version of emacs so the capitalisation might differ)

An alternative is to use open to start any app from the workspace using open.

e.g.

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

Estou respondendo a uma pergunta mais velha no caso de alguém acontecer através do Google como eu fiz.

Como Mark apontou, para compilar bytes usando o executável do Emacs.app você precisa substituir emacs ou /usr/bin/emacs no makefile com abcdefghijklmn3 < / código>. Acredito que em arquivos compilados com bytes gerais não são compatíveis em diferentes versões do Emacs, por isso, ao instalar um pacote para uso com o Emacs.App, você deve compilá-lo usando este executável, não com o padrão Instalado em Apple ABCDEFGHIJKLMN4. (que é uma versão 22 Emacs no meu sistema 10.6).

Se você precisar executar o /usr/bin/emacs por algum outro motivo, tome cuidado que EMACSLOADPATH não contenha arquivos pertencentes a um novo emacs. Esta é uma causa potencial de mensagens de erro, como

Cannot open load file: subst-ksc

Invocando Emacs do shell como

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

deve fazer o truque.

Espero que isso ajude outra pessoa!

 

I'm answering an older question in case anyone else happens across it via Google like I did.

As Mark pointed out, to byte-compile a file using the Emacs.app executable you need to replace emacs or /usr/bin/emacs in the Makefile with /Applications/Emacs.app/Contents/MacOS/Emacs. I believe that in general byte-compiled files are not compatible across different versions of Emacs, so when installing a package for use with Emacs.app you should byte-compile it using this executable, not with the default Apple-installed /usr/bin/emacs (which is a version 22 emacs on my 10.6 system).

If you do need to run the /usr/bin/emacs for some other reason, take care that EMACSLOADPATH doesn't contain files belonging to a newer Emacs. This is one potential cause of error messages such as

Cannot open load file: subst-ksc

Invoking emacs from the shell as

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

should do the trick.

Hope this helps someone else!

 
 

Perguntas relacionadas

3  Meu terminal no OSX 10.11.6 não aceita ""  ( My terminal on osx 10 11 6 will not accept character ) 
Toda vez que digito o terminal flashes, mas não o insere. Se eu colar em um comando que tenha um [ , ele vai colar tudo, exceto o [ 's Isso vem acontecen...

404  Tem alguma dica ou truques para o terminal no Mac OS X?  ( Got any tips or tricks for terminal in mac os x ) 
. bloqueado . Esta questão e suas respostas são bloqueado Porque a questão é off-tópico, mas tem significado histórico. Atualmente não está aceit...

8  Ligue de volta ao meu Mac por meio de um script ou linha de comando  ( Turn on back to my mac via a script or command line ) 
O software VPN que eu uso para o trabalho ( IPsecuritas ) Requer que eu desligue de volta ao meu Mac para começar Conexão, então eu freqüentemente desligue de...

22  Copie para a área de transferência de TMUX no El Capitan  ( Copy to clipboard from tmux in el capitan ) 
Estou muito feliz com as alterações do terminal no El Capitan (ver, por exemplo, este pergunta ). No entanto, não consigo descobrir como habilitar a cópia ...

34  Caso-insensível ls classificação no Mac OSX  ( Case insensitive ls sorting in mac osx ) 
Como posso fazer o comando abcdefghijklmnls no max OS X Lion classificar arquivos e diretórios semelhantes a Como o Ubuntu Linux faz (caso-insensível, diret...

4  Você pode por favor explicar como o prompt do terminal funciona?  ( Can you please explain how the terminal prompt works ) 
Eu tenho uma pergunta sobre o prompt no terminal do Mac. Eu abri o terminal e estava instalando o Git. Eu não sei nada sobre o Unix ou como usar o terminal, p...

10  Como posso abrir vários shell de terminais personalizados?  ( How can i open multiple customized terminal shells ) 
Como posso personalizar o terminal para que, quando abro o aplicativo, ele abre várias guias do shell? Se possível, gostaria de ter como executar um script de...

1  Figlet de leão de montanha através de erro de Macports?  ( Mountain lion figlet through macports error ) 
Acabei de instalar o leão da montanha, Xcode 4.4.1 + ferramentas de linha de comando e macportos para ml. Está trabalhando para outros pacotes, mas não cons...

113  Existe um programa de terminal OS X que pode acessar portas seriais?  ( Is there an os x terminal program that can access serial ports ) 
Quais programas podem atuar como um terminal e acessar portas seriais? Isto não é para acesso terminal em uma conexão IP, isto é para que eu possa acessar u...

1  Redefinir configurações do usuário do Mail HeadHeaders no terminal  ( Reset custom mail userheaders settings in terminal ) 
Como redefina o seguinte comando? defaults write com.apple.mail UserHeaders '{"Reply-To" = "reply-to@address"; }' Eu tive que usar esta solução alterna...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.