Emacs cannot display the cursor when point is in the middle of a
sequence of text that has the
property, 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
If this variable is non-
nilwhen 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
nilbefore each command, so if a command sets it, the effect applies only to that command.