(coordinates_in_window): Take frame's internal border width
[bpt/emacs.git] / src / window.c
index 5ea0fde..be6bf81 100644 (file)
@@ -36,6 +36,9 @@ Boston, MA 02111-1307, USA.  */
 #ifdef HAVE_X_WINDOWS
 #include "xterm.h"
 #endif /* HAVE_X_WINDOWS */
+#ifdef WINDOWSNT
+#include "w32term.h"
+#endif
 
 #ifndef max
 #define max(a, b) ((a) < (b) ? (b) : (a))
@@ -461,9 +464,11 @@ coordinates_in_window (w, x, y)
     }
   else
     {
-      left_x = WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X (w);
+      left_x = (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X (w)
+               - FRAME_INTERNAL_BORDER_WIDTH (f));
       right_x = WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X (w);
-      top_y = WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y (w);
+      top_y = (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y (w)
+              - FRAME_INTERNAL_BORDER_WIDTH (f));
       bottom_y = WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y (w);
     }
 
@@ -2436,6 +2441,7 @@ BUFFER can be a buffer or buffer name.")
   register Lisp_Object tem;
   register struct window *w = decode_window (window);
 
+  XSETWINDOW (window, w);
   buffer = Fget_buffer (buffer);
   CHECK_BUFFER (buffer, 1);
 
@@ -4817,7 +4823,6 @@ DEFUN ("save-window-excursion", Fsave_window_excursion, Ssave_window_excursion,
 Restore which buffer appears in which window, where display starts,\n\
 and the value of point and mark for each window.\n\
 Also restore which buffer is current.\n\
-But do not preserve point in the current buffer.\n\
 Does not restore the value of point in current buffer.")
   (args)
      Lisp_Object args;
@@ -4837,9 +4842,9 @@ Does not restore the value of point in current buffer.")
  ***********************************************************************/
 
 DEFUN ("set-window-margins", Fset_window_margins, Sset_window_margins,
-       2, 3, "",
+       2, 3, 0,
   "Set width of marginal areas of window WINDOW.\n\
-If window is nil or omitted, set margins of the currently selected window.\n\
+If window is nil, set margins of the currently selected window.\n\
 First parameter LEFT-WIDTH specifies the number of character\n\
 cells to reserve for the left marginal area.  Second parameter\n\
 RIGHT-WIDTH does the same for the right marginal area.\n\