summaryrefslogtreecommitdiff
path: root/devdocs/elisp/adjusting-point.html
blob: f5010896f43783bab8eed85579de0e1998c1de4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
 <h3 class="section">Adjusting Point After Commands</h3>     <p>Emacs cannot display the cursor when point is in the middle of a sequence of text that has the <code>display</code> or <code>composition</code> 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, making this sequence effectively intangible. </p> <p>A command can inhibit this feature by setting the variable <code>disable-point-adjustment</code>: </p> <dl> <dt id="disable-point-adjustment">Variable: <strong>disable-point-adjustment</strong>
</dt> <dd>
<p>If this variable is non-<code>nil</code> 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. </p> <p>The command loop sets this variable to <code>nil</code> before each command, so if a command sets it, the effect applies only to that command. </p>
</dd>
</dl> <dl> <dt id="global-disable-point-adjustment">Variable: <strong>global-disable-point-adjustment</strong>
</dt> <dd><p>If you set this variable to a non-<code>nil</code> value, the feature of moving point out of these sequences is completely turned off. </p></dd>
</dl><div class="_attribution">
  <p class="_attribution-p">
    Copyright &copy; 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
    <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Adjusting-Point.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Adjusting-Point.html</a>
  </p>
</div>