Como executar uma ação de modificação sem modificar o buffer?


8

Quero adicionar propriedades ao texto (torná-lo read-onlytemporariamente) e não quero alterar o status da modificação. Em geral, como faço para executar alguma ação de modificação sem o Emacs perceber?

Respostas:


10

Há uma macro interna para isso with-silent-modifications,.

Seu caso de uso pretendido é fazer alterações nas propriedades de texto de um buffer, pois as propriedades de texto fazem parte do texto e as alterações a elas seriam refletidas no status de modificação do buffer e acionariam os respectivos ganchos. Apesar de haver proteção rudimentar contra alterações mais invasivas do texto, você deve garantir que o corpo não faça nada estranho:

Se o BODY executar modificações reais no texto do buffer, exceto as cosméticas, os dados de desfazer poderão ser corrompidos.


Convém adicionar o aviso da with-silent-modificationsdocumentação
Iqbal Ansari
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.