Dopo aver aggiornato Emacs da 25.1 a 26.1 la modalità org non funziona più


12

Sono tutt'altro che un esperto di Emacs ma uso Emacs org-modeabbastanza frequentemente. Ho configurato Emacs per riconoscere i .orgfile. Dopo aver aggiornato alla versione 26.1 Emacs non riconosce .orgpiù solo i file:

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

ma non può nemmeno cambiare in org-mode. M-x org-modedà:

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

Non ho spostato il mio .emacsfile o la .emacs.dcartella.

Qualche idea?


Dopo aver spostato il mio file .emacs e la cartella .emacs.d in un'altra posizione, tutto funziona correttamente. Vorrei ancora sapere cosa ho fatto di sbagliato.
Martin Petersen,

Cordiali saluti, non hai fatto niente di male. Si è trattato di una modifica incompatibile all'indietro / incompatibile con la modalità org, e sospetto che molte persone che hanno eseguito l'upgrade a Emacs 26 siano state (e continueranno ad esserlo) inciampate da esso.
phils,

Ecco un suggerimento, non correlato al tuo problema qui: invece di spostarti .emacsdi mezzo, basta avviare emacs --no-init-file(su macOS:) open -a Emacs --args --no-init-fileinvece. ( --no-init-filepuò essere abbreviato in -q.) C'è anche un flag --no-site-fileper interrompere il caricamento di file specifici del sito.
Harald Hanche-Olsen,

Risposte:


16

Emacs 26.1 viene fornito con una versione molto più recente di org-mode rispetto alla 25.1. ob-shè stato rinominato ob-shellin modalità org 8.2, quindi dovrai adattare la configurazione a cui si riferisce .emacs ob-sh, come descritto nella rimozione ob-sh :

** Modifiche incompatibili

*** ob-sh.elrinominato in ob-shellQuesto può richiedere due cambiamenti nella configurazione dell'utente.

  1. In org-babel-do-load-languages, cambia (sh . t)in (shell . t).

  2. Modifica i local.mkfile per cambiare il valore di BTEST_OB_LANGUAGESrimuovere "sh" e includere "shell".

Molto probabilmente dovrai cercare una configurazione nella tua configurazione org-babel-do-load-languagese passare sha shellnell'elenco delle lingue associate.


Grazie per l'aiuto. Ho cercato .emacs e .emacs.d per la stringa ob-sh ma non sono riuscito a trovarla. Ad ogni modo, ripristinerò la mia configurazione passo dopo passo.
Martin Petersen,

Potrebbe essere "sh" anziché "ob-sh". Bisecare la tua configurazione dovrebbe trovare il problema esatto.
rpluim

Inoltre emacs --debug-initpotrebbe individuare la linea che sta causando problemi.
rpluim

2
@MartinPetersen Cerca nella tua configurazione una chiamata org-babel-do-load-languageso l'impostazione della variabile org-babel-load-languages. Dovrai passare sha shellnell'elenco associato delle lingue. Se potresti aver bisogno di supportare sia la vecchia che la nuova variante, faccelo sapere, in quanto ciò può anche essere organizzato.
phils,

Grazie a tutti voi sono stato in grado di risolvere il problema. Ora tutto funziona come previsto. Ancora grazie mille.
Martin Petersen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.