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

Os 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 forma significativa?
  2. É possível obter a funcionalidade das outras simplesmente modificando o arquivo de inicialização?
  3. Essas alterações retornam ao upstream?

Estou ciente de que Aquamacs é considerado “não ortodoxo”, pois tem atalhos de teclado muito semelhantes aos do Mac, mas também estou interessado em entender as diferenças entre as versões não Aquamacs.

Comentários

  • Ponto de dados: acabei de experimentar vários desses emacsen e me decidi pela bifurcação de Yamamoto Mitsuharu ‘. Eu ‘ uso Aquamacs há anos, mas ‘ travava com frequência (algo a ver com frames / guias) e não ‘ não agüento mais. Parece que o Aquamacs costumava fazer muitas coisas que ninguém mais fazia, mas ‘ não é mais o caso. O garfo Yamamoto parece a escolha superior para Mac agora.
  • Eu costumo usar Aquamacs, decidi preparar desta vez. Um detalhe menor: para obter a tecla #, defina o tipo de entrada australiano!

Resposta

Emacs para Mac OS X

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

Porém, observe que esses binários não têm suporte para algumas bibliotecas, notavelmente GNU TLS e ImageMagick. Se você gostaria de usar estes — o primeiro é particularmente importante se você gostaria de ler seu e-mail no Emacs — você precisa obter o GNU Emacs do Homebrew.

Emacs para OS X Modificado

De acordo com o site Emacs para OS X Modificado é simplesmente uma construção padrão do GNU Emacs, com base no acima, com alguns pacotes adicionais, e configuração necessária para habilitar todos esses pacotes.

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

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

Para outros usuários, esta distribuição é provavelmente de pouco valor, uma vez que você “precisaria instalar um pa adicional ckages de qualquer maneira, e pode muito bem usar GNU Emacs imediatamente.

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

Emacs Mac Port

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

  • Core Text para renderização de texto, que melhora a aparência do texto e o suporte Unicode. Isso foi incorporado ao GNU Emacs propriamente dito e faz parte do Emacs 24.4.
  • Rolagem suave. GNU Emacs propriamente dito rola em linha, que é muito lag e saltitante com trackpads. O Emacs Mac Port usa rolagem baseada em pixels como outros aplicativos nativos do OS X, que parece muito mais suave e é muito mais preciso. No entanto, isso afeta apenas a rolagem do trackpad, portanto, se você não usar o mouse, não precisará dele.
  • Gestos. Você pode apertar para aumentar / diminuir o tamanho do texto. Novamente, se você não usar o mouse, não notará e é indiscutivelmente apenas um recurso sofisticado.
  • Suporte para eventos da Apple. Você pode enviar e receber eventos da Apple do 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 a partir do menu de contexto no Emacs em execução.
  • Exibição SVG nativa usando Webkit, em vez de librsvg. Pelo que sei, o Webkit tem um suporte SVG melhor, mas quem vê os SVGs no Emacs?

Você notará que a maioria desses recursos estão meramente preocupados com a integração no OS X e não são essenciais para o uso do Emacs. Fora isso, o Emacs Mac Port é muito parecido com um padrão GNU Emacs.

Alguns de seus recursos retornam ao GNU Emacs, mas outros nunca serão combinados, pois são exclusivos do OS X e não estão disponíveis na alternativa gratuita GNUStep, que vai contra o política da FSF de não suportar sistemas operacionais proprietários em vez de suas alternativas gratuitas. Além disso, se bem me lembro, o autor deste patchset mostrou pouco interesse em trazer os recursos de volta ao upstream, provavelmente pelo primeiro motivo.

Aquamacs

Aquamacs é uma bifurcação fortemente corrigida do GNU Emacs. Ao contrário de todos os anteriores, “não é baseado no GNU Emacs, mas possui uma árvore de fontes independente. Ele “é regularmente sincronizado com o Emacs upstream, no entanto, e segue de perto os lançamentos do Emacs. Ele inevitavelmente fica atrás do tronco GNU Emacs, no entanto.

Ele é fortemente modificado para se parecer com um aplicativo OS X nativo. ele suporta e incentiva os atalhos de teclado padrão do OS X, por exemplo, Cmd + S para salvar. No entanto, os vínculos padrão do Emacs ainda estão disponíveis.

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

TL; DR (ou: O que deveria Eu escolho)

  • Se você for um estatístico ou pesquisador e não quiser configurar o Emacs por conta própria: Emacs para OS X modificado
  • Se você quiser um aplicativo OS X nativo mais do que tudo: Aquamacs
  • Se você quiser Emacs, mas com as g ood OS X suporta como pode ser: Emacs Mac Port
  • Se você quer apenas Emacs sem complicações : Emacs para Mac OS X

Meu conselho pessoal

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

Eu tentei o Emacs Mac Port, e enquanto rola suavemente, gestos e os eventos da Apple são legais, descobri que esses pequenos benefícios não compensam o incômodo 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 são atraentes para você, você definitivamente deveria experimentá-los.

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

Eu costumava obtê-los do Emacs para Mac OS X, mas agora uso o Homebrew, porque ele suporta mais bibliotecas, notavelmente 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 :).

Comentários

  • Bem – usar a porta mac também não é tão difícil. De github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacport e, em seguida, brew install emacs-mac
  • A ” porta Mac ” definitivamente não foi o primeiro Emacs com suporte nativo OSX GUI . Em vez disso, nasceu bem na época em que o Emacs mudou do antigo código ” Carbon Emacs ” para o código ” Emacs.app ” código (essa mudança foi feita em parte porque o Carbon estava supostamente sendo preterido pela Apple, em parte porque ninguém queria manter esse código e em parte porque ” Emacs.app ” código veio com a possibilidade de suportar GNUstep. Até hoje, o suporte GNUstep é basicamente inutilizável (embora ‘ s ocasionalmente usado para rastrear e corrigir bugs no código OSX ao usar um sistema GNU / Linux)).
  • Excelente redação. Alguns usuários do OSX podem estar interessados em saber que o Aquamacs possui suporte integrado para o verificador ortográfico nativo do OSX, que inclui a lista de palavras salvas que o usuário adicionou anteriormente ao dicionário. Em minha mente, esse é um recurso chave do Aquamacs que não pode ser duplicado em outras versões do Emacs sem modificar o código-fonte antes de construir. No entanto, eu prefiro aspell e evite usar o mouse – então o verificador ortográfico OSX (embora muito bacana) não é uma razão para eu mudar para o Aquamacs.
  • Aviso de isenção de responsabilidade: eu uso Linux e ‘ não tenho certeza sobre o OSX, mas escrevo e-mail em Emacs e não preciso de TLS; Eu (ou melhor, mu4e) ligo msmtp para enviar e mbsync para recuperar meus e-mails .
  • Nit pequeno: a compilação da fonte requer ./configure --with-ns, não --enable-ns.

Resposta

Algumas correções factuais sobre Aquamacs. Embora mantenha sua própria árvore de código-fonte, ele é regularmente mesclado com o Emacs, e muito imediatamente a cada lançamento do Emacs. O Aquamacs 3.1 foi lançado 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). Aquamacs tem mais de 10 mil usuários regulares, é ativamente suportado.

O Emacs Mac Port se originou muito mais tarde que o 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 para qualquer uma das outras soluções. É uma linha de desenvolvimento interessante, no entanto, que acabará por agregar muito valor à comunidade se for adotada pelos desenvolvedores. Os usuários devem se considerar “testadores beta”, no entanto, e contribuir com o que podem com bons relatórios de bugs e patches.

O valor do Aquamacs está em sua filosofia “pronto para rolar”: LaTeX, EmacsSpeaksStatistics e A integração com o Mac funciona fora da caixa. Nenhuma configuração complexa necessária.

Comentários

  • O Emacs é lançado raramente, portanto, se o Aquamacs se unir apenas após os lançamentos, isso é infrequente. Eu atualizei minha resposta para remover essa parte, no entanto. 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. Na verdade, muitos pacotes suportam explicitamente apenas GNU Emacs, e não quaisquer forks ou derivados, incluindo XEmacs ou Aquamacs.
  • Você tem uma fonte para aconselhar os autores de port do Mac para não redistribuir partes fora de seus conjunto de patch?
  • @lunaryorn: Eu acredito que isso era verdade na época, mas não é mais assim. Na minha edição, removi esse comentário.

Resposta

Eu tentei todas as opções acima (até o toque recomendado por Reiner em um comentário acima) por nenhum funcionou bem para mim (problemas de rolagem do trackpad, travamentos, etc.). Estou muito feliz, porém, com a bifurcação de Yamamoto Mitsuharu, mantida pela página do github da ferrovia. Está atualizado em relação à versão oficial do GNU. Basta fazer download da .dmg imagem aqui: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

Comentários

  • Quando você tiver algum tempo livre, expanda sua resposta e estabeleça as diferenças entre esta construção em particular e a versão vanilla. Dessa forma, sua resposta se torna mais do que apenas um comentário e o leitor não seria obrigado a deixar esta resposta e visualizar páginas como: github.com/ railwaycat / emacs-mac-port / blob / master / README-mac

Resposta

Eu estava usando a versão Aquamacs até recentemente. A principal razão pela qual eu estava preferindo a versão Auquamacs enquanto a usava no Mac era que eu era capaz de usar o Dragon Dictate com emacs com as configurações padrão. Quando estava configurando minha configuração, tive problemas com o ditado na versão regular do emacs. Fora isso e os atalhos de teclado padrão, não havia muita diferença com que eu interagisse. Minhas configurações seriam carregadas da mesma maneira. Com os atalhos de teclado, é útil copiar, cortar, colar e desfazer a área de transferência usando cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z apenas por hábito no mac e que eu foi capaz de fazer isso automaticamente com uma mão no teclado do mac, mas você pode configurá-los no emacs regular para o que quiser, auquamacs não é necessário para muitas dessas configurações do mac.

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

Mas tenho usado o linuxmint recentemente e acho que vou ficar com ele. Meu sistema é muito mais silencioso, rápido e suave com o Linux e é fácil personalizar a aparência da área de trabalho. Fiz algumas pequenas alterações no arquivo init do emacs na versão do Linux, mas é praticamente o mesmo. No entanto, não consegui encontrar uma boa solução para o ditado no Linux.Eu não sei se minha máquina pode lidar com a execução de outro sistema operacional em uma máquina virtual apenas para o software de ditado. O software de ditado também consome recursos, mas esse é outro problema. Seria bom se o Dragon lançasse uma versão do Dite no Linux.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *