]> git.eshelyaron.com Git - emacs.git/commitdiff
Add more prototypes.
authorAndreas Schwab <schwab@suse.de>
Tue, 14 Apr 1998 12:33:47 +0000 (12:33 +0000)
committerAndreas Schwab <schwab@suse.de>
Tue, 14 Apr 1998 12:33:47 +0000 (12:33 +0000)
src/blockinput.h
src/coding.h
src/dispextern.h
src/intervals.h
src/keyboard.h
src/lisp.h
src/puresize.h
src/termhooks.h
src/xterm.h

index a4bf325633547c8e97c6e31bd2d59ae0af16632d..6aa426499433d3eeef5737b6fd40a11324a3a951 100644 (file)
@@ -76,3 +76,6 @@ extern int interrupt_input_pending;
 
 #define TOTALLY_UNBLOCK_INPUT (interrupt_input_blocked = 0)
 #define UNBLOCK_INPUT_RESIGNAL UNBLOCK_INPUT
+
+/* Defined in keyboard.c */
+extern void reinvoke_input_signal P_ ((void));
index 617c56ad7eec7c57a8d9040509486e083d64706f..5db1f71884f1beccb13d4a07526001fe34543cda 100644 (file)
@@ -515,6 +515,8 @@ extern int decode_coding P_ ((struct coding_system *, unsigned char *,
                              unsigned char *, int, int));
 extern int encode_coding P_ ((struct coding_system *, unsigned char *,
                              unsigned char *, int, int));
+extern int code_convert_region P_ ((int, int, int, int, struct coding_system *,
+                                   int, int));
 extern int decoding_buffer_size P_ ((struct coding_system *, int));
 extern int encoding_buffer_size P_ ((struct coding_system *, int));
 extern void detect_coding P_ ((struct coding_system *, unsigned char *, int));
index 34cd850ee36107a708d71bd3d03893d905e744c5..a6b4e3856f7995c754df37ccedb55bd96c8b85bb 100644 (file)
@@ -187,7 +187,61 @@ struct frame_glyphs
     int *total_charstarts;
   };
 
-extern void get_display_line ();
-extern Lisp_Object sit_for ();
+extern void redraw_frame P_ ((struct frame *));
+extern void redraw_garbaged_frames P_ ((void));
+extern void free_frame_glyphs P_ ((struct frame *, struct frame_glyphs *));
+extern void remake_frame_glyphs P_ ((struct frame *));
+extern void cancel_line P_ ((int, struct frame *));
+extern void clear_frame_records P_ ((struct frame *));
+extern void init_desired_glyphs P_ ((struct frame *));
+extern void get_display_line P_ ((struct frame *, int, int));
+extern int scroll_frame_lines P_ ((struct frame *, int, int, int, int));
+extern void preserve_other_columns P_ ((struct window *));
+extern void adjust_window_charstarts P_ ((struct window *, int, int));
+extern void verify_charstarts P_ ((struct window *));
+extern void cancel_my_columns P_ ((struct window *));
+extern int direct_output_for_insert P_ ((int));
+extern int direct_output_forward_char P_ ((int));
+extern int update_frame P_ ((struct frame *, int, int));
+extern void quit_error_check P_ ((void));
+extern int scrolling P_ ((struct frame *));
+extern int buffer_posn_from_coords P_ ((struct window *, int, int));
+extern void do_pending_window_change P_ ((void));
+extern void change_frame_size P_ ((struct frame *, int, int, int, int));
+extern void bitch_at_user P_ ((void));
+
+/* Defined in term.c */
+extern void ring_bell P_ ((void));
+extern void set_terminal_modes P_ ((void));
+extern void reset_terminal_modes P_ ((void));
+extern void update_begin P_ ((struct frame *));
+extern void update_end P_ ((struct frame *));
+extern void set_terminal_window P_ ((int));
+extern void set_scroll_region P_ ((int, int));
+extern void turn_off_insert P_ ((void));
+extern void turn_off_highlight P_ ((void));
+extern void background_highlight P_ ((void));
+extern void reassert_line_highlight P_ ((int, int));
+extern void change_line_highlight P_ ((int, int, int));
+extern void cursor_to P_ ((int, int));
+extern void clear_frame P_ ((void));
+extern void clear_end_of_line P_ ((int));
+extern void clear_end_of_line_raw P_ ((int));
+extern void write_glyphs P_ ((GLYPH *, int));
+extern void insert_glyphs P_ ((GLYPH *, int));
+extern void delete_glyphs P_ ((int));
+extern void ins_del_lines P_ ((int, int));
+extern int string_cost P_ ((char *));
+extern int per_line_cost P_ ((char *));
+extern void calculate_costs P_ ((struct frame *));
+extern void term_init P_ ((char *));
+extern void fatal P_ ((/* char *, ... */));
+
+/* Defined in scroll.c */
+extern int scrolling_max_lines_saved P_ ((int, int, int *, int *, int *));
+extern int scroll_cost P_ ((struct frame *, int, int, int));
+extern void do_line_insertion_deletion_costs P_ ((struct frame *, char *,
+                                                 char *, char *, char *,
+                                                 char *, char *, int));
 
 #endif /* not _DISPEXTERN_H_ */
index eb29d94030e5b260af5b105b5f4fbe6ab2bf036a..b0b9b0b9b9fa56d11de713fe6e959a22847e2f92 100644 (file)
@@ -222,6 +222,7 @@ extern Lisp_Object textget P_ ((Lisp_Object, Lisp_Object));
 extern void move_if_not_intangible P_ ((int));
 extern Lisp_Object get_local_map P_ ((int, struct buffer *));
 extern INTERVAL update_interval P_ ((INTERVAL, int));
+extern void set_intervals_multibyte P_ ((int));
 
 /* Defined in xdisp.c */
 extern int invisible_ellipsis_p P_ ((Lisp_Object, Lisp_Object));
@@ -247,13 +248,19 @@ extern Lisp_Object Vdefault_text_properties;
 /* Sticky properties */
 extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
 
-extern Lisp_Object Fget_char_property (), Fget_text_property ();
-extern Lisp_Object Ftext_properties_at ();
-extern Lisp_Object Fnext_property_change (), Fprevious_property_change ();
-extern Lisp_Object Fadd_text_properties (), Fset_text_properties ();
-extern Lisp_Object Fremove_text_properties (), Ferase_text_properties ();
-extern Lisp_Object Ftext_property_any (), Ftext_property_not_all ();
-extern Lisp_Object copy_text_properties ();
+EXFUN (Fget_char_property, 3);
+EXFUN (Fget_text_property, 3);
+EXFUN (Ftext_properties_at, 2);
+EXFUN (Fnext_property_change, 3);
+EXFUN (Fprevious_property_change, 3);
+EXFUN (Fadd_text_properties, 4);
+EXFUN (Fset_text_properties, 4);
+EXFUN (Fremove_text_properties, 4);
+EXFUN (Ftext_property_any, 5);
+EXFUN (Ftext_property_not_all, 5);
+extern Lisp_Object copy_text_properties P_ ((Lisp_Object, Lisp_Object,
+                                            Lisp_Object, Lisp_Object,
+                                            Lisp_Object, Lisp_Object));
 
 extern void syms_of_textprop ();
 
index 71247c9e9501970e506aeb6d9f2602840da57c3e..6d6f4d4c095a030e36a3f763388e20a8c5b1872e 100644 (file)
@@ -292,7 +292,7 @@ extern Lisp_Object Vkeyboard_translate_table;
 extern Lisp_Object map_prompt P_ ((Lisp_Object));
 
 
-extern int parse_menu_item ();
+extern int parse_menu_item P_ ((Lisp_Object, int, int));
 
 extern void echo_now P_ ((void));
 extern void init_kboard P_ ((KBOARD *));
index 3a1fe04fca87dcc877bbec324ffbf0cd560d3a0d..8ccc96dc7a68d055ec1f1dd611eea08f6fef95bd 100644 (file)
@@ -1649,6 +1649,7 @@ extern Lisp_Object detect_coding_system P_ ((unsigned char *, int, int));
 extern int nonascii_insert_offset;
 extern Lisp_Object Vnonascii_translate_table;
 EXFUN (Fchar_bytes, 1);
+EXFUN (Fchar_width, 1);
 extern int chars_in_text P_ ((unsigned char *, int));
 extern int multibyte_chars_in_text P_ ((unsigned char *, int));
 extern int unibyte_char_to_multibyte P_ ((int));
@@ -1709,6 +1710,8 @@ extern Lisp_Object nconc2 P_ ((Lisp_Object, Lisp_Object));
 extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object));
 extern int string_char_to_byte P_ ((Lisp_Object, int));
 extern int string_byte_to_char P_ ((Lisp_Object, int));
+extern Lisp_Object string_make_multibyte P_ ((Lisp_Object));
+extern Lisp_Object string_make_unibyte P_ ((Lisp_Object));
 EXFUN (Fcopy_alist, 1);
 EXFUN (Fplist_get, 2);
 EXFUN (Fset_char_table_parent, 2);
@@ -1717,6 +1720,7 @@ EXFUN (Fset_char_table_extra_slot, 3);
 EXFUN (Frassoc, 2);
 EXFUN (Fstring_equal, 2);
 EXFUN (Fstring_lessp, 2);
+extern int char_table_translate P_ ((Lisp_Object, int));
 extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object),
                                Lisp_Object, Lisp_Object, Lisp_Object, int,
                                Lisp_Object *));
@@ -1734,6 +1738,8 @@ extern void move_gap_both P_ ((int, int));
 extern void make_gap P_ ((int));
 extern int copy_text P_ ((unsigned char *, unsigned char *, int, int, int));
 extern int count_size_as_multibyte P_ ((unsigned char *, int));
+extern int count_combining_before P_ ((unsigned char *, int, int, int));
+extern int count_combining_after P_ ((unsigned char *, int, int, int));
 extern void insert P_ ((unsigned char *, int));
 extern void insert_and_inherit P_ ((unsigned char *, int));
 extern void insert_1 P_ ((unsigned char *, int, int, int, int));
@@ -1806,6 +1812,7 @@ EXFUN (Fmake_marker, 0);
 EXFUN (Fmake_string, 2);
 extern Lisp_Object build_string P_ ((char *));
 extern Lisp_Object make_string P_ ((char *, int));
+extern Lisp_Object make_unibyte_string P_ ((char *, int));
 extern Lisp_Object make_multibyte_string P_ ((char *, int, int));
 extern Lisp_Object make_event_array P_ ((int, Lisp_Object *));
 extern Lisp_Object make_uninit_string P_ ((int));
@@ -1849,7 +1856,7 @@ extern void write_string P_ ((char *, int));
 extern void write_string_1 P_ ((char *, int, Lisp_Object));
 extern void print_error_message P_ ((Lisp_Object, Lisp_Object));
 extern Lisp_Object internal_with_output_to_temp_buffer
-       P_ ((char *, Lisp_Object (*) (), Lisp_Object));
+       P_ ((char *, Lisp_Object (*) (Lisp_Object), Lisp_Object));
 extern void float_to_string P_ ((unsigned char *, double));
 
 /* Defined in doprnt.c */
@@ -2031,6 +2038,11 @@ EXFUN (Fmarker_buffer, 1);
 EXFUN (Fcopy_marker, 2);
 EXFUN (Fset_marker, 3);
 extern int marker_position P_ ((Lisp_Object));
+extern int marker_byte_position P_ ((Lisp_Object));
+extern void clear_charpos_cache P_ ((struct buffer *));
+extern int charpos_to_bytepos P_ ((int));
+extern int buf_charpos_to_bytepos P_ ((struct buffer *, int));
+extern int buf_bytepos_to_charpos P_ ((struct buffer *, int));
 extern void unchain_marker P_ ((Lisp_Object));
 extern Lisp_Object set_marker_restricted P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
 extern Lisp_Object set_marker_both P_ ((Lisp_Object, Lisp_Object, int, int));
@@ -2085,6 +2097,7 @@ extern int find_before_next_newline P_ ((int, int, int));
 
 extern Lisp_Object last_minibuf_string;
 extern void choose_minibuf_frame P_ ((void));
+extern int scmp P_ ((unsigned char *, unsigned char *, int));
 EXFUN (Fcompleting_read, 8);
 EXFUN (Fread_from_minibuffer, 7);
 EXFUN (Fread_variable, 2);
index 8746d3244a54c5f6afd4e9f44140d6a779dc9652..edbf476f00d515d788367f2e8f38702913ba4770 100644 (file)
@@ -63,6 +63,8 @@ Boston, MA 02111-1307, USA.  */
 #define CHECK_IMPURE(obj) \
   { if (PURE_P (obj))    \
       pure_write_error (); }
+
+extern void pure_write_error P_ ((void));
 \f
 /* Define PURE_P.  */
 
index 431b183f8df42ce40184c747e4e6b80d68c16ee8..ff4e9ef74c7d53ff377c546231082b4402acc919 100644 (file)
@@ -25,32 +25,36 @@ Boston, MA 02111-1307, USA.  */
 /* If nonzero, send all terminal output characters to this stream also.  */
 extern FILE *termscript;
 
+/* Only use prototypes when lisp.h has been included.  */
+#ifndef P_
+#define P_(X) ()
+#endif
 \f
 /* Text display hooks.  */
 
-extern int (*cursor_to_hook) ();
-extern int (*raw_cursor_to_hook) ();
+extern void (*cursor_to_hook) P_ ((int, int));
+extern void (*raw_cursor_to_hook) P_ ((int, int));
 
-extern int (*clear_to_end_hook) ();
-extern int (*clear_frame_hook) ();
-extern int (*clear_end_of_line_hook) ();
+extern void (*clear_to_end_hook) P_ ((void));
+extern void (*clear_frame_hook) P_ ((void));
+extern void (*clear_end_of_line_hook) P_ ((int));
 
-extern int (*ins_del_lines_hook) ();
+extern void (*ins_del_lines_hook) P_ ((int, int));
 
-extern int (*change_line_highlight_hook) ();
-extern int (*reassert_line_highlight_hook) ();
+extern void (*change_line_highlight_hook) P_ ((int, int, int));
+extern void (*reassert_line_highlight_hook) P_ ((int, int));
 
-extern int (*insert_glyphs_hook) ();
-extern int (*write_glyphs_hook) ();
-extern int (*delete_glyphs_hook) ();
+extern void (*insert_glyphs_hook) P_ ((GLYPH *, int));
+extern void (*write_glyphs_hook) P_ ((GLYPH *, int));
+extern void (*delete_glyphs_hook) P_ ((int));
 
-extern int (*ring_bell_hook) ();
+extern void (*ring_bell_hook) P_ ((void));
 
-extern int (*reset_terminal_modes_hook) ();
-extern int (*set_terminal_modes_hook) ();
-extern int (*update_begin_hook) ();
-extern int (*update_end_hook) ();
-extern int (*set_terminal_window_hook) ();
+extern void (*reset_terminal_modes_hook) P_ ((void));
+extern void (*set_terminal_modes_hook) P_ ((void));
+extern void (*update_begin_hook) P_ ((struct frame *));
+extern void (*update_end_hook) P_ ((struct frame *));
+extern void (*set_terminal_window_hook) P_ ((int));
 
 
 \f
@@ -82,12 +86,12 @@ enum scroll_bar_part {
 
    This should clear mouse_moved until the next motion
    event arrives.  */
-extern void (*mouse_position_hook) ( /* FRAME_PTR *f,
+extern void (*mouse_position_hook) P_ ((struct frame **f, int,
                                        Lisp_Object *bar_window,
                                        enum scroll_bar_part *part,
                                        Lisp_Object *x,
                                        Lisp_Object *y,
-                                       unsigned long *time */ );
+                                       unsigned long *time));
 
 /* The window system handling code should set this if the mouse has
    moved since the last call to the mouse_position_hook.  Calling that
@@ -97,7 +101,7 @@ extern int mouse_moved;
 /* When a frame's focus redirection is changed, this hook tells the
    window system code to re-decide where to put the highlight.  Under
    X, this means that Emacs lies about where the focus is.  */
-extern void (*frame_rehighlight_hook) ( /* void */ );
+extern void (*frame_rehighlight_hook) P_ ((struct frame *));
 
 /* If we're displaying frames using a window system that can stack
    frames on top of each other, this hook allows you to bring a frame
@@ -109,7 +113,7 @@ extern void (*frame_rehighlight_hook) ( /* void */ );
    If RAISE is non-zero, F is brought to the front, before all other
    windows.  If RAISE is zero, F is sent to the back, behind all other
    windows.  */
-extern void (*frame_raise_lower_hook) ( /* FRAME_PTR f, int raise */ );
+extern void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise));
 
 \f
 /* Scroll bar hooks.  */
@@ -140,8 +144,8 @@ extern void (*frame_raise_lower_hook) ( /* FRAME_PTR f, int raise */ );
    of WHOLE characters, starting at POSITION.  If WINDOW doesn't yet
    have a scroll bar, create one for it.  */
 extern void (*set_vertical_scroll_bar_hook)
-            ( /* struct window *window,
-                int portion, int whole, int position */ );
+            P_ ((struct window *window,
+                int portion, int whole, int position));
 
 
 /* The following three hooks are used when we're doing a thorough
@@ -164,11 +168,11 @@ extern void (*set_vertical_scroll_bar_hook)
    If non-zero, this hook should be safe to apply to any frame,
    whether or not it can support scroll bars, and whether or not it is
    currently displaying them.  */
-extern void (*condemn_scroll_bars_hook)( /* FRAME_PTR *frame */ );
+extern void (*condemn_scroll_bars_hook) P_ ((struct frame *frame));
 
 /* Unmark WINDOW's scroll bar for deletion in this judgement cycle.
    Note that it's okay to redeem a scroll bar that is not condemned.  */
-extern void (*redeem_scroll_bar_hook)( /* struct window *window */ );
+extern void (*redeem_scroll_bar_hook) P_ ((struct window *window));
 
 /* Remove all scroll bars on FRAME that haven't been saved since the
    last call to `*condemn_scroll_bars_hook'.  
@@ -181,17 +185,11 @@ extern void (*redeem_scroll_bar_hook)( /* struct window *window */ );
    If non-zero, this hook should be safe to apply to any frame,
    whether or not it can support scroll bars, and whether or not it is
    currently displaying them.  */
-extern void (*judge_scroll_bars_hook)( /* FRAME_PTR *FRAME */ );
+extern void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME));
 
 \f
 /* Input queue declarations and hooks.  */
 
-/* Called to read input events.  */
-extern int (*read_socket_hook) ();
-
-/* Called when a frame's display becomes entirely up to date.  */
-extern int (*frame_up_to_date_hook) ();
-
 /* Expedient hack: only provide the below definitions to files that
    are prepared to handle lispy things.  CONSP is defined iff lisp.h
    has been included before this file.  */
@@ -322,6 +320,12 @@ struct input_event
      does not overlap with it.  */
   Lisp_Object frame_or_window;
 };
+
+/* Called to read input events.  */
+extern int (*read_socket_hook) P_ ((int, struct input_event *, int, int));
+
+/* Called when a frame's display becomes entirely up to date.  */
+extern void (*frame_up_to_date_hook) P_ ((struct frame *));
 \f
 /* This is used in keyboard.c, to tell how many buttons we will need
    to track the positions of.  */
index 19332e7e087d6c5a81d28bb8c708a010e8762dae..73eae16176ba7d5359deb30b3d255ebe33b11f16 100644 (file)
@@ -748,29 +748,34 @@ struct selection_input_event
 \f
 /* Interface to the face code functions.  */
 
+/* Forward declarations for prototypes.  */
+struct frame;
+struct window;
+struct input_event;
+
 /* Create the first two computed faces for a frame -- the ones that
    have GC's.  */
-extern void init_frame_faces (/* FRAME_PTR */);
+extern void init_frame_faces P_ ((struct frame *));
 
 /* Free the resources for the faces associated with a frame.  */
-extern void free_frame_faces (/* FRAME_PTR */);
+extern void free_frame_faces P_ ((struct frame *));
 
 /* Given a computed face, find or make an equivalent display face
    in face_vector, and return a pointer to it.  */
-extern struct face *intern_face (/* FRAME_PTR, struct face * */);
+extern struct face *intern_face P_ ((struct frame *, struct face *));
 
 /* Given a frame and a face name, return the face's ID number, or
    zero if it isn't a recognized face name.  */
-extern int face_name_id_number (/* FRAME_PTR, Lisp_Object */);
+extern int face_name_id_number P_ ((struct frame *, Lisp_Object));
 
 /* Return non-zero if FONT1 and FONT2 have the same size bounding box.
    We assume that they're both character-cell fonts.  */
-extern int same_size_fonts (/* XFontStruct *, XFontStruct * */);
+extern int same_size_fonts P_ ((XFontStruct *, XFontStruct *));
 
 /* Recompute the GC's for the default and modeline faces.
    We call this after changing frame parameters on which those GC's
    depend.  */
-extern void recompute_basic_faces (/* FRAME_PTR */);
+extern void recompute_basic_faces P_ ((struct frame *));
 
 /* Return the face ID associated with a buffer position POS.  Store
    into *ENDPTR the next position at which a different face is
@@ -779,12 +784,105 @@ extern void recompute_basic_faces (/* FRAME_PTR */);
    window displaying the current buffer.
 
    REGION_BEG, REGION_END delimit the region, so it can be highlighted.  */
-extern int compute_char_face (/* FRAME_PTR frame,
-                                struct window *w,
-                                int pos,
-                                int region_beg, int region_end,
-                                int *endptr */);
+extern int compute_char_face P_ ((struct frame *frame,
+                                 struct window *w,
+                                 int pos,
+                                 int region_beg, int region_end,
+                                 int *endptr,
+                                 int limit, int mouse));
 /* Return the face ID to use to display a special glyph which selects
    FACE_CODE as the face ID, assuming that ordinarily the face would
    be BASIC_FACE.  F is the frame.  */
-extern int compute_glyph_face (/* FRAME_PTR, int */);
+extern int compute_glyph_face P_ ((struct frame *, int, int));
+
+/* Given a pixel position (PIX_X, PIX_Y) on the frame F, return
+   glyph co-ordinates in (*X, *Y).  Set *BOUNDS to the rectangle
+   that the glyph at X, Y occupies, if BOUNDS != 0.
+   If NOCLIP is nonzero, do not force the value into range.  */
+
+extern void pixel_to_glyph_coords P_ ((struct frame *f, int pix_x, int pix_y,
+                                      int *x, int *y, XRectangle *bounds,
+                                      int noclip));
+
+extern void glyph_to_pixel_coords P_ ((struct frame *f, int x, int y,
+                                      int *pix_x, int *pix_y));
+
+/* Defined in xterm.c */
+
+extern void cancel_mouse_face P_ ((struct frame *));
+extern void x_scroll_bar_clear P_ ((struct frame *));
+extern void x_start_queuing_selection_requests P_ ((Display *));
+extern void x_stop_queuing_selection_requests P_ ((Display *));
+extern void x_display_cursor P_ ((struct frame *, int, int, int));
+extern void x_update_cursor P_ ((struct frame *, int));
+extern int x_text_icon P_ ((struct frame *, char *));
+extern int x_bitmap_icon P_ ((struct frame *, Lisp_Object));
+extern int x_catch_errors P_ ((Display *));
+extern void x_check_errors P_ ((Display *, char *));
+extern int x_had_errors_p P_ ((Display *));
+extern void x_uncatch_errors P_ ((Display *, int));
+extern Lisp_Object x_new_font P_ ((struct frame *, char *));
+extern Lisp_Object x_new_fontset P_ ((struct frame *, char *));
+extern void x_set_offset P_ ((struct frame *, int, int, int));
+extern void x_set_window_size P_ ((struct frame *, int, int, int));
+extern void x_set_mouse_position P_ ((struct frame *, int, int));
+extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
+extern void x_raise_frame P_ ((struct frame *));
+extern void x_lower_frame P_ ((struct frame *));
+extern void x_make_frame_visible P_ ((struct frame *));
+extern void x_make_frame_invisible P_ ((struct frame *));
+extern void x_iconify_frame P_ ((struct frame *));
+extern void x_destroy_window P_ ((struct frame *));
+extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
+extern void x_wm_set_window_state P_ ((struct frame *, int));
+extern void x_wm_set_icon_pixmap P_ ((struct frame *, int));
+extern void x_wm_set_icon_position P_ ((struct frame *, int, int));
+extern void x_delete_display P_ ((struct x_display_info *));
+extern void x_initialize P_ ((void));
+
+/* Defined in xselect.c */
+
+extern void x_handle_property_notify P_ ((XPropertyEvent *));
+extern void x_handle_selection_notify P_ ((XSelectionEvent *));
+extern void x_handle_selection_request P_ ((struct input_event *));
+extern void x_handle_selection_clear P_ ((struct input_event *));
+extern void x_clear_frame_selections P_ ((struct frame *));
+
+/* Defined in xfns.c */
+
+extern int have_menus_p P_ ((void));
+extern int x_bitmap_height P_ ((struct frame *, int));
+extern int x_bitmap_width P_ ((struct frame *, int));
+extern int x_bitmap_pixmap P_ ((struct frame *, int));
+extern void x_reference_bitmap P_ ((struct frame *, int));
+extern int x_create_bitmap_from_data P_ ((struct frame *, char *,
+                                         unsigned int, unsigned int));
+extern int x_create_bitmap_from_file P_ ((struct frame *, Lisp_Object));
+extern void x_destroy_bitmap P_ ((struct frame *, int));
+extern void x_set_frame_parameters P_ ((struct frame *, Lisp_Object));
+extern void x_real_positions P_ ((struct frame *, int *, int *));
+extern void x_report_frame_params P_ ((struct frame *, Lisp_Object *));
+extern int defined_color P_ ((struct frame *, char *, XColor *, int));
+extern void x_set_border_pixel P_ ((struct frame *, int));
+extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern int x_pixel_width P_ ((struct frame *));
+extern int x_pixel_height P_ ((struct frame *));
+extern int x_char_width P_ ((struct frame *));
+extern int x_char_height P_ ((struct frame *));
+extern int x_screen_planes P_ ((struct frame *));
+extern void x_sync P_ ((struct frame *));
+
+/* Defined in xfaces.c */
+extern int frame_update_line_height P_ ((struct frame *));
+extern void clear_face_cache P_ ((void));
+extern int compute_glyph_face P_ ((struct frame *, int, int));
+extern int compute_glyph_face_1 P_ ((struct frame *, Lisp_Object, int));
+
+/* Defined in xmenu.c */
+extern void x_activate_menubar P_ ((struct frame *));
+extern int popup_activated P_ ((void));
+extern void initialize_frame_menubar P_ ((struct frame *));
+
+/* Defined in widget.c */
+extern void widget_store_internal_border P_ ((Widget));