Bagaimana cara memulai Emacs dengan opsi init debug?

6

Peringatan yang saya dapatkan, segera setelah saya membuka Emacs adalah ini:

Peringatan (inisialisasi): Terjadi kesalahan saat memuat `/ Pengguna / Kaileeena/.emacs ':

Akhir file saat parsing: / Pengguna / Kaieeena/.emacs

Untuk memastikan operasi normal, Anda harus menyelidiki dan menghapus penyebab kesalahan dalam file inisialisasi Anda. Mulai Emacs dengan opsi `--debug-init 'untuk melihat backtrace kesalahan lengkap.

Tetapi bagaimana saya melakukannya?

Saya belum pernah menggunakan perangkat lunak ini sebelumnya, dan saya tidak tahu harus mengetik di mana.

Kaileeena
sumber
Itu berarti usus - Anda melewatkan braket di .emacs- atau beberapa paket yang Anda requirelewatkan itu. Coba ingat-ingat apa yang baru-baru ini Anda geluti.
Adobe

Jawaban:

11

Anda menjalankan Mac OS, bukan? Dengan asumsi Anda menginstal Emacs ke folder Applications, buka jendela Terminal (ada di subfolder Utilities di dalam Applications) dan ketik:

/Applications/Emacs.app/Contents/MacOS/Emacs --debug-init
legoscia
sumber
Terima kasih atas bantuan Anda, tetapi saya mendapatkan hasil yang sama seperti ketika saya mencobanya melalui Emacs. Yang saya lihat hanyalah jendela kosong. Saya bertanya-tanya apakah harus ada semacam log yang akan memberi tahu saya mengapa saya mendapatkan peringatan itu?
Kaileeena
Hm, --debug-initharus menunjukkan di mana masalahnya ... Anda bisa mencoba menambahkan -nw("tidak ada jendela") ke baris perintah itu. Ini akan membuat Emacs berjalan di dalam jendela terminal, yang mungkin membuatnya kurang bingung.
legoscia
2

Selain saran untuk digunakan emacs --debug-init, lakukan ini: Bagi dua file init Anda ( ~/.emacs) secara rekursif sampai Anda menemukan kode yang bermasalah. (Misalnya, gunakan M-x comment-regionuntuk mengomentari setengah kode, lalu 1/4, lalu 1/8, lalu 1/16, ... (Dengan awalan arg C-u, perintah yang sama menghapus tanda komentar pada wilayah tersebut.)

Ini adalah pencarian biner, jadi ini sangat cepat dilakukan.

Tetapi seperti yang disarankan @Adobe, kemungkinan Anda kehilangan satu atau beberapa paren penutup. Pendekatan lain adalah menggunakan C-M-fberulang kali (cukup tahan akor itu), sampai Anda mendapatkan kesalahan. Itu akan menjadi tempat Anda melewatkan paren. (Mulai di tingkat atas file dan paren paling kiri dari sexp pertama Anda.)

Drew
sumber
0

Ketika Anda memulai emacs dari terminal cukup tambahkan setelah perintah sehingga perintah lengkap Anda terlihat seperti emacs --debug-init.

Robin Joy
sumber