]> 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)
committerEli Zaretskii <eliz@gnu.org>
Tue, 13 Mar 2018 16:00:23 +0000 (18:00 +0200)
* 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 b003a2f9ccc29a5dd6840812def64c674c46be22..fb6729c36aa2a90f50ee578bbd2050b4e96d7c71 100644 (file)
@@ -22430,6 +22430,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;