[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/keyboard.c
From: |
Kim F . Storm |
Subject: |
[Emacs-diffs] Changes to emacs/src/keyboard.c |
Date: |
Thu, 13 Oct 2005 18:42:03 -0400 |
Index: emacs/src/keyboard.c
diff -c emacs/src/keyboard.c:1.841 emacs/src/keyboard.c:1.842
*** emacs/src/keyboard.c:1.841 Tue Oct 11 15:07:28 2005
--- emacs/src/keyboard.c Thu Oct 13 22:42:01 2005
***************
*** 5054,5060 ****
XSETINT (*x, wx);
XSETINT (*y, wy);
! if (part == ON_MODE_LINE || part == ON_HEADER_LINE)
{
/* Mode line or header line. Look for a string under
the mouse that may have a `local-map' property. */
--- 5054,5064 ----
XSETINT (*x, wx);
XSETINT (*y, wy);
! if (part == ON_TEXT)
! {
! wx += WINDOW_LEFT_MARGIN_WIDTH (w);
! }
! else if (part == ON_MODE_LINE || part == ON_HEADER_LINE)
{
/* Mode line or header line. Look for a string under
the mouse that may have a `local-map' property. */
***************
*** 10592,10602 ****
CHECK_LIVE_WINDOW (frame_or_window);
w = XWINDOW (frame_or_window);
! XSETINT (x, (WINDOW_TO_FRAME_PIXEL_X (w, XINT (x))
+ (NILP (whole)
? window_box_left_offset (w, TEXT_AREA)
! : - (WINDOW_LEFT_SCROLL_BAR_COLS (w)
! * WINDOW_FRAME_COLUMN_WIDTH (w)))));
XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y)));
frame_or_window = w->frame;
}
--- 10596,10606 ----
CHECK_LIVE_WINDOW (frame_or_window);
w = XWINDOW (frame_or_window);
! XSETINT (x, (XINT (x)
! + WINDOW_LEFT_EDGE_X (w)
+ (NILP (whole)
? window_box_left_offset (w, TEXT_AREA)
! : 0)));
XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y)));
frame_or_window = w->frame;
}
***************
*** 10622,10630 ****
{
Lisp_Object tem;
tem = Fpos_visible_in_window_p (pos, window, Qt);
if (!NILP (tem))
! tem = Fposn_at_x_y (XCAR (tem), XCAR (XCDR (tem)), window, Qnil);
return tem;
}
--- 10626,10646 ----
{
Lisp_Object tem;
+ if (NILP (window))
+ window = selected_window;
+
tem = Fpos_visible_in_window_p (pos, window, Qt);
if (!NILP (tem))
! {
! Lisp_Object x = XCAR (tem);
! Lisp_Object y = XCAR (XCDR (tem));
!
! /* Point invisible due to hscrolling? */
! if (XINT (x) < 0)
! return Qnil;
! tem = Fposn_at_x_y (x, y, window, Qnil);
! }
!
return tem;
}