emacs-diffs
[Top][All Lists]
Advanced

[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;
  }
  




reply via email to

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