/* Return the frame column before which the text in window W ends.
This is different from WINDOW_RIGHT_EDGE because it does not include
- a right-hand scroll bar if any. */
+ a scroll bar or window-separating line on the right edge. */
-#define WINDOW_RIGHT_MARGIN(W) \
- (WINDOW_RIGHT_EDGE (W) \
- - (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (XFRAME (WINDOW_FRAME (W))) \
- ? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \
- : 0))
+#define WINDOW_RIGHT_MARGIN(W) \
+ (WINDOW_RIGHT_EDGE (W) \
+ - (! FRAME_HAS_VERTICAL_SCROLL_BARS (XFRAME (WINDOW_FRAME (W))) \
+ ? ((WINDOW_RIGHTMOST_P (W)) ? 0 : 1) \
+ : FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (XFRAME (WINDOW_FRAME (W))) \
+ ? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \
+ : 0))
/* 1 if window W takes up the full width of its frame. */
/* Last mouse-click event (nil if no mouse support). */
extern Lisp_Object Vmouse_event;
-extern Lisp_Object Fnext_window ();
-extern Lisp_Object Fselect_window ();
-extern Lisp_Object Fdisplay_buffer ();
-extern Lisp_Object Fset_window_buffer ();
-extern Lisp_Object make_window ();
-extern Lisp_Object window_from_coordinates ();
-extern Lisp_Object Fwindow_dedicated_p ();
+EXFUN (Fnext_window, 3);
+EXFUN (Fselect_window, 1);
+EXFUN (Fdisplay_buffer, 3);
+EXFUN (Fset_window_buffer, 2);
+extern Lisp_Object make_window P_ ((void));
+extern void delete_window P_ ((Lisp_Object));
+extern Lisp_Object window_from_coordinates P_ ((struct frame *, int, int, int *));
+EXFUN (Fwindow_dedicated_p, 1);
+extern int window_height P_ ((Lisp_Object));
+extern int window_width P_ ((Lisp_Object));
+extern void set_window_height P_ ((Lisp_Object, int, int));
+extern void set_window_width P_ ((Lisp_Object, int, int));
+extern void change_window_height P_ ((int, int));
+extern void delete_all_subwindows P_ ((struct window *));
/* Prompt to display in front of the minibuffer contents. */
extern Lisp_Object minibuf_prompt;
/* If *ROWS or *COLS are too small a size for FRAME, set them to the
minimum allowable size. */
-extern void check_frame_size ( /* FRAME_PTR frame, int *rows, int *cols */ );
+extern void check_frame_size P_ ((struct frame *frame, int *rows, int *cols));