]> code.delx.au - gnu-emacs/blobdiff - src/window.h
(syms_of_buffer): Set up Lisp variable buffer-display-time.
[gnu-emacs] / src / window.h
index 0e35ad0d8a732c80d1d3e7741fb0c10ba8f68ab5..1a6c02a309c9482a9e1c7ae75ad35079f7a30559 100644 (file)
@@ -207,13 +207,15 @@ struct window
 
 /* 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.  */ 
 
@@ -265,13 +267,20 @@ extern Lisp_Object Vmouse_window;
 /* 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;
@@ -340,4 +349,4 @@ extern int buffer_shared;
 
 /* 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));