Bagaimana cara melakukan tindakan modifikasi tanpa memodifikasi buffer?

8

Saya ingin menambahkan properti ke teks (membuatnya read-onlysementara) dan saya tidak ingin "modifikasi-status" berubah. Secara umum, bagaimana saya melakukan beberapa tindakan modifikasi tanpa Emacs menyadarinya?

Mark Karpov
sumber

Jawaban:

10

Ada makro bawaan untuk ini with-silent-modifications,.

Usecase yang dimaksudkan adalah untuk membuat perubahan pada properti teks dari buffer karena properti teks adalah bagian dari teks dan jika tidak, mereka akan tercermin dalam status modifikasi buffer dan memicu kait masing-masing. Meskipun ada perlindungan yang belum sempurna terhadap perubahan teks yang lebih invasif, Anda harus memastikan tubuh tidak melakukan sesuatu yang aneh:

Jika BODY melakukan modifikasi nyata pada teks buffer, selain yang kosmetik, membatalkan data dapat menjadi rusak.

wasamasa
sumber
Anda mungkin ingin menambahkan peringatan dari with-silent-modificationsdokumentasi
Iqbal Ansari