emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r108626: Fix bug #11720 with cursor p


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108626: Fix bug #11720 with cursor positioning in outline-mode and Org buffers.
Date: Sat, 16 Jun 2012 14:47:44 +0300
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 108626
fixes bug: http://debbugs.gnu.org/11720
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2012-06-16 14:47:44 +0300
message:
  Fix bug #11720 with cursor positioning in outline-mode and Org buffers.
  
   src/xdisp.c (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, 
not
   the rightmost.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-06-16 10:18:21 +0000
+++ b/src/ChangeLog     2012-06-16 11:47:44 +0000
@@ -6,6 +6,8 @@
        row.
        (handle_face_prop): Use chunk-relative overlay string index when
        indexing into it->string_overlays array.  (Bug#11653)
+       (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
+       the rightmost.  (Bug#11720)
 
 2012-06-16  Andreas Schwab  <address@hidden>
 

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-06-16 10:18:21 +0000
+++ b/src/xdisp.c       2012-06-16 11:47:44 +0000
@@ -13937,16 +13937,13 @@
                    break;
                  }
                /* See if we've found a better approximation to
-                  POS_BEFORE or to POS_AFTER.  Note that we want the
-                  first (leftmost) glyph of all those that are the
-                  closest from below, and the last (rightmost) of all
-                  those from above.  */
+                  POS_BEFORE or to POS_AFTER.  */
                if (0 > dpos && dpos > pos_before - pt_old)
                  {
                    pos_before = glyph->charpos;
                    glyph_before = glyph;
                  }
-               else if (0 < dpos && dpos <= pos_after - pt_old)
+               else if (0 < dpos && dpos < pos_after - pt_old)
                  {
                    pos_after = glyph->charpos;
                    glyph_after = glyph;
@@ -14030,7 +14027,7 @@
                    pos_before = glyph->charpos;
                    glyph_before = glyph;
                  }
-               else if (0 < dpos && dpos <= pos_after - pt_old)
+               else if (0 < dpos && dpos < pos_after - pt_old)
                  {
                    pos_after = glyph->charpos;
                    glyph_after = glyph;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]