]> code.delx.au - gnu-emacs/blobdiff - src/window.h
(Fcall_process_region): Doc fix.
[gnu-emacs] / src / window.h
index 6ae50390bc80498a6be691f6c5b1436c231bef1b..c5da959c238abd8e81caaa21d6726bfc2644fb17 100644 (file)
@@ -1,5 +1,5 @@
 /* Window definitions for GNU Emacs.
-   Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001
+   Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001, 2003
    Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -129,7 +129,7 @@ struct window
     /* Non-nil means we have explicitly changed the value of start,
        but that the next redisplay is not obliged to use the new value.
        This is used in Fdelete_other_windows to force a call to
-       Vwindow_scroll_functions.  */
+       Vwindow_scroll_functions; also by Frecenter with argument.  */
     Lisp_Object optional_new_start;
     /* Number of columns display within the window is scrolled to the left.  */
     Lisp_Object hscroll;
@@ -212,7 +212,7 @@ struct window
     /* Original window height and top before mini-window was
        enlarged. */
     Lisp_Object orig_height, orig_top;
-    
+
     /* No Lisp data may follow below this point without changing
        mark_object in alloc.c.  The member current_matrix must be the
        first non-Lisp member.  */
@@ -228,17 +228,17 @@ struct window
     /* Intended cursor position.   This is a position within the
        glyph matrix.  */
     struct cursor_pos cursor;
-    
+
     /* Where the cursor actually is.  */
     struct cursor_pos phys_cursor;
-    
-    /* Cursor type and width of last cursor drawn on the window.  
+
+    /* Cursor type and width of last cursor drawn on the window.
        Used for X and w32 frames; -1 initially.  */
     int phys_cursor_type, phys_cursor_width;
 
     /* This is handy for undrawing the cursor.  */
     int phys_cursor_ascent, phys_cursor_height;
-    
+
     /* Non-zero means the cursor is currently displayed.  This can be
        set to zero by functions overpainting the cursor image.  */
     unsigned phys_cursor_on_p : 1;
@@ -261,7 +261,7 @@ struct window
     /* Amount by which lines of this window are scrolled in
        y-direction (smooth scrolling).  */
     int vscroll;
-    
+
     /* Z_BYTE - the buffer position of the last glyph in the current matrix
        of W.  Only valid if WINDOW_END_VALID is not nil.  */
     int window_end_bytepos;
@@ -284,7 +284,7 @@ struct window
 /* Return the window column at which the text in window W starts.
    This is different from the `left' field because it does not include
    a left-hand scroll bar if any.  */
-   
+
 #define WINDOW_LEFT_MARGIN(W) \
      (XFASTINT ((W)->left) \
       + FRAME_LEFT_SCROLL_BAR_WIDTH (XFRAME (WINDOW_FRAME (W))))
@@ -305,16 +305,16 @@ struct window
          ? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \
          : 0))
 
-/* 1 if window W takes up the full width of its frame.  */ 
+/* 1 if window W takes up the full width of its frame.  */
 
 #define WINDOW_FULL_WIDTH_P(W) \
      (XFASTINT ((W)->width) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W))))
 
-/* 1 if window W's has no other windows to its right in its frame.  */ 
+/* 1 if window W's has no other windows to its right in its frame.  */
 
 #define WINDOW_RIGHTMOST_P(W) \
      (WINDOW_RIGHT_EDGE (W) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W))))
-     
+
 
 /* This is the window in which the terminal's cursor should
    be left when nothing is being done with it.  This must
@@ -366,7 +366,7 @@ extern Lisp_Object Vmouse_window;
 extern Lisp_Object Vmouse_event;
 
 EXFUN (Fnext_window, 3);
-EXFUN (Fselect_window, 1);
+EXFUN (Fselect_window, 2);
 EXFUN (Fdisplay_buffer, 3);
 EXFUN (Fset_window_buffer, 2);
 EXFUN (Fset_window_hscroll, 2);
@@ -378,12 +378,14 @@ EXFUN (Fwindow_live_p, 1);
 EXFUN (Fset_window_point, 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 *, int));
+extern Lisp_Object window_from_coordinates P_ ((struct frame *, int, int,
+                                               enum window_part *, 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_heights P_ ((Lisp_Object, int));
 extern void delete_all_subwindows P_ ((struct window *));
 extern void freeze_window_starts P_ ((struct frame *, int));
 extern void foreach_window P_ ((struct frame *,
@@ -436,6 +438,10 @@ extern int clip_changed;
 
 extern int windows_or_buffers_changed;
 
+/* Nonzero means a frame's cursor type has been changed.  */
+
+extern int cursor_type_changed;
+
 /* Number of windows displaying the selected buffer.  Normally this is
    1, but it can be more.  */
 
@@ -457,4 +463,37 @@ struct glyph *get_phys_cursor_glyph P_ ((struct window *w));
 #define WINDOW_LIVE_P(WINDOW) \
      (WINDOWP ((WINDOW)) && !NILP (XWINDOW ((WINDOW))->buffer))
 
+
+/* These used to be in lisp.h.  */
+
+extern Lisp_Object Qwindowp, Qwindow_live_p;
+extern Lisp_Object Vwindow_list;
+
+EXFUN (Fwindow_end, 2);
+EXFUN (Fselected_window, 0);
+EXFUN (Fdelete_window, 1);
+EXFUN (Fwindow_buffer, 1);
+EXFUN (Fget_buffer_window, 2);
+EXFUN (Fsave_window_excursion, UNEVALLED);
+EXFUN (Fsplit_window, 3);
+EXFUN (Fset_window_configuration, 1);
+EXFUN (Fcurrent_window_configuration, 1);
+extern int compare_window_configurations P_ ((Lisp_Object, Lisp_Object, int));
+EXFUN (Fcoordinates_in_window_p, 2);
+EXFUN (Fwindow_at, 3);
+EXFUN (Fpos_visible_in_window_p, 3);
+extern void mark_window_cursors_off P_ ((struct window *));
+extern int window_internal_height P_ ((struct window *));
+extern int window_internal_width P_ ((struct window *));
+EXFUN (Frecenter, 1);
+EXFUN (Fscroll_other_window, 1);
+EXFUN (Fset_window_start, 3);
+extern void temp_output_buffer_show P_ ((Lisp_Object));
+extern void replace_buffer_in_all_windows P_ ((Lisp_Object));
+extern void init_window_once P_ ((void));
+extern void init_window P_ ((void));
+extern void syms_of_window P_ ((void));
+extern void keys_of_window P_ ((void));
+
+
 #endif /* not WINDOW_H_INCLUDED */