aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab1998-04-14 12:33:47 +0000
committerAndreas Schwab1998-04-14 12:33:47 +0000
commitec5d8db72d43e1c7a83954a84518f60229506950 (patch)
treee5353b66f37d17b9c91219c130702f36ffaec7c8 /src
parentdfcf069d565c347abf3cb7cec80e6ed8432037ba (diff)
downloademacs-ec5d8db72d43e1c7a83954a84518f60229506950.tar.gz
emacs-ec5d8db72d43e1c7a83954a84518f60229506950.zip
Add more prototypes.
Diffstat (limited to 'src')
-rw-r--r--src/blockinput.h3
-rw-r--r--src/coding.h2
-rw-r--r--src/dispextern.h58
-rw-r--r--src/intervals.h21
-rw-r--r--src/keyboard.h2
-rw-r--r--src/lisp.h15
-rw-r--r--src/puresize.h2
-rw-r--r--src/termhooks.h68
-rw-r--r--src/xterm.h122
9 files changed, 238 insertions, 55 deletions
diff --git a/src/blockinput.h b/src/blockinput.h
index a4bf3256335..6aa42649943 100644
--- a/src/blockinput.h
+++ b/src/blockinput.h
@@ -76,3 +76,6 @@ extern int interrupt_input_pending;
76 76
77#define TOTALLY_UNBLOCK_INPUT (interrupt_input_blocked = 0) 77#define TOTALLY_UNBLOCK_INPUT (interrupt_input_blocked = 0)
78#define UNBLOCK_INPUT_RESIGNAL UNBLOCK_INPUT 78#define UNBLOCK_INPUT_RESIGNAL UNBLOCK_INPUT
79
80/* Defined in keyboard.c */
81extern void reinvoke_input_signal P_ ((void));
diff --git a/src/coding.h b/src/coding.h
index 617c56ad7ee..5db1f71884f 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -515,6 +515,8 @@ extern int decode_coding P_ ((struct coding_system *, unsigned char *,
515 unsigned char *, int, int)); 515 unsigned char *, int, int));
516extern int encode_coding P_ ((struct coding_system *, unsigned char *, 516extern int encode_coding P_ ((struct coding_system *, unsigned char *,
517 unsigned char *, int, int)); 517 unsigned char *, int, int));
518extern int code_convert_region P_ ((int, int, int, int, struct coding_system *,
519 int, int));
518extern int decoding_buffer_size P_ ((struct coding_system *, int)); 520extern int decoding_buffer_size P_ ((struct coding_system *, int));
519extern int encoding_buffer_size P_ ((struct coding_system *, int)); 521extern int encoding_buffer_size P_ ((struct coding_system *, int));
520extern void detect_coding P_ ((struct coding_system *, unsigned char *, int)); 522extern void detect_coding P_ ((struct coding_system *, unsigned char *, int));
diff --git a/src/dispextern.h b/src/dispextern.h
index 34cd850ee36..a6b4e3856f7 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -187,7 +187,61 @@ struct frame_glyphs
187 int *total_charstarts; 187 int *total_charstarts;
188 }; 188 };
189 189
190extern void get_display_line (); 190extern void redraw_frame P_ ((struct frame *));
191extern Lisp_Object sit_for (); 191extern void redraw_garbaged_frames P_ ((void));
192extern void free_frame_glyphs P_ ((struct frame *, struct frame_glyphs *));
193extern void remake_frame_glyphs P_ ((struct frame *));
194extern void cancel_line P_ ((int, struct frame *));
195extern void clear_frame_records P_ ((struct frame *));
196extern void init_desired_glyphs P_ ((struct frame *));
197extern void get_display_line P_ ((struct frame *, int, int));
198extern int scroll_frame_lines P_ ((struct frame *, int, int, int, int));
199extern void preserve_other_columns P_ ((struct window *));
200extern void adjust_window_charstarts P_ ((struct window *, int, int));
201extern void verify_charstarts P_ ((struct window *));
202extern void cancel_my_columns P_ ((struct window *));
203extern int direct_output_for_insert P_ ((int));
204extern int direct_output_forward_char P_ ((int));
205extern int update_frame P_ ((struct frame *, int, int));
206extern void quit_error_check P_ ((void));
207extern int scrolling P_ ((struct frame *));
208extern int buffer_posn_from_coords P_ ((struct window *, int, int));
209extern void do_pending_window_change P_ ((void));
210extern void change_frame_size P_ ((struct frame *, int, int, int, int));
211extern void bitch_at_user P_ ((void));
212
213/* Defined in term.c */
214extern void ring_bell P_ ((void));
215extern void set_terminal_modes P_ ((void));
216extern void reset_terminal_modes P_ ((void));
217extern void update_begin P_ ((struct frame *));
218extern void update_end P_ ((struct frame *));
219extern void set_terminal_window P_ ((int));
220extern void set_scroll_region P_ ((int, int));
221extern void turn_off_insert P_ ((void));
222extern void turn_off_highlight P_ ((void));
223extern void background_highlight P_ ((void));
224extern void reassert_line_highlight P_ ((int, int));
225extern void change_line_highlight P_ ((int, int, int));
226extern void cursor_to P_ ((int, int));
227extern void clear_frame P_ ((void));
228extern void clear_end_of_line P_ ((int));
229extern void clear_end_of_line_raw P_ ((int));
230extern void write_glyphs P_ ((GLYPH *, int));
231extern void insert_glyphs P_ ((GLYPH *, int));
232extern void delete_glyphs P_ ((int));
233extern void ins_del_lines P_ ((int, int));
234extern int string_cost P_ ((char *));
235extern int per_line_cost P_ ((char *));
236extern void calculate_costs P_ ((struct frame *));
237extern void term_init P_ ((char *));
238extern void fatal P_ ((/* char *, ... */));
239
240/* Defined in scroll.c */
241extern int scrolling_max_lines_saved P_ ((int, int, int *, int *, int *));
242extern int scroll_cost P_ ((struct frame *, int, int, int));
243extern void do_line_insertion_deletion_costs P_ ((struct frame *, char *,
244 char *, char *, char *,
245 char *, char *, int));
192 246
193#endif /* not _DISPEXTERN_H_ */ 247#endif /* not _DISPEXTERN_H_ */
diff --git a/src/intervals.h b/src/intervals.h
index eb29d94030e..b0b9b0b9b9f 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -222,6 +222,7 @@ extern Lisp_Object textget P_ ((Lisp_Object, Lisp_Object));
222extern void move_if_not_intangible P_ ((int)); 222extern void move_if_not_intangible P_ ((int));
223extern Lisp_Object get_local_map P_ ((int, struct buffer *)); 223extern Lisp_Object get_local_map P_ ((int, struct buffer *));
224extern INTERVAL update_interval P_ ((INTERVAL, int)); 224extern INTERVAL update_interval P_ ((INTERVAL, int));
225extern void set_intervals_multibyte P_ ((int));
225 226
226/* Defined in xdisp.c */ 227/* Defined in xdisp.c */
227extern int invisible_ellipsis_p P_ ((Lisp_Object, Lisp_Object)); 228extern int invisible_ellipsis_p P_ ((Lisp_Object, Lisp_Object));
@@ -247,13 +248,19 @@ extern Lisp_Object Vdefault_text_properties;
247/* Sticky properties */ 248/* Sticky properties */
248extern Lisp_Object Qfront_sticky, Qrear_nonsticky; 249extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
249 250
250extern Lisp_Object Fget_char_property (), Fget_text_property (); 251EXFUN (Fget_char_property, 3);
251extern Lisp_Object Ftext_properties_at (); 252EXFUN (Fget_text_property, 3);
252extern Lisp_Object Fnext_property_change (), Fprevious_property_change (); 253EXFUN (Ftext_properties_at, 2);
253extern Lisp_Object Fadd_text_properties (), Fset_text_properties (); 254EXFUN (Fnext_property_change, 3);
254extern Lisp_Object Fremove_text_properties (), Ferase_text_properties (); 255EXFUN (Fprevious_property_change, 3);
255extern Lisp_Object Ftext_property_any (), Ftext_property_not_all (); 256EXFUN (Fadd_text_properties, 4);
256extern Lisp_Object copy_text_properties (); 257EXFUN (Fset_text_properties, 4);
258EXFUN (Fremove_text_properties, 4);
259EXFUN (Ftext_property_any, 5);
260EXFUN (Ftext_property_not_all, 5);
261extern Lisp_Object copy_text_properties P_ ((Lisp_Object, Lisp_Object,
262 Lisp_Object, Lisp_Object,
263 Lisp_Object, Lisp_Object));
257 264
258extern void syms_of_textprop (); 265extern void syms_of_textprop ();
259 266
diff --git a/src/keyboard.h b/src/keyboard.h
index 71247c9e950..6d6f4d4c095 100644
--- a/src/keyboard.h
+++ b/src/keyboard.h
@@ -292,7 +292,7 @@ extern Lisp_Object Vkeyboard_translate_table;
292extern Lisp_Object map_prompt P_ ((Lisp_Object)); 292extern Lisp_Object map_prompt P_ ((Lisp_Object));
293 293
294 294
295extern int parse_menu_item (); 295extern int parse_menu_item P_ ((Lisp_Object, int, int));
296 296
297extern void echo_now P_ ((void)); 297extern void echo_now P_ ((void));
298extern void init_kboard P_ ((KBOARD *)); 298extern void init_kboard P_ ((KBOARD *));
diff --git a/src/lisp.h b/src/lisp.h
index 3a1fe04fca8..8ccc96dc7a6 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1649,6 +1649,7 @@ extern Lisp_Object detect_coding_system P_ ((unsigned char *, int, int));
1649extern int nonascii_insert_offset; 1649extern int nonascii_insert_offset;
1650extern Lisp_Object Vnonascii_translate_table; 1650extern Lisp_Object Vnonascii_translate_table;
1651EXFUN (Fchar_bytes, 1); 1651EXFUN (Fchar_bytes, 1);
1652EXFUN (Fchar_width, 1);
1652extern int chars_in_text P_ ((unsigned char *, int)); 1653extern int chars_in_text P_ ((unsigned char *, int));
1653extern int multibyte_chars_in_text P_ ((unsigned char *, int)); 1654extern int multibyte_chars_in_text P_ ((unsigned char *, int));
1654extern int unibyte_char_to_multibyte P_ ((int)); 1655extern int unibyte_char_to_multibyte P_ ((int));
@@ -1709,6 +1710,8 @@ extern Lisp_Object nconc2 P_ ((Lisp_Object, Lisp_Object));
1709extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object)); 1710extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object));
1710extern int string_char_to_byte P_ ((Lisp_Object, int)); 1711extern int string_char_to_byte P_ ((Lisp_Object, int));
1711extern int string_byte_to_char P_ ((Lisp_Object, int)); 1712extern int string_byte_to_char P_ ((Lisp_Object, int));
1713extern Lisp_Object string_make_multibyte P_ ((Lisp_Object));
1714extern Lisp_Object string_make_unibyte P_ ((Lisp_Object));
1712EXFUN (Fcopy_alist, 1); 1715EXFUN (Fcopy_alist, 1);
1713EXFUN (Fplist_get, 2); 1716EXFUN (Fplist_get, 2);
1714EXFUN (Fset_char_table_parent, 2); 1717EXFUN (Fset_char_table_parent, 2);
@@ -1717,6 +1720,7 @@ EXFUN (Fset_char_table_extra_slot, 3);
1717EXFUN (Frassoc, 2); 1720EXFUN (Frassoc, 2);
1718EXFUN (Fstring_equal, 2); 1721EXFUN (Fstring_equal, 2);
1719EXFUN (Fstring_lessp, 2); 1722EXFUN (Fstring_lessp, 2);
1723extern int char_table_translate P_ ((Lisp_Object, int));
1720extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object), 1724extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object),
1721 Lisp_Object, Lisp_Object, Lisp_Object, int, 1725 Lisp_Object, Lisp_Object, Lisp_Object, int,
1722 Lisp_Object *)); 1726 Lisp_Object *));
@@ -1734,6 +1738,8 @@ extern void move_gap_both P_ ((int, int));
1734extern void make_gap P_ ((int)); 1738extern void make_gap P_ ((int));
1735extern int copy_text P_ ((unsigned char *, unsigned char *, int, int, int)); 1739extern int copy_text P_ ((unsigned char *, unsigned char *, int, int, int));
1736extern int count_size_as_multibyte P_ ((unsigned char *, int)); 1740extern int count_size_as_multibyte P_ ((unsigned char *, int));
1741extern int count_combining_before P_ ((unsigned char *, int, int, int));
1742extern int count_combining_after P_ ((unsigned char *, int, int, int));
1737extern void insert P_ ((unsigned char *, int)); 1743extern void insert P_ ((unsigned char *, int));
1738extern void insert_and_inherit P_ ((unsigned char *, int)); 1744extern void insert_and_inherit P_ ((unsigned char *, int));
1739extern void insert_1 P_ ((unsigned char *, int, int, int, int)); 1745extern void insert_1 P_ ((unsigned char *, int, int, int, int));
@@ -1806,6 +1812,7 @@ EXFUN (Fmake_marker, 0);
1806EXFUN (Fmake_string, 2); 1812EXFUN (Fmake_string, 2);
1807extern Lisp_Object build_string P_ ((char *)); 1813extern Lisp_Object build_string P_ ((char *));
1808extern Lisp_Object make_string P_ ((char *, int)); 1814extern Lisp_Object make_string P_ ((char *, int));
1815extern Lisp_Object make_unibyte_string P_ ((char *, int));
1809extern Lisp_Object make_multibyte_string P_ ((char *, int, int)); 1816extern Lisp_Object make_multibyte_string P_ ((char *, int, int));
1810extern Lisp_Object make_event_array P_ ((int, Lisp_Object *)); 1817extern Lisp_Object make_event_array P_ ((int, Lisp_Object *));
1811extern Lisp_Object make_uninit_string P_ ((int)); 1818extern Lisp_Object make_uninit_string P_ ((int));
@@ -1849,7 +1856,7 @@ extern void write_string P_ ((char *, int));
1849extern void write_string_1 P_ ((char *, int, Lisp_Object)); 1856extern void write_string_1 P_ ((char *, int, Lisp_Object));
1850extern void print_error_message P_ ((Lisp_Object, Lisp_Object)); 1857extern void print_error_message P_ ((Lisp_Object, Lisp_Object));
1851extern Lisp_Object internal_with_output_to_temp_buffer 1858extern Lisp_Object internal_with_output_to_temp_buffer
1852 P_ ((char *, Lisp_Object (*) (), Lisp_Object)); 1859 P_ ((char *, Lisp_Object (*) (Lisp_Object), Lisp_Object));
1853extern void float_to_string P_ ((unsigned char *, double)); 1860extern void float_to_string P_ ((unsigned char *, double));
1854 1861
1855/* Defined in doprnt.c */ 1862/* Defined in doprnt.c */
@@ -2031,6 +2038,11 @@ EXFUN (Fmarker_buffer, 1);
2031EXFUN (Fcopy_marker, 2); 2038EXFUN (Fcopy_marker, 2);
2032EXFUN (Fset_marker, 3); 2039EXFUN (Fset_marker, 3);
2033extern int marker_position P_ ((Lisp_Object)); 2040extern int marker_position P_ ((Lisp_Object));
2041extern int marker_byte_position P_ ((Lisp_Object));
2042extern void clear_charpos_cache P_ ((struct buffer *));
2043extern int charpos_to_bytepos P_ ((int));
2044extern int buf_charpos_to_bytepos P_ ((struct buffer *, int));
2045extern int buf_bytepos_to_charpos P_ ((struct buffer *, int));
2034extern void unchain_marker P_ ((Lisp_Object)); 2046extern void unchain_marker P_ ((Lisp_Object));
2035extern Lisp_Object set_marker_restricted P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); 2047extern Lisp_Object set_marker_restricted P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
2036extern Lisp_Object set_marker_both P_ ((Lisp_Object, Lisp_Object, int, int)); 2048extern 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));
2085 2097
2086extern Lisp_Object last_minibuf_string; 2098extern Lisp_Object last_minibuf_string;
2087extern void choose_minibuf_frame P_ ((void)); 2099extern void choose_minibuf_frame P_ ((void));
2100extern int scmp P_ ((unsigned char *, unsigned char *, int));
2088EXFUN (Fcompleting_read, 8); 2101EXFUN (Fcompleting_read, 8);
2089EXFUN (Fread_from_minibuffer, 7); 2102EXFUN (Fread_from_minibuffer, 7);
2090EXFUN (Fread_variable, 2); 2103EXFUN (Fread_variable, 2);
diff --git a/src/puresize.h b/src/puresize.h
index 8746d3244a5..edbf476f00d 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -63,6 +63,8 @@ Boston, MA 02111-1307, USA. */
63#define CHECK_IMPURE(obj) \ 63#define CHECK_IMPURE(obj) \
64 { if (PURE_P (obj)) \ 64 { if (PURE_P (obj)) \
65 pure_write_error (); } 65 pure_write_error (); }
66
67extern void pure_write_error P_ ((void));
66 68
67/* Define PURE_P. */ 69/* Define PURE_P. */
68 70
diff --git a/src/termhooks.h b/src/termhooks.h
index 431b183f8df..ff4e9ef74c7 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -25,32 +25,36 @@ Boston, MA 02111-1307, USA. */
25/* If nonzero, send all terminal output characters to this stream also. */ 25/* If nonzero, send all terminal output characters to this stream also. */
26extern FILE *termscript; 26extern FILE *termscript;
27 27
28/* Only use prototypes when lisp.h has been included. */
29#ifndef P_
30#define P_(X) ()
31#endif
28 32
29/* Text display hooks. */ 33/* Text display hooks. */
30 34
31extern int (*cursor_to_hook) (); 35extern void (*cursor_to_hook) P_ ((int, int));
32extern int (*raw_cursor_to_hook) (); 36extern void (*raw_cursor_to_hook) P_ ((int, int));
33 37
34extern int (*clear_to_end_hook) (); 38extern void (*clear_to_end_hook) P_ ((void));
35extern int (*clear_frame_hook) (); 39extern void (*clear_frame_hook) P_ ((void));
36extern int (*clear_end_of_line_hook) (); 40extern void (*clear_end_of_line_hook) P_ ((int));
37 41
38extern int (*ins_del_lines_hook) (); 42extern void (*ins_del_lines_hook) P_ ((int, int));
39 43
40extern int (*change_line_highlight_hook) (); 44extern void (*change_line_highlight_hook) P_ ((int, int, int));
41extern int (*reassert_line_highlight_hook) (); 45extern void (*reassert_line_highlight_hook) P_ ((int, int));
42 46
43extern int (*insert_glyphs_hook) (); 47extern void (*insert_glyphs_hook) P_ ((GLYPH *, int));
44extern int (*write_glyphs_hook) (); 48extern void (*write_glyphs_hook) P_ ((GLYPH *, int));
45extern int (*delete_glyphs_hook) (); 49extern void (*delete_glyphs_hook) P_ ((int));
46 50
47extern int (*ring_bell_hook) (); 51extern void (*ring_bell_hook) P_ ((void));
48 52
49extern int (*reset_terminal_modes_hook) (); 53extern void (*reset_terminal_modes_hook) P_ ((void));
50extern int (*set_terminal_modes_hook) (); 54extern void (*set_terminal_modes_hook) P_ ((void));
51extern int (*update_begin_hook) (); 55extern void (*update_begin_hook) P_ ((struct frame *));
52extern int (*update_end_hook) (); 56extern void (*update_end_hook) P_ ((struct frame *));
53extern int (*set_terminal_window_hook) (); 57extern void (*set_terminal_window_hook) P_ ((int));
54 58
55 59
56 60
@@ -82,12 +86,12 @@ enum scroll_bar_part {
82 86
83 This should clear mouse_moved until the next motion 87 This should clear mouse_moved until the next motion
84 event arrives. */ 88 event arrives. */
85extern void (*mouse_position_hook) ( /* FRAME_PTR *f, 89extern void (*mouse_position_hook) P_ ((struct frame **f, int,
86 Lisp_Object *bar_window, 90 Lisp_Object *bar_window,
87 enum scroll_bar_part *part, 91 enum scroll_bar_part *part,
88 Lisp_Object *x, 92 Lisp_Object *x,
89 Lisp_Object *y, 93 Lisp_Object *y,
90 unsigned long *time */ ); 94 unsigned long *time));
91 95
92/* The window system handling code should set this if the mouse has 96/* The window system handling code should set this if the mouse has
93 moved since the last call to the mouse_position_hook. Calling that 97 moved since the last call to the mouse_position_hook. Calling that
@@ -97,7 +101,7 @@ extern int mouse_moved;
97/* When a frame's focus redirection is changed, this hook tells the 101/* When a frame's focus redirection is changed, this hook tells the
98 window system code to re-decide where to put the highlight. Under 102 window system code to re-decide where to put the highlight. Under
99 X, this means that Emacs lies about where the focus is. */ 103 X, this means that Emacs lies about where the focus is. */
100extern void (*frame_rehighlight_hook) ( /* void */ ); 104extern void (*frame_rehighlight_hook) P_ ((struct frame *));
101 105
102/* If we're displaying frames using a window system that can stack 106/* If we're displaying frames using a window system that can stack
103 frames on top of each other, this hook allows you to bring a frame 107 frames on top of each other, this hook allows you to bring a frame
@@ -109,7 +113,7 @@ extern void (*frame_rehighlight_hook) ( /* void */ );
109 If RAISE is non-zero, F is brought to the front, before all other 113 If RAISE is non-zero, F is brought to the front, before all other
110 windows. If RAISE is zero, F is sent to the back, behind all other 114 windows. If RAISE is zero, F is sent to the back, behind all other
111 windows. */ 115 windows. */
112extern void (*frame_raise_lower_hook) ( /* FRAME_PTR f, int raise */ ); 116extern void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise));
113 117
114 118
115/* Scroll bar hooks. */ 119/* Scroll bar hooks. */
@@ -140,8 +144,8 @@ extern void (*frame_raise_lower_hook) ( /* FRAME_PTR f, int raise */ );
140 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet 144 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet
141 have a scroll bar, create one for it. */ 145 have a scroll bar, create one for it. */
142extern void (*set_vertical_scroll_bar_hook) 146extern void (*set_vertical_scroll_bar_hook)
143 ( /* struct window *window, 147 P_ ((struct window *window,
144 int portion, int whole, int position */ ); 148 int portion, int whole, int position));
145 149
146 150
147/* The following three hooks are used when we're doing a thorough 151/* The following three hooks are used when we're doing a thorough
@@ -164,11 +168,11 @@ extern void (*set_vertical_scroll_bar_hook)
164 If non-zero, this hook should be safe to apply to any frame, 168 If non-zero, this hook should be safe to apply to any frame,
165 whether or not it can support scroll bars, and whether or not it is 169 whether or not it can support scroll bars, and whether or not it is
166 currently displaying them. */ 170 currently displaying them. */
167extern void (*condemn_scroll_bars_hook)( /* FRAME_PTR *frame */ ); 171extern void (*condemn_scroll_bars_hook) P_ ((struct frame *frame));
168 172
169/* Unmark WINDOW's scroll bar for deletion in this judgement cycle. 173/* Unmark WINDOW's scroll bar for deletion in this judgement cycle.
170 Note that it's okay to redeem a scroll bar that is not condemned. */ 174 Note that it's okay to redeem a scroll bar that is not condemned. */
171extern void (*redeem_scroll_bar_hook)( /* struct window *window */ ); 175extern void (*redeem_scroll_bar_hook) P_ ((struct window *window));
172 176
173/* Remove all scroll bars on FRAME that haven't been saved since the 177/* Remove all scroll bars on FRAME that haven't been saved since the
174 last call to `*condemn_scroll_bars_hook'. 178 last call to `*condemn_scroll_bars_hook'.
@@ -181,17 +185,11 @@ extern void (*redeem_scroll_bar_hook)( /* struct window *window */ );
181 If non-zero, this hook should be safe to apply to any frame, 185 If non-zero, this hook should be safe to apply to any frame,
182 whether or not it can support scroll bars, and whether or not it is 186 whether or not it can support scroll bars, and whether or not it is
183 currently displaying them. */ 187 currently displaying them. */
184extern void (*judge_scroll_bars_hook)( /* FRAME_PTR *FRAME */ ); 188extern void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME));
185 189
186 190
187/* Input queue declarations and hooks. */ 191/* Input queue declarations and hooks. */
188 192
189/* Called to read input events. */
190extern int (*read_socket_hook) ();
191
192/* Called when a frame's display becomes entirely up to date. */
193extern int (*frame_up_to_date_hook) ();
194
195/* Expedient hack: only provide the below definitions to files that 193/* Expedient hack: only provide the below definitions to files that
196 are prepared to handle lispy things. CONSP is defined iff lisp.h 194 are prepared to handle lispy things. CONSP is defined iff lisp.h
197 has been included before this file. */ 195 has been included before this file. */
@@ -322,6 +320,12 @@ struct input_event
322 does not overlap with it. */ 320 does not overlap with it. */
323 Lisp_Object frame_or_window; 321 Lisp_Object frame_or_window;
324}; 322};
323
324/* Called to read input events. */
325extern int (*read_socket_hook) P_ ((int, struct input_event *, int, int));
326
327/* Called when a frame's display becomes entirely up to date. */
328extern void (*frame_up_to_date_hook) P_ ((struct frame *));
325 329
326/* This is used in keyboard.c, to tell how many buttons we will need 330/* This is used in keyboard.c, to tell how many buttons we will need
327 to track the positions of. */ 331 to track the positions of. */
diff --git a/src/xterm.h b/src/xterm.h
index 19332e7e087..73eae16176b 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -748,29 +748,34 @@ struct selection_input_event
748 748
749/* Interface to the face code functions. */ 749/* Interface to the face code functions. */
750 750
751/* Forward declarations for prototypes. */
752struct frame;
753struct window;
754struct input_event;
755
751/* Create the first two computed faces for a frame -- the ones that 756/* Create the first two computed faces for a frame -- the ones that
752 have GC's. */ 757 have GC's. */
753extern void init_frame_faces (/* FRAME_PTR */); 758extern void init_frame_faces P_ ((struct frame *));
754 759
755/* Free the resources for the faces associated with a frame. */ 760/* Free the resources for the faces associated with a frame. */
756extern void free_frame_faces (/* FRAME_PTR */); 761extern void free_frame_faces P_ ((struct frame *));
757 762
758/* Given a computed face, find or make an equivalent display face 763/* Given a computed face, find or make an equivalent display face
759 in face_vector, and return a pointer to it. */ 764 in face_vector, and return a pointer to it. */
760extern struct face *intern_face (/* FRAME_PTR, struct face * */); 765extern struct face *intern_face P_ ((struct frame *, struct face *));
761 766
762/* Given a frame and a face name, return the face's ID number, or 767/* Given a frame and a face name, return the face's ID number, or
763 zero if it isn't a recognized face name. */ 768 zero if it isn't a recognized face name. */
764extern int face_name_id_number (/* FRAME_PTR, Lisp_Object */); 769extern int face_name_id_number P_ ((struct frame *, Lisp_Object));
765 770
766/* Return non-zero if FONT1 and FONT2 have the same size bounding box. 771/* Return non-zero if FONT1 and FONT2 have the same size bounding box.
767 We assume that they're both character-cell fonts. */ 772 We assume that they're both character-cell fonts. */
768extern int same_size_fonts (/* XFontStruct *, XFontStruct * */); 773extern int same_size_fonts P_ ((XFontStruct *, XFontStruct *));
769 774
770/* Recompute the GC's for the default and modeline faces. 775/* Recompute the GC's for the default and modeline faces.
771 We call this after changing frame parameters on which those GC's 776 We call this after changing frame parameters on which those GC's
772 depend. */ 777 depend. */
773extern void recompute_basic_faces (/* FRAME_PTR */); 778extern void recompute_basic_faces P_ ((struct frame *));
774 779
775/* Return the face ID associated with a buffer position POS. Store 780/* Return the face ID associated with a buffer position POS. Store
776 into *ENDPTR the next position at which a different face is 781 into *ENDPTR the next position at which a different face is
@@ -779,12 +784,105 @@ extern void recompute_basic_faces (/* FRAME_PTR */);
779 window displaying the current buffer. 784 window displaying the current buffer.
780 785
781 REGION_BEG, REGION_END delimit the region, so it can be highlighted. */ 786 REGION_BEG, REGION_END delimit the region, so it can be highlighted. */
782extern int compute_char_face (/* FRAME_PTR frame, 787extern int compute_char_face P_ ((struct frame *frame,
783 struct window *w, 788 struct window *w,
784 int pos, 789 int pos,
785 int region_beg, int region_end, 790 int region_beg, int region_end,
786 int *endptr */); 791 int *endptr,
792 int limit, int mouse));
787/* Return the face ID to use to display a special glyph which selects 793/* Return the face ID to use to display a special glyph which selects
788 FACE_CODE as the face ID, assuming that ordinarily the face would 794 FACE_CODE as the face ID, assuming that ordinarily the face would
789 be BASIC_FACE. F is the frame. */ 795 be BASIC_FACE. F is the frame. */
790extern int compute_glyph_face (/* FRAME_PTR, int */); 796extern int compute_glyph_face P_ ((struct frame *, int, int));
797
798/* Given a pixel position (PIX_X, PIX_Y) on the frame F, return
799 glyph co-ordinates in (*X, *Y). Set *BOUNDS to the rectangle
800 that the glyph at X, Y occupies, if BOUNDS != 0.
801 If NOCLIP is nonzero, do not force the value into range. */
802
803extern void pixel_to_glyph_coords P_ ((struct frame *f, int pix_x, int pix_y,
804 int *x, int *y, XRectangle *bounds,
805 int noclip));
806
807extern void glyph_to_pixel_coords P_ ((struct frame *f, int x, int y,
808 int *pix_x, int *pix_y));
809
810/* Defined in xterm.c */
811
812extern void cancel_mouse_face P_ ((struct frame *));
813extern void x_scroll_bar_clear P_ ((struct frame *));
814extern void x_start_queuing_selection_requests P_ ((Display *));
815extern void x_stop_queuing_selection_requests P_ ((Display *));
816extern void x_display_cursor P_ ((struct frame *, int, int, int));
817extern void x_update_cursor P_ ((struct frame *, int));
818extern int x_text_icon P_ ((struct frame *, char *));
819extern int x_bitmap_icon P_ ((struct frame *, Lisp_Object));
820extern int x_catch_errors P_ ((Display *));
821extern void x_check_errors P_ ((Display *, char *));
822extern int x_had_errors_p P_ ((Display *));
823extern void x_uncatch_errors P_ ((Display *, int));
824extern Lisp_Object x_new_font P_ ((struct frame *, char *));
825extern Lisp_Object x_new_fontset P_ ((struct frame *, char *));
826extern void x_set_offset P_ ((struct frame *, int, int, int));
827extern void x_set_window_size P_ ((struct frame *, int, int, int));
828extern void x_set_mouse_position P_ ((struct frame *, int, int));
829extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
830extern void x_raise_frame P_ ((struct frame *));
831extern void x_lower_frame P_ ((struct frame *));
832extern void x_make_frame_visible P_ ((struct frame *));
833extern void x_make_frame_invisible P_ ((struct frame *));
834extern void x_iconify_frame P_ ((struct frame *));
835extern void x_destroy_window P_ ((struct frame *));
836extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
837extern void x_wm_set_window_state P_ ((struct frame *, int));
838extern void x_wm_set_icon_pixmap P_ ((struct frame *, int));
839extern void x_wm_set_icon_position P_ ((struct frame *, int, int));
840extern void x_delete_display P_ ((struct x_display_info *));
841extern void x_initialize P_ ((void));
842
843/* Defined in xselect.c */
844
845extern void x_handle_property_notify P_ ((XPropertyEvent *));
846extern void x_handle_selection_notify P_ ((XSelectionEvent *));
847extern void x_handle_selection_request P_ ((struct input_event *));
848extern void x_handle_selection_clear P_ ((struct input_event *));
849extern void x_clear_frame_selections P_ ((struct frame *));
850
851/* Defined in xfns.c */
852
853extern int have_menus_p P_ ((void));
854extern int x_bitmap_height P_ ((struct frame *, int));
855extern int x_bitmap_width P_ ((struct frame *, int));
856extern int x_bitmap_pixmap P_ ((struct frame *, int));
857extern void x_reference_bitmap P_ ((struct frame *, int));
858extern int x_create_bitmap_from_data P_ ((struct frame *, char *,
859 unsigned int, unsigned int));
860extern int x_create_bitmap_from_file P_ ((struct frame *, Lisp_Object));
861extern void x_destroy_bitmap P_ ((struct frame *, int));
862extern void x_set_frame_parameters P_ ((struct frame *, Lisp_Object));
863extern void x_real_positions P_ ((struct frame *, int *, int *));
864extern void x_report_frame_params P_ ((struct frame *, Lisp_Object *));
865extern int defined_color P_ ((struct frame *, char *, XColor *, int));
866extern void x_set_border_pixel P_ ((struct frame *, int));
867extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
868extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
869extern int x_pixel_width P_ ((struct frame *));
870extern int x_pixel_height P_ ((struct frame *));
871extern int x_char_width P_ ((struct frame *));
872extern int x_char_height P_ ((struct frame *));
873extern int x_screen_planes P_ ((struct frame *));
874extern void x_sync P_ ((struct frame *));
875
876/* Defined in xfaces.c */
877extern int frame_update_line_height P_ ((struct frame *));
878extern void clear_face_cache P_ ((void));
879extern int compute_glyph_face P_ ((struct frame *, int, int));
880extern int compute_glyph_face_1 P_ ((struct frame *, Lisp_Object, int));
881
882/* Defined in xmenu.c */
883extern void x_activate_menubar P_ ((struct frame *));
884extern int popup_activated P_ ((void));
885extern void initialize_frame_menubar P_ ((struct frame *));
886
887/* Defined in widget.c */
888extern void widget_store_internal_border P_ ((Widget));