]> git.eshelyaron.com Git - emacs.git/commitdiff
* doc/lispref/commands.texi (Adjusting Point): Document the adjustment
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 15 Aug 2023 02:48:57 +0000 (22:48 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 15 Aug 2023 02:48:57 +0000 (22:48 -0400)
doc/lispref/commands.texi

index 2991799e66894b1eb5623026b44156907593c87d..741d98655d0f1c7a1a3710e0f0af207bd86b173f 100644 (file)
@@ -1255,12 +1255,19 @@ A device used by the XTEST extension to report input.
 @cindex @code{display} property, and point display
 @cindex @code{composition} property, and point display
 
-  Emacs cannot display the cursor when point is in the middle of a
-sequence of text that has the @code{display} or @code{composition}
-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.
+  When a sequence of text has the @code{display} or @code{composition}
+property, or is invisible, there can be several buffer positions that
+result in the cursor being displayed at same place on the screen.
+Therefore, after a command finishes and returns to the command loop,
+if point is in such a sequence, the command loop normally moves point
+to try and make this sequence effectively intangible.
+
+This @emph{point adjustment} follows the following general rules: first, the
+adjustment should not change the overall direction of the command;
+second if the command moved point, the adjustment tries to ensure the
+cursor is also moved; third, Emacs prefers the edges of an intangible
+sequence and among those edges it prefers the non sticky ones, such
+that newly inserted text is visible.
 
   A command can inhibit this feature by setting the variable
 @code{disable-point-adjustment}: