Depois que eu atualizei o Emacs 25.1 a 26.1, o modo org não funciona mais

12

Eu sou tudo, menos um especialista em Emacs, mas uso o Emacs com org-modebastante frequência. Eu configurei o Emacs para reconhecer .orgarquivos. Após a atualização para a versão 26.1, o Emacs não reconhece mais os .orgarquivos:

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

mas não pode nem mudar para org-mode. M-x org-modedá:

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

Não movi meu .emacsarquivo ou a .emacs.dpasta.

Qualquer ideia?

Martin Petersen
fonte
Depois que mudei meu arquivo .emacs e a pasta .emacs.d para outro local, tudo funcionou bem. Ainda assim, gostaria de saber o que fiz de errado.
Martin Petersen
Para sua informação, você não fez nada de errado. Esta foi uma mudança incompatível / reversa no modo organizacional, e eu suspeito que muitas pessoas que estão atualizando para o Emacs 26 foram (e continuarão sendo) desatadas por ele.
phils
Aqui está uma dica, não relacionada ao seu problema aqui: em vez de .emacssair do caminho, basta iniciar emacs --no-init-file(no macOS :) open -a Emacs --args --no-init-file. ( --no-init-filepode ser reduzido para -q.) Há também um sinalizador --no-site-filepara interromper o carregamento de arquivos específicos do site.
Harald Hanche-Olsen

Respostas:

16

O Emacs 26.1 vem com uma versão muito mais recente do modo org do que o 25.1. ob-shfoi renomeado para ob-shellno modo org 8.2, portanto, será necessário ajustar a configuração em .emacs ob-sh, conforme descrito na remoção ob-sh :

** Alterações incompatíveis

*** ob-sh.elrenomeado para ob-shellIsso pode exigir duas alterações na configuração do usuário.

  1. Em org-babel-do-load-languages, mude (sh . t)para (shell . t).

  2. Edite local.mkarquivos para alterar o valor BTEST_OB_LANGUAGESpara remover "sh" e incluir "shell".

Você provavelmente precisará procurar na sua configuração uma chamada org-babel-do-load-languagese mudar shpara shellna lista de idiomas associada.

rpluim
fonte
Obrigado pela ajuda. Pesquisei .emacs e .emacs.d pela string ob-sh, mas não a encontrei. De qualquer forma, restaurarei minha configuração passo a passo.
Martin Petersen
Poderia ser 'sh' em vez de 'ob-sh'. A divisão da sua configuração deve encontrar o problema exato.
rpluim
Também emacs --debug-initpode identificar a linha que está causando problemas.
Rpluim
2
@MartinPetersen Procure na sua configuração uma chamada org-babel-do-load-languagesou configuração da variável org-babel-load-languages. Você precisará alterar shpara shellna lista de idiomas associada. Se você pode precisar para apoiar ambos os antigos e novos variantes, avise-nos, como que também pode ser arranjado.
phils
Graças a todos vocês, consegui resolver o problema. Tudo funciona agora como pretendido. Mais uma vez, obrigado uma tonelada.
Martin Petersen