aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/keyboard.c15
2 files changed, 18 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cfef5c46d1a..ae827cb4416 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12015-03-05 Eli Zaretskii <eliz@gnu.org>
2
3 * keyboard.c (make_lispy_position): When the click is on the
4 right-side vertical scroll bar, pass the rightmost X coordinate to
5 buffer_posn_from_coords, so that the returned text position
6 reflects the closest point to the click. Fixes region extension
7 when mouse moves outside the Emacs frame that has scroll bars on
8 the right.
9
12015-03-04 Martin Rudalics <rudalics@gmx.at> 102015-03-04 Martin Rudalics <rudalics@gmx.at>
2 11
3 * frame.c (x_set_font): Try to keep frame height and width 12 * frame.c (x_set_font): Try to keep frame height and width
diff --git a/src/keyboard.c b/src/keyboard.c
index e1c5691324d..bf65df1584c 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -5360,9 +5360,9 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
5360 dy = yret = wy; 5360 dy = yret = wy;
5361 } 5361 }
5362 5362
5363 /* For clicks in the text area, fringes, or margins, call 5363 /* For clicks in the text area, fringes, margins, or vertical
5364 buffer_posn_from_coords to extract TEXTPOS, the buffer 5364 scroll bar, call buffer_posn_from_coords to extract TEXTPOS,
5365 position nearest to the click. */ 5365 the buffer position nearest to the click. */
5366 if (!textpos) 5366 if (!textpos)
5367 { 5367 {
5368 Lisp_Object string2, object2 = Qnil; 5368 Lisp_Object string2, object2 = Qnil;
@@ -5370,11 +5370,14 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
5370 int dx2, dy2; 5370 int dx2, dy2;
5371 int width2, height2; 5371 int width2, height2;
5372 /* The pixel X coordinate passed to buffer_posn_from_coords 5372 /* The pixel X coordinate passed to buffer_posn_from_coords
5373 is the X coordinate relative to the text area for 5373 is the X coordinate relative to the text area for clicks
5374 text-area and right-margin clicks, zero otherwise. */ 5374 in text-area, right-margin/fringe and right-side vertical
5375 scroll bar, zero otherwise. */
5375 int x2 5376 int x2
5376 = (part == ON_TEXT) ? xret 5377 = (part == ON_TEXT) ? xret
5377 : (part == ON_RIGHT_FRINGE || part == ON_RIGHT_MARGIN) 5378 : (part == ON_RIGHT_FRINGE || part == ON_RIGHT_MARGIN
5379 || (part == ON_VERTICAL_SCROLL_BAR
5380 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)))
5378 ? (XINT (x) - window_box_left (w, TEXT_AREA)) 5381 ? (XINT (x) - window_box_left (w, TEXT_AREA))
5379 : 0; 5382 : 0;
5380 int y2 = wy; 5383 int y2 = wy;