Qual é a diferença entre o Aquamacs e outras versões para Mac do Emacs?

99

Usuários de Macintosh têm várias opções de Emacs pré-construídos. Estou ciente das seguintes versões:

Algumas perguntas que eu tinha em mente:

  1. Essas versões diferem de alguma maneira significativa?
  2. Pode-se obter a funcionalidade dos outros simplesmente modificando o arquivo de inicialização?
  3. Essas mudanças retornam à montante?

Estou ciente de que o Aquamacs é considerado "pouco ortodoxo", pois possui teclas muito semelhantes às do Mac, mas também estou interessado em entender as diferenças entre as versões que não são do Aquamacs.

Eric Brown
fonte
Ponto de dados: Eu apenas tentei um monte desses emacsen e me acomodei no garfo de Yamamoto Mitsuharu. Eu uso o Aquamacs há anos, mas ele está travando com frequência (algo a ver com quadros / guias) e não aguentava mais. Parece que os Aquamacs costumavam fazer muitas coisas que ninguém mais fazia, mas esse não é mais o caso. O garfo Yamamoto parece a escolha superior para o Mac no momento.
Scott Fraize
Eu costumo usar Aquamacs, decidi preparar desta vez. Um pequeno detalhe: para obter a tecla #, defina o tipo de entrada australiano!
Dave Hodgkinson

Respostas:

126

Emacs para Mac OS X

O Emacs para Mac OS X fornece binários para OS X do GNU Emacs apropriados. É mais ou menos o mesmo que você compilaria com um tarball de lançamento do GNU Emacs ./configure --with-ns. O site fornece compilações de versões e pré-testes estáveis, bem como instantâneos noturnos. Todas essas construções são independentes, o que permite tentar com segurança pré-testes e instantâneos.

Observe, porém, que esses binários não têm suporte para algumas bibliotecas, principalmente o GNU TLS e o ImageMagick. Se você quiser usá-los - o primeiro é particularmente importante se você quiser ler seus e-mails no Emacs - você precisará obter o GNU Emacs do Homebrew.

Emacs para OS X Modificado

De acordo com o site, o Emacs para OS X Modified é simplesmente uma compilação padrão do GNU Emacs, com base no exposto, com alguns pacotes adicionais e a configuração necessária para ativar todos esses pacotes.

Com a exceção notável do ESS, todos esses pacotes estão disponíveis nos arquivos de pacotes do Emacs para instalação em qualquer Emacs. Por exemplo, você pode instalar o AUCTeX no GNU Emacs de forma adequada, simplesmente digitando M-x package-install RET auctexe ativando-o.

A escolha dos pacotes sugere que ele é voltado principalmente para estatísticos e pesquisas, que trabalhariam com seus dados com R e ESS e publicariam um artigo com Org ou AUCTeX e LaTeX.

Para outros usuários, essa distribuição é provavelmente de pouco valor, pois você precisará instalar pacotes adicionais de qualquer maneira e pode usar o GNU Emacs imediatamente.

Esta é a única distribuição que você pode criar no GNU Emacs apropriadamente instalando pacotes Emacs adicionais e ajustando o seu de init.elacordo. As outras distribuições são variantes corrigidas e bifurcadas do GNU Emacs.

Emacs Mac Port

O Emacs Mac Port é um conjunto de patches adequado para o GNU Emacs, para uma melhor integração do OS X. Observe que o próprio GNU Emacs também possui suporte nativo ao OS X, mas não possui as adições específicas do OS X, fornecidas por este conjunto de patches. Notavelmente:

  • Texto principal para renderização de texto, o que melhora a aparência do texto e o suporte a Unicode. Isso foi incorporado ao GNU Emacs propriamente dito e faz parte do Emacs 24.4.
  • Rolagem suave. O GNU Emacs rola adequadamente em linhas, o que é muito lento e instável com os trackpads. O Emacs Mac Port usa rolagem baseada em pixel como outros aplicativos OS X nativos, que são muito mais suaves e mais precisos. Porém, ela afeta apenas a rolagem do trackpad; portanto, se você não usar o mouse, não precisará dele.
  • Gestos. Você pode beliscar para aumentar / diminuir o tamanho do texto. Novamente, se você não usar o mouse, não notará, e é sem dúvida apenas um recurso sofisticado.
  • Suporte para eventos da Apple. Você pode enviar e receber eventos da Apple no Emacs Lisp.
  • Serviço de dicionário. Tocar com três dedos pesquisará a palavra sob o cursor no aplicativo Dicionário da Apple, como em outros aplicativos OS X.
  • Integração de serviços. Você pode abrir um arquivo selecionado no Finder no menu de contexto do Emacs em execução.
  • Exibição SVG nativa usando Webkit, em vez de librsvg. O Webkit tem melhor suporte a SVG, mas quem vê os SVGs no Emacs?

Você notará que a maioria desses recursos se preocupa apenas com a integração ao OS X e não é essencial para o uso do Emacs. Fora isso, o Emacs Mac Port é praticamente um GNU Emacs padrão.

Alguns de seus recursos retornam ao GNU Emacs, mas outros nunca serão mesclados, uma vez que são exclusivos do OS X e não estão disponíveis na alternativa gratuita GNUStep, que contraria a política da FSF de não oferecer suporte a sistemas operacionais proprietários sobre suas alternativas gratuitas. Além disso, se bem me lembro, o autor deste conjunto de patches mostrou pouco interesse em trazer os recursos de volta, provavelmente pelo motivo anterior.

Aquamacs

O Aquamacs é um fork do GNU Emacs com muitos patches . Ao contrário de tudo isso, não é baseado no GNU Emacs, mas possui uma árvore de fontes independente. No entanto, é regularmente sincronizado com o Emacs upstream e segue de perto os lançamentos do Emacs. Porém, inevitavelmente fica atrás do tronco do GNU Emacs.

É fortemente modificado para parecer com um aplicativo OS X nativo. Notavelmente, ele suporta e incentiva ligações de teclas padrão do OS X, por exemplo, Cmd+Spara salvar. No entanto, as ligações padrão do Emacs ainda estão disponíveis.

Como é um fork, fortemente modificado e com objetivos e princípios completamente diferentes, nenhum de seus recursos será mesclado ao GNU Emacs: A maioria dessas modificações vai diretamente contra o “espírito”, idéias e filosofia do GNU Emacs.

TL; DR (ou: o que devo escolher)

  • Se você é um estatístico ou pesquisador e não deseja configurar o Emacs: Emacs para OS X modificado
  • Se você deseja um aplicativo OS X nativo mais do que tudo: Aquamacs
  • Se você deseja o Emacs, mas com o melhor suporte possível para o OS X: Emacs Mac Port
  • Se você quer apenas o Emacs sem complicações: Emacs para Mac OS X

Meu conselho pessoal

Nunca experimentei o Emacs para OS X Modified ou Aquamacs, mas vejo pouco uso no primeiro (não sou estatístico e posso instalar o AUCTeX sozinho). Eu também recomendaria contra o último: é uma bifurcação e, embora ofereça a melhor integração do OS X, inevitavelmente fica para trás e recebe menos suporte da comunidade do Emacs em geral. Muitos pacotes não suportam o Aquamacs; portanto, se houver problemas, há uma boa chance de você ser deixado sozinho como usuário do Aquamacs.

Tentei o Emacs Mac Port e, embora rolagem suave, gestos e eventos da Apple sejam bons, descobri que esses pequenos benefícios não valem o trabalho de manter uma versão corrigida do GNU Emacs. YMMV, obviamente, e se você se preocupa com um bom suporte ao OS X, e se esses recursos lhe interessam, você definitivamente deve experimentá-lo.

Atualmente, eu uso apenas compilações de instantâneos do GNU Emacs. Eles têm um suporte razoavelmente bom para o OS X e são de longe os mais fáceis de instalar e os mais suportados pela comunidade.

Eu costumava obtê-los do Emacs para Mac OS X, mas agora uso o Homebrew, porque ele suporta mais bibliotecas, principalmente o GNU TLS para conexões de rede criptografadas.

Em suma: Use brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).

lunaryorn
fonte
8
Bem - usar a porta mac também não é tão difícil. De github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacporte entãobrew install emacs-mac
Rainer
3
A "porta Mac" definitivamente não foi o primeiro Emacs com suporte nativo à OSX GUI. Em vez disso, nasceu exatamente na época em que o Emacs mudou do antigo código "Carbon Emacs" para o novo código "Emacs.app" (essa mudança foi feita em parte porque o Carbon estava presumivelmente sendo preterido pela Apple, em parte porque ninguém queria manter esse código e, em parte porque o código "Emacs.app" veio com a possibilidade de oferecer suporte ao GNUstep. Até hoje, o suporte ao GNUstep é basicamente inutilizável (embora seja usado ocasionalmente para rastrear e corrigir erros no código OSX enquanto você usa um sistema GNU / Linux) )).
Stefan
6
Excelente redação. Alguns usuários do OSX podem estar interessados ​​em saber que o Aquamacs possui suporte interno para o verificador ortográfico nativo do OSX, que inclui a lista de palavras salvas que o usuário adicionou anteriormente ao dicionário. Na minha opinião, esse é o único recurso principal do Aquamacs que não pode ser duplicado em outras versões do Emacs sem modificar o código-fonte antes da compilação. No entanto, prefiro usar o mouse e evitar o uso do mouse - portanto, o verificador ortográfico OSX (embora muito bacana) não é um motivo para eu mudar para o Aquamacs.
lawlist
1
Isenção de responsabilidade: uso o Linux e não tenho certeza sobre o OSX, mas escrevo e-mails no Emacs e não preciso de TLS; Eu (ou melhor mu4e) peço o msmtpenvio e mbsynca recuperação de meus e-mails.
mbork 29/10
1
Nit pequeno: compilar a partir da fonte requer ./configure --with-ns, não --enable-ns.
Harald Hanche-Olsen
22

Algumas correções factuais sobre os aquamacs. Embora ele mantenha sua própria árvore de fontes, ele é mesclado muito regularmente com o Emacs, e quase imediatamente com cada versão do Emacs. O Aquamacs 3.1 saiu no dia em que o Emacs 24.4 foi lançado (e incorporou todos os recursos do Emacs 24.4 e um subconjunto de seus bugs). O Aquamacs tem> 10k usuários regulares, é suportado ativamente.

O Emacs Mac Port se originou muito mais tarde que o porto Cocoa e Nextstep no Emacs; é considerado experimental e o autor original desaconselha a redistribuição fora de seu conjunto de patches. Como tal, o suporte será muito mais limitado do que em qualquer outra solução. É uma linha interessante de desenvolvimento, no entanto, que eventualmente fornecerá muito valor à comunidade, se adotada pelos desenvolvedores. Os usuários devem se considerar "testadores beta" e contribuir com o que podem com bons relatórios de bugs e patches.

O valor do Aquamacs está na sua filosofia "pronta para rolar": a integração com LaTeX, EmacsSpeaksStatistics e Mac funciona imediatamente. Nenhuma configuração complexa é necessária.

davidswelt
fonte
O Emacs é lançado apenas com pouca frequência; portanto, se o Aquamacs se mesclar somente após os lançamentos, isso não é frequente. Atualizei minha resposta para remover essa parte. Além disso, enquanto o próprio Aquamacs é mantido e apoiado ativamente, o apoio da comunidade é bastante escasso. Poucos pacotes de terceiros oferecem suporte explícito ao Aquamacs. De fato, muitos pacotes suportam explicitamente apenas o GNU Emacs, e não nenhum garfo ou derivado, incluindo XEmacs ou Aquamacs.
lunaryorn
Você tem uma fonte para o conselho dos autores da porta do Mac para não redistribuir partes fora do conjunto de patches?
Lunardorn 29/10
@ Lunaryorn: Eu acredito que isso era verdade na época, mas não é mais. Na minha edição, removi esse comentário.
precisa saber é o seguinte
11

Eu tentei todas as opções acima (mesmo a torneira recomendada por Reiner em um comentário acima) por nenhuma delas funcionou bem para mim (problemas de rolagem do trackpad, cortinas, etc.). Estou muito feliz, no entanto, com a bifurcação de Yamamoto Mitsuharu, mantida pela página github da ferrovia. Está atualizado com relação à versão oficial do GNU. Basta baixar a .dmgimagem aqui: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

NVaughan
fonte
8
Quando tiver tempo livre, expanda sua resposta e defina as diferenças entre essa compilação específica e a compacta de baunilha. Dessa forma, sua resposta se tornará mais do que apenas um comentário e o leitor não precisará sair dessa resposta e ver páginas como: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
lawlist
0

Eu estava usando a versão Aquamacs até recentemente. A principal razão pela qual eu preferia a versão Auquamacs enquanto a usava no Mac era que eu pude usar o Dragon Dictate com o emacs com as configurações padrão. Quando eu estava configurando minha instalação, tive problemas com o ditado na versão regular do emacs. Fora isso e as combinações de teclas padrão, não havia muita diferença com a qual eu interagia. Minhas configurações seriam carregadas da mesma maneira. Com as combinações de teclas É conveniente que a área de transferência copie, recorte, cole e desfaça usando os cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z apenas por hábito no mac e que eu foi capaz de fazê-lo automaticamente com uma mão no teclado mac, mas você pode configurá-los no emacs regular para o que quiser, auquamacs não são necessários para muitas dessas configurações de mac.

No entanto, a última vez que verifiquei o emacs em Auquamacs não estava atualizado há um ano e parecia estar atrasado. Eu também estava recebendo alguns avisos de certificado expirados. Eu não tinha certeza se ainda estava sendo mantido. Parece que não foi atualizado no site. Consegui instalar a versão regular do Emacs para Mac com homebrew e atualizar meu arquivo init para as configurações do mac que permitiam que o ditado funcionasse.

Mas eu tenho usado o linuxmint recentemente e acho que vou continuar com isso. Meu sistema é muito mais silencioso, rápido e suave com o Linux e é fácil personalizar a aparência da área de trabalho. Houve algumas pequenas alterações que fiz no arquivo init do emacs na versão Linux, mas é praticamente o mesmo. Não consegui encontrar uma boa solução para o ditado no Linux. Não sei se minha máquina pode suportar a execução de outro sistema operacional em uma máquina virtual apenas para o software de ditado. O software de ditado também é um recurso pesado, mas isso é outra questão. Seria bom se o Dragon lançasse uma versão do Dictate no Linux.

Bryan Aneux
fonte