Setelah saya memperbarui Emacs 25.1 ke 26.1 mode-org tidak berfungsi lagi

12

Saya bukan ahli Emacs tetapi saya org-modecukup sering menggunakan Emacs . Saya mengkonfigurasi Emacs untuk mengenali kembali .orgfile. Setelah saya perbarui ke versi 26.1 Emacs tidak hanya mengenali .orgfile lagi:

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

tetapi bahkan tidak bisa berubah menjadi org-mode. M-x org-modememberi:

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

Saya tidak memindahkan .emacsfile atau .emacs.dfolder saya.

Ada ide?

Martin Petersen
sumber
Setelah saya memindahkan file .emacs saya dan folder .emacs.d ke lokasi lain semuanya berfungsi dengan baik. Saya masih ingin tahu apa yang saya lakukan salah.
Martin Petersen
FYI Anda tidak melakukan kesalahan. Ini adalah perubahan yang tidak kompatibel / mundur yang tidak kompatibel dalam mode-org, dan saya menduga bahwa banyak orang yang memutakhirkan ke Emacs 26 telah (dan akan terus) tersandung olehnya.
phils
Berikut tip, tidak terkait dengan masalah Anda di sini: Alih-alih bergerak .emacskeluar dari jalan, mulailah dengan emacs --no-init-file(pada macOS:) open -a Emacs --args --no-init-filesebagai gantinya. ( --no-init-filedapat disingkat menjadi -q.) Ada juga bendera --no-site-fileuntuk menghentikan pemuatan file situs tertentu.
Harald Hanche-Olsen

Jawaban:

16

Emacs 26.1 hadir dengan versi org-mode yang jauh lebih baru daripada 25.1. ob-shdiubah namanya menjadi ob-shelldalam mode-org 8.2, jadi Anda harus menyesuaikan konfigurasi apa pun yang mengacu pada .emacs ob-sh, seperti yang dijelaskan dalam penghapusan ob-sh :

** Perubahan tidak kompatibel

*** ob-sh.eldiubah namanya menjadi ob-shellIni mungkin memerlukan dua perubahan dalam konfigurasi pengguna.

  1. Di org-babel-do-load-languages, ubah (sh . t)ke (shell . t).

  2. Edit local.mkfile untuk mengubah nilai BTEST_OB_LANGUAGESuntuk menghapus "sh" dan sertakan "shell".

Anda kemungkinan besar perlu mencari konfigurasi untuk panggilan org-babel-do-load-languagesdan mengubah shke shelldalam daftar bahasa yang terkait.

rpluim
sumber
Terima kasih atas bantuan Anda. Saya mencari string .emacs dan .emacs.d tapi saya tidak bisa menemukannya. Pokoknya saya akan mengembalikan konfigurasi saya langkah demi langkah.
Martin Petersen
Bisa jadi 'sh' daripada 'ob-sh'. Membagi dua konfigurasi Anda harus menemukan masalah yang tepat.
rpluim
emacs --debug-initMungkin juga menunjukkan dengan tepat garis yang menyebabkan masalah.
rpluim
2
@ MartinPetersen Lihat di konfigurasi Anda untuk panggilan ke org-babel-do-load-languagesatau pengaturan variabel org-babel-load-languages. Anda perlu mengubah shke shelldalam daftar bahasa yang terkait. Jika Anda mungkin perlu untuk mendukung kedua varian lama dan baru, beritahu kami, karena itu juga bisa diatur.
phils
Terima kasih untuk kalian semua, saya bisa menyelesaikan masalah ini. Semuanya berfungsi sekarang sebagaimana dimaksud. Sekali lagi terima kasih banyak.
Martin Petersen