]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid assertion violation under visual-order-cursor-movement
authorEli Zaretskii <eliz@gnu.org>
Tue, 13 Mar 2018 16:00:23 +0000 (18:00 +0200)
committerAndrew G Cohen <cohen@andy.bu.edu>
Tue, 11 Dec 2018 06:15:04 +0000 (14:15 +0800)
* src/xdisp.c (Fmove_point_visually): Don't let point exceed the
BEGV..ZV range.  Signal Beginning of buffer error when there's a
before-string at BEGV.  (Bug#30787)

src/xdisp.c

index 44eb1ebf059b6e3bad2c6f7d3bde3195ea480e7d..d5528714270838fe164f3f11f9e3daa112d6b9a6 100644 (file)
@@ -22486,6 +22486,11 @@ Value is the new character position of point.  */)
                    new_pos += (row->reversed_p ? -dir : dir);
                  else
                    new_pos -= (row->reversed_p ? -dir : dir);
+                 new_pos = clip_to_bounds (BEGV, new_pos, ZV);
+                 /* If we didn't move, we've hit BEGV or ZV, so we
+                    need to signal a suitable error.  */
+                 if (new_pos == PT)
+                   break;
                }
              else if (BUFFERP (g->object))
                new_pos = g->charpos;