Jika Anda tidak keberatan saya bertanya, apa yang Anda coba lakukan?
Luke Shimkus
@ Raja Saya membuat proses asinkron dan saya ingin mengirim konten buffer sebagai input standar. Saya pikir saya bisa menggunakan process-send-stringdan saya terjebak.
Maciej Goszczycki
Jawaban:
25
Banyak hal di Emacs yang beroperasi pada buffer saat ini. Anda perlu mengubah buffer saat ini dan mengembalikannya setelah selesai. Gunakan with-current-bufferuntuk kasus-kasus sederhana di mana Anda hanya perlu melakukan sesuatu di buffer lain, dan save-current-bufferuntuk kasus-kasus yang lebih kompleks di mana Anda perlu menavigasi antara beberapa buffer.
Jika Anda juga perlu menyimpan poinnya, hubungi save-excursionjuga. Perhatikan bahwa save-excursionpulihkan titik hanya di buffer saat ini, jadi jika Anda perlu beralih ke buffer lain dan bergerak di sana, panggil ke save-excursiondalam save-current-bufferatau with-current-buffer.
process-send-string
dan saya terjebak.Jawaban:
Banyak hal di Emacs yang beroperasi pada buffer saat ini. Anda perlu mengubah buffer saat ini dan mengembalikannya setelah selesai. Gunakan
with-current-buffer
untuk kasus-kasus sederhana di mana Anda hanya perlu melakukan sesuatu di buffer lain, dansave-current-buffer
untuk kasus-kasus yang lebih kompleks di mana Anda perlu menavigasi antara beberapa buffer.Jika Anda ingin konten teks dari buffer tanpa properti, panggil
buffer-substring-no-properties
.buffer-string
mengembalikan hanya bagian penyempitan penyempitan . Jika Anda membutuhkan seluruh konten, perluas itu setelah menyimpan penyempitan.Jika Anda juga perlu menyimpan poinnya, hubungi
save-excursion
juga. Perhatikan bahwasave-excursion
pulihkan titik hanya di buffer saat ini, jadi jika Anda perlu beralih ke buffer lain dan bergerak di sana, panggil kesave-excursion
dalamsave-current-buffer
atauwith-current-buffer
.sumber