If a buffer is read-only, then you cannot change its contents, although you may change your view of the contents by scrolling and narrowing.
Read-only buffers are used in two kinds of situations:
buffer-read-only to
nil (with let) or bind inhibit-read-only to
t around the places where they themselves change the text.
nil.
nil, then read-only buffers and read-only
characters may be modified. Read-only characters in a buffer are those
that have non-nil read-only properties (either text
properties or overlay properties). See section Properties with Special Meanings, for more
information about text properties. See section Overlays, for more
information about overlays and their properties.
If inhibit-read-only is t, all read-only character
properties have no effect. If inhibit-read-only is a list, then
read-only character properties have no effect if they are members
of the list (comparison is done with eq).
buffer-read-only explicitly to the
proper value, t or nil.
buffer-read-only error if the current
buffer is read-only. See section Interactive Call, for another way to
signal an error if the current buffer is read-only.
Go to the first, previous, next, last section, table of contents.