aspell con emacs 26.1 en ms windows

9

Después de actualizar emacs a la versión 26.1 en una máquina con Windows, recibo el siguiente mensaje de error de flyspell:

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

El problema es que, incluso después de instalar un binario de Windows de Aspell 0.6 desde aquí , todavía no 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 [...]

¿Alguien más ha tenido este problema ya? ¿Los usuarios de emacs confían en aspell en windows, o más bien usan alternativas como hunspell?

Negrita
fuente
1
Yo personalmente uso hunspell en windows.
InHarmsWay
¿Lo construyes tú mismo o hay una buena fuente de binarios recientes de Windows?
B_old
No me
compilé

Respuestas:

10

Sí, hunspell es EL corrector ortográfico que se usará con emacs 26.1, ya que no hay ventanas binarias de aspell 0.6 por el momento, y nadie puede predecir cuándo habrá una. Intenté hunspell esta mañana con emacs 26.1 en Windows 10 y funcionó perfectamente bien. Aquí encontrará algunos consejos muy útiles sobre cómo configurar su archivo .emacs para hunspell . Que tengas un buen día !

Alain Rousseau
fuente
1
Me sale el error Error: ispell-check-version: Argumento de tipo incorrecto: stringp, nil
Didier A.
9

Puede instalar aspell o hunspell con https://www.msys2.org/ . MSYS2 tiene binarios nativos para aspell disponibles que son compatibles con Emacs 26.1. Tenga en cuenta que también puede instalar emacs usando MSYS2 también.

Después de la instalación, MSYS2 MinGW 64-bitdebe estar en su menú de inicio. Inicie eso, que abre una terminal, y busque paquetes usando pacman -Ss aspell.

Hay varias opciones Terminé usando los siguientes dos paquetes para instalar aspell y un diccionario de inglés:

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

Ahora puede ingresar which aspellen la misma terminal para encontrar su ubicación. Probablemente estará adentro C:\msys64\mingw64\bin.

Agregue esa ruta a su variable de entorno "Ruta".

En su conjunto de configuración de emacs (setq ispell-program-name "aspell").

Si todo está configurado correctamente, debería poder habilitarlo flyspell-modesin recibir un error como el siguiente en el búfer de mensajes:

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

Todo lo anterior también se aplica a hunspell. Hunspell incluso proporciona instrucciones en su página de github para construir desde la fuente usando MSYS2 en Windows.

Willbush
fuente
Esta es una solución agradable y directa para usar aspellsin dañar su configuración actual.
Dean Seo
Una excelente publicación que muestra una comprensión real de los problemas, ¡y también funciona!
devcom
1

Evito instalar MSYS en Windows 10 porque uno puede descargar Ubuntu de la tienda de MS y usar ispell y emacs dentro de la aplicación Ubuntu (sudo apt-get install ispell). Aún tiene acceso a los archivos de Windows en el punto de montaje / mnt / c.

Lothar
fuente
1
Por favor considere elaborar su respuesta para señalar cómo responde la pregunta.
Dibujó
0

Los binarios Win32 / Win64 para aspell-0.60.6.1 siempre han existido . Puede obtener una versión independiente que funcione completamente con la versión Emacs de aspell-0.60.6.1 de Cygwin. Básicamente, todo lo que necesita de Cygwin son los siguientes archivos:

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

Mi Windows 10, init.elestá configurado de la siguiente manera:

;;; 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")

flyspellAyer probé con Aspell 0.60 y Emacs 26.1. Todo lo que puedo decir es que la función es lenta y no funciona bien. En mi opinión, no se recomienda porque hay programas alternativos más rápidos para Windows. A pesar de haber ajustado la instalación de Emacs en Windows 10 para varias versiones, creo que este programa no es para mí. Para aquellos que usan la fuente LaTeX, TeXStudio es la solución recomendada en Windows (e incluso en Linux).

H.Ben
fuente
Usted no proporciona ningún vínculo o recursos a los binarios. Parece que lo compiló usted mismo para Windows.
Welgriv
0

Para completar otras respuestas, instale hunspell en su lugar de esta manera:

  1. Descargue la binairy hunspell win32 aquí , busque hunspell-1.3.2-3-w32-bin.zip (ej: ctrl + F hunspell)
  2. Descomprímalo dentro de un repositorio dado path\to\my\repo(uno inteligente puede ser C:\Program Files (x86)\hunspell)
  3. Agregue esto a su archivo de inicio de emacs: (setq-default ispell-program-name "C:/Program Files (x86)/hunspell/bin/hunspell.exe")tenga en cuenta que \han cambiado /.

Si necesita más detalles, especialmente usando otros diccionarios, siga estas instrucciones como se mencionó anteriormente, pero tenga cuidado de que NO sea necesario agregar hunspell a su RUTA de Windows.

Welgriv
fuente