Después de actualizar Emacs 25.1 a 26.1 org-mode ya no funciona

12

Soy todo menos un experto en Emacs, pero uso Emacs con org-modebastante frecuencia. Configuré Emacs para reconocer .orgarchivos. Después de actualizar a la versión 26.1, Emacs ya no solo reconoce .orgarchivos:

File mode specification error: (file missing Cannot open load file No such file or directory ob-sh)

pero ni siquiera puede cambiar a org-mode. M-x org-modeda:

Cannot open load file No such file or directory ob-sh

No moví mi .emacsarchivo o la .emacs.dcarpeta.

¿Alguna idea?

Martin Petersen
fuente
Después de mover mi archivo .emacs y la carpeta .emacs.d a otra ubicación, todo funciona bien. Aún así me gustaría saber qué hice mal.
Martin Petersen
FYI, no hiciste nada malo. Este fue un cambio de ruptura / incompatibilidad con versiones anteriores en el modo org, y sospecho que muchas personas que actualizaron a Emacs 26 han sido (y continuarán siendo) tropezadas por él.
phils
Aquí hay un consejo, no relacionado con su problema aquí: en lugar de .emacssalir del camino, simplemente comience con emacs --no-init-file(en macOS:) en su open -a Emacs --args --no-init-filelugar. ( --no-init-filese puede acortar a -q). También hay un indicador --no-site-filepara detener la carga de archivos específicos del sitio.
Harald Hanche-Olsen

Respuestas:

16

Emacs 26.1 viene con una versión mucho más reciente de org-mode que 25.1. ob-shse renombró a ob-shellen el modo org 8.2, por lo que deberá ajustar la configuración a la que se refiera .emacs ob-sh, como se describe en la eliminación de ob-sh :

** Cambios incompatibles

*** ob-sh.elrenombrado a ob-shellEsto puede requerir dos cambios en la configuración del usuario.

  1. En org-babel-do-load-languages, cambiar (sh . t)a (shell . t).

  2. Edite local.mkarchivos para cambiar el valor de BTEST_OB_LANGUAGESeliminar "sh" e incluya "shell".

Lo más probable es que necesite buscar en su configuración una llamada org-babel-do-load-languagesy cambiar sha shellla lista asociada de idiomas.

rpluim
fuente
Gracias por tu ayuda. Busqué .emacs y .emacs.d por la cadena ob-sh pero no pude encontrarla. De todos modos, restauraré mi configuración paso a paso.
Martin Petersen
Podría ser 'sh' en lugar de 'ob-sh'. Biseccionar su configuración debería encontrar el problema exacto.
rpluim
También emacs --debug-initpodría señalar la línea que está causando problemas.
rpluim
2
@ MartininPetersen Busque en su configuración una llamada org-babel-do-load-languageso ajuste la variable org-babel-load-languages. Deberá cambiar sha shellen la lista de idiomas asociada. Si puede que tenga que soportar tanto las viejas y nuevas variantes, háganoslo saber, ya que también se puede arreglar.
phils
Gracias a todos ustedes pude resolver el problema. Todo funciona ahora según lo previsto. De nuevo, muchas gracias.
Martin Petersen