Sim, você pode tornar uma parte de um buffer somente leitura usando propriedades de texto. O código abaixo define dois novos comandos make-region-read-only
e make-region-read-write
que afetam a região entre ponto e marca. Coloque o código no seu arquivo .emacs para disponibilizar os comandos via Meta-x .
(defun make-region-read-only (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only t)))
(defun make-region-read-write (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only nil)))