aspell com emacs 26.1 no windows ms

9

Depois de atualizar o emacs para a versão 26.1 em uma máquina Windows, recebo a seguinte mensagem de erro do flyspell:

Error enabling Flyspell mode:
(c:/Program Files (x86)/Aspell/bin/aspell.exe release 0.60 or greater is required)

O problema é que, mesmo depois de instalar um binário do Windows aspell 0.6 a partir daqui , ele ainda não funciona porque, aparentemente,

The Aspell 0.60 library is binary compatible with the Aspell 0.50 library. 
For this reason I chose _not_ to increment the major version number (so-name) of the shared library by default [...]

Alguém já teve esse problema? Os usuários do emacs dependem do aspell no windows ou estão usando alternativas como o hunspell?

Negrito
fonte
11
Eu pessoalmente uso hunspell no Windows.
InHarmsWay
Você constrói você mesmo ou existe uma boa fonte de binários recentes do Windows?
B_old
Eu não me
compilei

Respostas:

10

Sim, o hunspell é o verificador ortográfico a ser usado com o emacs 26.1, já que não há janelas binárias do aspell 0.6 por enquanto e ninguém pode prever quando haverá um. Eu tentei hunspell esta manhã com o emacs 26.1 no Windows 10 e ele correu perfeitamente bem. Você encontrará algumas dicas muito úteis sobre como configurar seu arquivo .emacs para hunspell aqui . Tenha um bom dia !

Alain Rousseau
fonte
11
Eu recebo o erro Erro: ispell-check-version: argumento do tipo errado: stringp, nil #
Didier A.
9

Você pode instalar o aspell ou hunspell em https://www.msys2.org/ . O MSYS2 possui binários nativos para aspell disponíveis, compatíveis com o Emacs 26.1. Observe que você também pode instalar o emacs usando o MSYS2.

Após a instalação, MSYS2 MinGW 64-bitdeve estar no seu menu Iniciar. Inicie isso, que abre um terminal, e procure pacotes usando pacman -Ss aspell.

Existem várias opções. Acabei usando os dois pacotes a seguir para instalar o aspell e um dicionário em inglês:

pacman -S mingw64/mingw-w64-x86_64-aspell
pacman -S mingw64/mingw-w64-x86_64-aspell-en

Agora você pode entrar which aspellno mesmo terminal para encontrar sua localização. Ele provavelmente vai estar em C:\msys64\mingw64\bin.

Adicione esse caminho à sua variável de ambiente "Path".

No seu conjunto de configurações do emacs (setq ispell-program-name "aspell").

Se tudo estiver configurado corretamente, você poderá habilitá-lo flyspell-modesem obter um erro como o seguinte no seu buffer de mensagens:

Error enabling Flyspell mode:
(Searching for program No such file or directory aspell)

Todos os itens acima também se aplicam ao hunspell. Hunspell ainda fornece instruções na página do github para criar a partir da fonte usando o MSYS2 no Windows.

willbush
fonte
Esta é uma solução agradável e direta a ser usada aspellsem prejudicar sua configuração atual.
Dean Seo
Um excelente post que mostra uma compreensão real dos problemas - e funciona também!
Devcom 29/03/19
1

Evito instalar o MSYS no Windows 10 porque é possível baixar o Ubuntu da loja da Microsoft e usar o ispell e o emacs dentro do aplicativo Ubuntu (sudo apt-get install ispell). Você ainda tem acesso aos arquivos do Windows no ponto de montagem / mnt / c.

Lothar
fonte
11
Por favor, considere elaborar sua resposta para mostrar como ela responde à pergunta.
Drew
0

Binários Win32 / Win64 para aspell-0.60.6.1 sempre existiram . Você pode obter um autônomo trabalhando totalmente com a versão Emacs do aspell-0.60.6.1 da Cygwin. Basicamente, tudo o que você precisa do Cygwin são os seguintes arquivos:

bin\aspell.exe

bin\cygaspell-15.dll

bin\cyggcc_s-seh-1.dll

bin\cygiconv-2.dll

bin\cygintl-8.dll

bin\cygncursesw-10.dll

bin\cygstdc++-6.dll

bin\cygwin1.dll

lib\aspell-0.60

share\doc\ aspell + aspell-LANG (Optional)

share\info\ files aspell.info.gz and dir

share\man\man1\aspell.1.gz

O meu windows 10 init.elestá configurado da seguinte maneira:

;;; Use Aspell for spell checking

(setq-default ispell-program-name "C:/Emacs/bin/aspell.exe")


;; Custom hotkeys for spell checking in emacs.

(global-unset-key (kbd "M-$"))  ;unbind emacs default key for ispell-word

(global-set-key (kbd "<f7>") 'ispell-word)

(global-set-key (kbd "C-<f7>") 'flyspell-mode)

;;; Specify which dictionary to use at startup (english, ...). Uncomment one of the following lines:

;(setq ispell-dictionary "english")

Eu testei flyspellcom Aspell 0.60 e Emacs 26.1 ontem. Tudo o que posso dizer é que esse recurso é lento e não está funcionando bem. Na minha opinião, não é recomendado, porque existem programas nativos alternativos mais rápidos do Windows. Apesar de ter ajustado a instalação do Emacs no Windows 10 para várias versões, acho que esse programa não é para mim. Para aqueles que usam a fonte LaTeX, o TeXStudio é a solução recomendada no Windows (e até no Linux).

H.Ben
fonte
Você não fornece nenhum link ou recurso para os binários. Parece que você mesmo o compilou para o Windows.
Welgriv 16/04
0

Para concluir as respostas de outras pessoas, instale o hunspell e faça o seguinte:

  1. Faça o download do hunspell win32 aqui , procure hunspell-1.3.2-3-w32-bin.zip (ex: ctrl + F hunspell)
  2. Descompacte-o em um determinado repositório path\to\my\repo(pode ser inteligente C:\Program Files (x86)\hunspell)
  3. Adicione isso ao seu arquivo de inicialização do emacs: (setq-default ispell-program-name "C:/Program Files (x86)/hunspell/bin/hunspell.exe")observe que eles \foram alterados /.

Se você precisar de mais detalhes, especialmente usando outros dicionários, siga estas instruções como mencionado anteriormente, mas cuidado, NÃO há necessidade de adicionar hellspell ao PATH do Windows.

Welgriv
fonte