Quero adicionar propriedades ao texto (torná-lo read-only
temporariamente) 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?
Quero adicionar propriedades ao texto (torná-lo read-only
temporariamente) 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:
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.
with-silent-modifications
documentação