32.20 Substituting for a Character Code
The following functions replace characters within a specified region based on their character codes.
function
subst-char-in-region start end old-char new-char \&optional noundo​
This function replaces all occurrences of the character old-char
with the character new-char
in the region of the current buffer defined by start
and end
.
If noundo
is non-nil
, then subst-char-in-region
does not record the change for undo and does not mark the buffer as modified. This was useful for controlling the old selective display feature (see Selective Display).
subst-char-in-region
does not move point and returns nil
.
---------- Buffer: foo ----------
This is the contents of the buffer before.
---------- Buffer: foo ----------
(subst-char-in-region 1 20 ?i ?X)
⇒ nil
---------- Buffer: foo ----------
ThXs Xs the contents of the buffer before.
---------- Buffer: foo ----------
command
translate-region start end table​
This function applies a translation table to the characters in the buffer between positions start
and end
.
The translation table table
is a string or a char-table; (aref table ochar)
gives the translated character corresponding to ochar
. If table
is a string, any characters with codes larger than the length of table
are not altered by the translation.
The return value of translate-region
is the number of characters that were actually changed by the translation. This does not count characters that were mapped into themselves in the translation table.