summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xdisp.c7
2 files changed, 13 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6d1285a82da..a63995129cd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-07 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (Fmove_point_visually): When under word-wrap, accept
+ also return value of MOVE_POS_MATCH_OR_ZV from
+ move_it_in_display_line_to, when moving from beginning of line to
+ point's position. (Bug#16961)
+
2014-03-07 Martin Rudalics <rudalics@gmx.at>
* buffer.c (Vbuffer_list_update_hook): Doc-string fix.
diff --git a/src/xdisp.c b/src/xdisp.c
index b8e08a30e1c..1513d4a9a87 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -20895,7 +20895,12 @@ Value is the new character position of point. */)
new_pos = it.current.pos;
while (it.current_x + it.pixel_width <= target_x
- && rc == MOVE_X_REACHED)
+ && (rc == MOVE_X_REACHED
+ /* Under word-wrap, move_it_in_display_line_to
+ stops at correct coordinates, but sometimes
+ returns MOVE_POS_MATCH_OR_ZV. */
+ || (it.line_wrap == WORD_WRAP
+ && rc == MOVE_POS_MATCH_OR_ZV)))
{
int new_x = it.current_x + it.pixel_width;