Après avoir mis à jour Emacs 25.1 à 26.1, le mode organisationnel ne fonctionne plus

12

Je suis tout sauf un expert Emacs mais j'utilise Emacs org-modeassez fréquemment. J'ai configuré Emacs pour reconnaître les .orgfichiers. Après avoir mis à jour vers la version 26.1, Emacs ne reconnaît .orgplus seulement les fichiers:

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

mais ne peut même pas changer en org-mode. M-x org-modedonne:

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

Je n'ai pas déplacé mon .emacsfichier ou le .emacs.ddossier.

Une idée?

Martin Petersen
la source
Après avoir déplacé mon fichier .emacs et le dossier .emacs.d vers un autre emplacement, tout fonctionne bien. Je voudrais quand même savoir ce que j'ai fait de mal.
Martin Petersen
Pour info vous n'avez rien fait de mal. Il s'agissait d'un changement cassant / rétro-incompatible dans le mode organisationnel, et je soupçonne que beaucoup de personnes passant à Emacs 26 ont été (et continueront d'être) gênées par cela.
phils
Voici une astuce, sans rapport avec votre problème ici: au lieu de vous éloigner .emacs, commencez simplement par emacs --no-init-file(sur macOS:) à la open -a Emacs --args --no-init-fileplace. ( --no-init-filepeut être raccourci en -q.) Il existe également un indicateur --no-site-filepour arrêter le chargement des fichiers spécifiques au site.
Harald Hanche-Olsen

Réponses:

16

Emacs 26.1 est livré avec une version beaucoup plus récente du mode org que 25.1. ob-sha été renommé ob-shellen mode org 8.2, vous devrez donc ajuster la configuration dans .emacs ob-sh, comme décrit dans la suppression ob-sh :

** Modifications incompatibles

*** ob-sh.elrenommé en ob-shellCela peut nécessiter deux modifications dans la configuration utilisateur.

  1. Dans org-babel-do-load-languages, changez (sh . t)pour (shell . t).

  2. Modifiez les local.mkfichiers pour modifier la valeur de BTEST_OB_LANGUAGESsupprimer "sh" et inclure "shell".

Vous avez besoin plus susceptibles de rechercher votre config pour un appel à org-babel-do-load-languageset le changement shà shellla liste associée des langues.

rpluim
la source
Merci de votre aide. J'ai recherché .emacs et .emacs.d pour la chaîne ob-sh mais je ne l'ai pas trouvée. Quoi qu'il en soit, je restaurerai ma configuration étape par étape.
Martin Petersen
Ce pourrait être «sh» plutôt que «ob-sh». Bisecter votre configuration devrait trouver le problème exact.
rpluim
Peut également emacs --debug-initidentifier la ligne à l'origine des problèmes.
rpluim
2
@MartinPetersen Recherchez dans votre configuration un appel à org-babel-do-load-languagesou définissant la variable org-babel-load-languages. Vous devrez passer shà shelldans la liste des langues associée. Si vous pourriez avoir besoin de soutenir les anciennes et nouvelles variantes, faites - nous savoir, car cela peut également être organisé.
phils
Grâce à vous tous, j'ai pu résoudre le problème. Tout fonctionne maintenant comme prévu. Encore une fois, merci une tonne.
Martin Petersen