Saya mengalami beberapa jenis O (n ^ 2) atau perilaku yang lebih buruk ketika melihat file yang sangat besar (mis. 128MB) di Emacs dan melompat ke akhir file. Saya pikir itu mungkin ada hubungannya dengan algoritma pewarnaan saya untuk mewarnai teks secara kontekstual. Jika saya mengetik control-g (keyboard-stops), operasi tidak terpengaruh. Saya ingin beberapa cara untuk memulihkan sesi emacs saya tanpa hanya membunuhnya. Saya mencoba mengirim SIGINT, tetapi emacs baru saja keluar. Apakah ada sinyal yang bisa saya kirim, atau cara lain (mungkin dalam debugger) untuk memaksa tindakan apa pun yang berjalan untuk menyerah dan mengembalikan kontrol kepada saya?
emacs
syntax-highlighting
WilliamKF
sumber
sumber
font-lock-keywords
regexps Anda dengan cermat untuk mencoba menemukan masalahnya.Jawaban:
Saya ragu itu mode penguncian font. Itu mungkin hanya bagian dekat apa yang terlihat. Mungkin menyalin data dalam memori.
Saya tidak tahu apa yang harus dilakukan (atau versi emacs yang Anda jalankan) tetapi Anda bisa mencoba sinyal yang tidak merusak MUNGKIN (USR1 atau USR2).
Atau Anda bisa tidur dan melihat apakah itu pulih.
sumber
kill -USR2
ke emacs-mac bekerja untuk saya dalam situasi yang sama - memuat file besar dalam mode js2 dan memulai pencarian. USR2 berhenti dari isearch dan masuk ke debugger. Jauh lebih baik daripada membunuh prosesnya!Saya tidak mengetahui adanya penanganan sinyal yang dilakukan emacs tetapi Anda dapat menggunakan Emacs Server dengan memasukkan
server-start
file ~ / .emacs Anda sehingga Anda dapat melakukan RPC pada instance emacs yang sedang berjalan.Kemudian ketika Anda ingin membunuh emacs dan menulis Anda dapat menelepon dari shell Anda
emacsclient -e '(save-buffers-kill-emacs t)'
.sumber