* 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)
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;