elisp: Adjusting Point
20.6 Adjusting Point After Commands
===================================
It is not easy to display a value of point in the middle of a sequence
of text that has the ‘display’, ‘composition’ or is invisible.
Therefore, after a command finishes and returns to the command loop, if
point is within such a sequence, the command loop normally moves point
to the edge of the sequence.
A command can inhibit this feature by setting the variable
‘disable-point-adjustment’:
-- Variable: disable-point-adjustment
If this variable is non-‘nil’ when a command returns to the command
loop, then the command loop does not check for those text
properties, and does not move point out of sequences that have
them.
The command loop sets this variable to ‘nil’ before each command,
so if a command sets it, the effect applies only to that command.
-- Variable: global-disable-point-adjustment
If you set this variable to a non-‘nil’ value, the feature of
moving point out of these sequences is completely turned off.