home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / lemacs-19.6 / src / emacsfns.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-13  |  43.4 KB  |  972 lines

  1. /* Various function declarations for GNU Emacs.
  2.    Used to be part of lisp.h
  3.    Copyright (C) 1992-1993 Free Software Foundation, Inc.
  4.  
  5. This file is part of GNU Emacs.
  6.  
  7. GNU Emacs is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. GNU Emacs is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU Emacs; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #ifndef _EMACSFNS_H_
  22. #define _EMACSFNS_H_
  23.  
  24. extern void ring_bell (Lisp_Object sound);
  25.  
  26. struct buffer;
  27. struct screen;
  28. struct window;
  29.  
  30. /* Define in doprnt.c */
  31. extern int doprnt (char *buffer, int bufsize, 
  32.                    char *format, char *format_end, 
  33.                    int nargs, char **args);
  34.  
  35. /* Defined in data.c */
  36. extern Lisp_Object Qnil, Qt, Qquote, Qlambda, Qfunction, Qunbound;
  37. extern Lisp_Object Qerror_conditions, Qerror_message, Qtop_level;
  38. extern Lisp_Object Qerror, Qquit, Qwrong_type_argument, Qargs_out_of_range;
  39. extern Lisp_Object Qvoid_variable, Qvoid_function;
  40. extern Lisp_Object Qsetting_constant, Qinvalid_read_syntax;
  41. extern Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch;
  42. extern Lisp_Object Qend_of_file, Qarith_error;
  43. extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only;
  44.  
  45. extern Lisp_Object Qintegerp, Qnatnump, Qsymbolp, Qlistp, Qconsp;
  46. extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp;
  47. extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qvectorp;
  48. extern Lisp_Object Qinteger_or_marker_p, Qboundp, Qfboundp;
  49. extern Lisp_Object Qcdr;
  50.  
  51. extern Lisp_Object Qnumberp, Qnumber_or_marker_p;
  52.  
  53. extern Lisp_Object Qeval;
  54. extern Lisp_Object Qeventp;
  55. extern Lisp_Object Qstring_or_buffer_p;
  56.  
  57. extern Lisp_Object Qfloatp;
  58. extern Lisp_Object Ftruncate (Lisp_Object n);
  59.  
  60. extern Lisp_Object Flistp (Lisp_Object x);
  61.  
  62. extern Lisp_Object Fcar (Lisp_Object cons), Fcar_safe (Lisp_Object cons);
  63. extern Lisp_Object Fcdr (Lisp_Object cons), Fcdr_safe (Lisp_Object cons);
  64. extern Lisp_Object Fsetcar (Lisp_Object cons, Lisp_Object val);
  65. extern Lisp_Object Fsetcdr (Lisp_Object cons, Lisp_Object val);
  66. extern Lisp_Object Faref (Lisp_Object array, Lisp_Object idx);
  67. extern Lisp_Object Faset (Lisp_Object array, Lisp_Object idx, Lisp_Object x);
  68. extern Lisp_Object Farray_length (Lisp_Object array);
  69. extern Lisp_Object Felt (Lisp_Object seq, Lisp_Object idx);
  70.  
  71. extern Lisp_Object Fboundp (Lisp_Object sym);
  72. extern Lisp_Object Ffboundp (Lisp_Object);
  73. extern Lisp_Object Ffset (Lisp_Object sym, Lisp_Object val);
  74. extern Lisp_Object Fsymbol_plist (Lisp_Object sym);
  75. extern Lisp_Object Fsetplist (Lisp_Object sym, Lisp_Object val);
  76. extern Lisp_Object Fsymbol_function (Lisp_Object sym);
  77. extern Lisp_Object Fsymbol_value (Lisp_Object sym);
  78. extern Lisp_Object Fdefault_value (Lisp_Object sym);
  79. extern Lisp_Object Fdefault_boundp (Lisp_Object sym);
  80. extern Lisp_Object Fset (Lisp_Object sym, Lisp_Object val);
  81. extern Lisp_Object Fset_default (Lisp_Object sym, Lisp_Object val);
  82. extern Lisp_Object Fsymbol_name (Lisp_Object sym);
  83. extern Lisp_Object Findirect_function (Lisp_Object object);
  84. extern Lisp_Object indirect_function (Lisp_Object object, int error);
  85. void decache_buffer_local_variables (struct buffer *buf);
  86. extern void store_symval_forwarding (Lisp_Object sym,
  87.                                      Lisp_Object valcontents, 
  88.                                      Lisp_Object newval);
  89. extern Lisp_Object Fmake_local_variable (Lisp_Object object);
  90. extern Lisp_Object Fzerop (Lisp_Object);
  91. extern Lisp_Object Fint_to_string (Lisp_Object num);
  92. extern Lisp_Object Fstring_to_int (Lisp_Object str);
  93.  
  94. extern Lisp_Object make_number (int);
  95. extern void pure_write_error (void);
  96. extern void args_out_of_range (Lisp_Object, Lisp_Object);
  97. extern void args_out_of_range_3 (Lisp_Object, Lisp_Object, Lisp_Object);
  98. extern Lisp_Object wrong_type_argument (Lisp_Object pred, Lisp_Object value);
  99.  
  100. extern Lisp_Object Fquo (int nargs, Lisp_Object *args);
  101. extern Lisp_Object Fsub1 (Lisp_Object num);
  102. extern Lisp_Object Fadd1 (Lisp_Object num);
  103. extern Lisp_Object Fgtr (Lisp_Object num1, Lisp_Object num2);
  104. extern Lisp_Object Flss (Lisp_Object num1, Lisp_Object num2);
  105. extern Lisp_Object Fleq (Lisp_Object num1, Lisp_Object num2);
  106. extern Lisp_Object Fgeq (Lisp_Object num1, Lisp_Object num2);
  107. extern Lisp_Object Fminus (int nargs, Lisp_Object *args);
  108. extern Lisp_Object Fplus (int nargs, Lisp_Object *args);
  109. extern Lisp_Object Fmin (int nargs, Lisp_Object *args);
  110. extern Lisp_Object Fmax (int nargs, Lisp_Object *args);
  111. extern Lisp_Object Ftimes (int nargs, Lisp_Object *args);
  112. extern Lisp_Object Frem (Lisp_Object num1, Lisp_Object num2);
  113.  
  114. /* defined in floatfns.c */
  115. extern double extract_float (Lisp_Object);
  116. extern Lisp_Object Ffloat (Lisp_Object n);
  117.  
  118.  
  119. /* Defined in fns.c */
  120.  
  121. #ifdef NEED_STRDUP
  122. extern char *strdup (char *);
  123. #endif
  124.  
  125. extern Lisp_Object word_to_lisp (unsigned int);
  126. extern unsigned int lisp_to_word (Lisp_Object);
  127.  
  128. extern Lisp_Object list_sort (Lisp_Object list, 
  129.                               Lisp_Object lisp_arg,
  130.                               int (*pred_fn) (Lisp_Object first,
  131.                                               Lisp_Object second,
  132.                                               Lisp_Object lisp_arg));
  133. extern Lisp_Object Fsort (Lisp_Object list, 
  134.                           Lisp_Object pred);
  135. extern Lisp_Object merge (Lisp_Object org_l1, Lisp_Object org_l2,
  136.                           Lisp_Object pred);
  137.  
  138. extern Lisp_Object safe_funcall_hook (Lisp_Object hook, 
  139.                                       int nargs, Lisp_Object arg1,
  140.                                       Lisp_Object arg2, 
  141.                                       Lisp_Object arg3);
  142.  
  143. extern Lisp_Object Qstring_lessp;
  144. extern Lisp_Object Vfeatures;
  145. extern Lisp_Object Fidentity (Lisp_Object x);
  146. extern Lisp_Object Frandom (Lisp_Object arg);
  147. extern Lisp_Object Flength (Lisp_Object seq);
  148. extern Lisp_Object Fappend (int nargs, Lisp_Object *args);
  149. extern Lisp_Object Fconcat (int nargs, Lisp_Object *args);
  150. extern Lisp_Object Fvconcat (int nargs, Lisp_Object *args);
  151. extern Lisp_Object Fcopy_sequence (Lisp_Object seq);
  152. extern Lisp_Object Fsubstring (Lisp_Object str, Lisp_Object s, Lisp_Object e);
  153. extern Lisp_Object Fnthcdr (Lisp_Object n, Lisp_Object list);
  154. extern Lisp_Object Fmemq (Lisp_Object elt, Lisp_Object list);
  155. extern Lisp_Object Fassq (Lisp_Object key, Lisp_Object alist);
  156. extern Lisp_Object Fassoc (Lisp_Object elt, Lisp_Object list);
  157. extern Lisp_Object Fdelete (Lisp_Object elt, Lisp_Object list);
  158. extern Lisp_Object Fmember (Lisp_Object elt, Lisp_Object list);
  159. extern Lisp_Object Frassq (Lisp_Object key, Lisp_Object alist);
  160. extern Lisp_Object Fdelq (Lisp_Object elt, Lisp_Object list);
  161. extern Lisp_Object memq_no_quit (Lisp_Object elt, Lisp_Object list);
  162. extern Lisp_Object delq_no_quit (Lisp_Object elt, Lisp_Object list);
  163. extern Lisp_Object assq_no_quit (Lisp_Object key, Lisp_Object alist);
  164. extern Lisp_Object rassq_no_quit (Lisp_Object key, Lisp_Object alist);
  165. extern Lisp_Object assoc_no_quit (Lisp_Object key, Lisp_Object alist);
  166. extern Lisp_Object Freverse (Lisp_Object list), Fnreverse (Lisp_Object list);
  167. extern Lisp_Object Fget (Lisp_Object sym, Lisp_Object prop);
  168. extern Lisp_Object Fput (Lisp_Object sym, Lisp_Object prop, Lisp_Object val);
  169. extern Lisp_Object Fremprop (Lisp_Object sym, Lisp_Object prop);
  170. extern Lisp_Object Fequal (Lisp_Object one, Lisp_Object two);
  171. extern Lisp_Object Ffillarray (Lisp_Object array, Lisp_Object init);
  172. extern Lisp_Object Fnconc (int nargs, Lisp_Object *args);
  173. extern Lisp_Object Fmapcar (Lisp_Object fn, Lisp_Object seq);
  174. extern Lisp_Object Qyes_or_no_p;
  175. extern Lisp_Object Ffeaturep (Lisp_Object name);
  176. extern Lisp_Object Frequire (Lisp_Object name, Lisp_Object filename);
  177. extern Lisp_Object Fprovide (Lisp_Object name);
  178. extern Lisp_Object concat2 (Lisp_Object s1, Lisp_Object s2);
  179. extern Lisp_Object nconc2 (Lisp_Object l1, Lisp_Object l2);
  180. extern Lisp_Object Fcopy_alist (Lisp_Object alist);
  181. extern Lisp_Object Fplay_sound (Lisp_Object sound, Lisp_Object volume);
  182.  
  183. extern void bitch_at_user (Lisp_Object sound);
  184.  
  185. /* Defined in alloc.c */
  186. extern void memory_full (void);
  187. extern void *xmalloc (int size);
  188. extern void *xrealloc (void *p, int size);
  189. extern void xfree (void *p);
  190. extern void disksave_object_finalisation (void);
  191. extern Lisp_Object Vpurify_flag;
  192. extern Lisp_Object Fcons (Lisp_Object car, Lisp_Object cdr);
  193. extern Lisp_Object Flist (int nargs, Lisp_Object *args);
  194. extern Lisp_Object Fmake_list (Lisp_Object length, Lisp_Object init);
  195. extern Lisp_Object Fmake_vector (Lisp_Object length, Lisp_Object init);
  196. extern Lisp_Object Fvector (Lisp_Object nargs, Lisp_Object *args);
  197. extern Lisp_Object Fmake_symbol (Lisp_Object name);
  198. extern Lisp_Object Fmake_marker (void);
  199. extern Lisp_Object Fmake_string (Lisp_Object length, Lisp_Object init);
  200. extern Lisp_Object build_string (const char *);
  201. extern Lisp_Object make_string (const char *, int);
  202. extern Lisp_Object Fpurecopy (Lisp_Object);
  203. extern Lisp_Object make_pure_string (const char *, int);
  204. extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object);
  205. extern Lisp_Object make_pure_vector (int len, enum Lisp_Type vector_type);
  206. extern Lisp_Object make_float (double float_value);
  207. extern Lisp_Object Fgarbage_collect (void);
  208. extern Lisp_Object list1 (Lisp_Object);
  209. extern Lisp_Object list2 (Lisp_Object, Lisp_Object);
  210. extern Lisp_Object list3 (Lisp_Object, Lisp_Object, Lisp_Object);
  211. extern Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
  212. extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object,
  213.               Lisp_Object);
  214. extern void free_cons (struct Lisp_Cons *ptr);
  215.  
  216.  
  217. /* Defined in print.c */
  218. extern Lisp_Object Vprin1_to_string_buffer;
  219. extern Lisp_Object Fprin1 (Lisp_Object obj, Lisp_Object printcharfun);
  220. extern Lisp_Object Fprinc (Lisp_Object obj, Lisp_Object printcharfun);
  221. extern Lisp_Object Fprint (Lisp_Object obj, Lisp_Object printcharfun);
  222. extern Lisp_Object Fprin1_to_string (Lisp_Object obj, Lisp_Object noescape);
  223. extern Lisp_Object Fterpri (Lisp_Object printcharfun);
  224. extern Lisp_Object Vstandard_output, Qstandard_output;
  225. extern void temp_output_buffer_setup (const char *bufname);
  226. extern void temp_output_buffer_show (Lisp_Object buf, Lisp_Object same_scrn);
  227. /* NOTE:  Do not call this with the data of a Lisp_String.  Use princ. */
  228. extern void write_string_internal (const char *ptr, int size, 
  229.                                    Lisp_Object printcharfun);
  230. /* NOTE:  Do not call this with the data of a Lisp_String.  Use princ */
  231. extern void write_string (const char *data, int size);
  232. extern void write_string_1 (char *, int, Lisp_Object);
  233. extern void print_internal (Lisp_Object obj, 
  234.                             Lisp_Object printcharfun, 
  235.                             Lisp_Object escapeflag);
  236. extern int Vprint_level;
  237. extern int Vprint_length;
  238. extern int print_escape_newlines;
  239. extern int print_readably;
  240. extern Lisp_Object Qprint_escape_newlines;
  241. extern Lisp_Object internal_with_output_to_temp_buffer
  242.   (const char *bufname, 
  243.    Lisp_Object (*function) (Lisp_Object args),
  244.    Lisp_Object args,
  245.    Lisp_Object same_screen);
  246. extern void temp_output_buffer_setup (const char *bufname);
  247. extern void float_to_string (char *buf, double data);
  248.  
  249.  
  250.  
  251. /* Defined in lread.c */
  252. extern Lisp_Object Qvariable_documentation, Qstandard_input, Qread_char;
  253. extern Lisp_Object Vobarray, Vstandard_input;
  254. extern Lisp_Object Fread (Lisp_Object readcharfun);
  255. extern Lisp_Object Fread_from_string (Lisp_Object string, 
  256.                                       Lisp_Object start, Lisp_Object end);
  257. extern Lisp_Object Fintern (Lisp_Object str, Lisp_Object obarray);
  258. extern Lisp_Object Fintern_soft (Lisp_Object str, Lisp_Object obarray);
  259. extern Lisp_Object Fload (Lisp_Object filename, Lisp_Object missing_ok,
  260.                           Lisp_Object nomessage, Lisp_Object nosuffix);
  261. extern int locate_file (Lisp_Object path, 
  262.                         Lisp_Object str, const char *suffix, 
  263.                         Lisp_Object *storeptr, int mode);
  264. extern Lisp_Object intern (const char *);
  265. extern Lisp_Object oblookup (Lisp_Object obarray,
  266.                  const unsigned char *s, int len);
  267. extern void map_obarray (Lisp_Object obarray, 
  268.                          void (*fn) (Lisp_Object sym, Lisp_Object arg),
  269.                          Lisp_Object arg);
  270. extern int isfloat_string (const char *s);
  271.  
  272. void defsymbol (Lisp_Object *location, const char *name);
  273.  
  274.  
  275. /* Defined in editfns.c */
  276. extern int clip_to_bounds (int lower, int num, int upper);
  277. extern Lisp_Object Fwiden (void);
  278. extern Lisp_Object Fnarrow_to_region (Lisp_Object b, Lisp_Object e);
  279. extern Lisp_Object Vprefix_arg, Vcurrent_prefix_arg;
  280. extern Lisp_Object Qminus, Qcurrent_prefix_arg;
  281. extern Lisp_Object Fgoto_char (Lisp_Object pos);
  282. extern Lisp_Object Fpoint_min_marker (void), Fpoint_max_marker (void);
  283. extern Lisp_Object Fpoint_min (void), Fpoint_max (void);
  284. extern Lisp_Object Fpoint (void);
  285. extern Lisp_Object Fpoint_marker (Lisp_Object dont_copy_p);
  286. extern Lisp_Object Fmark_marker (Lisp_Object inactive_p);
  287. extern Lisp_Object Ffollowing_char (void), Fprevious_char (void);
  288. extern Lisp_Object Fchar_after (Lisp_Object pos);
  289. extern Lisp_Object Finsert (int nargs, Lisp_Object *args);
  290. extern Lisp_Object Finsert_char (Lisp_Object ch, Lisp_Object count);
  291. extern void insert1 (Lisp_Object arg);
  292. extern Lisp_Object Finsert_before_markers (int nargs, Lisp_Object *args);
  293. extern Lisp_Object Finsert_buffer_substring (Lisp_Object buffer, 
  294.                                              Lisp_Object b, Lisp_Object e);
  295. extern Lisp_Object Fdelete_region (Lisp_Object b, Lisp_Object e);
  296. extern Lisp_Object Feolp (void), Feobp (void), Fbolp (void), Fbobp (void);
  297. extern Lisp_Object Fformat (int nargs, Lisp_Object *args);
  298. extern Lisp_Object format1 ();
  299. extern Lisp_Object Fbuffer_substring (Lisp_Object start, Lisp_Object end);
  300. extern Lisp_Object Fbuffer_string (void);
  301. extern Lisp_Object make_string_from_buffer (struct buffer *buf,
  302.                                             int index, int length);
  303. extern Lisp_Object Fstring_equal (Lisp_Object s1, Lisp_Object s2);
  304. extern Lisp_Object Fstring_lessp (Lisp_Object s1, Lisp_Object s2);
  305. extern Lisp_Object Fbuffer_substring_lessp ();
  306. extern Lisp_Object save_excursion_save (void), save_restriction_save (void);
  307. extern Lisp_Object save_excursion_restore (Lisp_Object info);
  308. extern Lisp_Object save_restriction_restore (Lisp_Object info);
  309. extern Lisp_Object Fchar_to_string (Lisp_Object ch);
  310. extern Lisp_Object Fzmacs_activate_region (void);
  311. extern Lisp_Object Fzmacs_deactivate_region (void);
  312. extern Lisp_Object Fcurrent_time_seconds (Lisp_Object cons);
  313.  
  314.  
  315. /* Defined in cmds.c */
  316. extern Lisp_Object Fforward_char (Lisp_Object n);
  317. extern Lisp_Object Fforward_line (Lisp_Object n);
  318. extern Lisp_Object Fend_of_line (Lisp_Object n);
  319. extern Lisp_Object Fbeginning_of_line (Lisp_Object n);
  320.  
  321.  
  322. /* Defined in buffer.c */
  323. extern Lisp_Object Vbuffer_alist;
  324. extern void validate_region (Lisp_Object *beginning, Lisp_Object *end);
  325. extern void record_buffer (Lisp_Object buf);
  326.  
  327. extern Lisp_Object Fbuffer_list (Lisp_Object);
  328. extern Lisp_Object Fget_buffer (Lisp_Object);
  329. extern Lisp_Object Fget_file_buffer (Lisp_Object);
  330. extern Lisp_Object Fget_buffer_create (Lisp_Object);
  331. extern Lisp_Object Fgenerate_new_buffer_name (Lisp_Object);
  332. extern Lisp_Object Fbuffer_name (Lisp_Object);
  333. extern Lisp_Object Fbuffer_file_name (Lisp_Object);
  334. extern Lisp_Object Fbuffer_local_variables (Lisp_Object);
  335. extern Lisp_Object Fbuffer_modified_p (Lisp_Object);
  336. extern Lisp_Object Fset_buffer_modified_p (Lisp_Object);
  337. extern Lisp_Object Fbuffer_modified_tick (Lisp_Object);
  338. extern Lisp_Object Frename_buffer (Lisp_Object, Lisp_Object);
  339. extern Lisp_Object Fother_buffer (Lisp_Object, Lisp_Object);
  340. extern Lisp_Object Fbuffer_disable_undo (Lisp_Object);
  341. extern Lisp_Object Fbuffer_enable_undo (Lisp_Object);
  342. extern Lisp_Object Fkill_buffer (Lisp_Object);
  343. extern Lisp_Object Fswitch_to_buffer (Lisp_Object, Lisp_Object);
  344. extern Lisp_Object Fpop_to_buffer (Lisp_Object, Lisp_Object, Lisp_Object);
  345. extern Lisp_Object Fcurrent_buffer (void);
  346. extern Lisp_Object Fset_buffer (Lisp_Object);
  347. extern Lisp_Object Fbarf_if_buffer_read_only (void);
  348. extern Lisp_Object Fbury_buffer (Lisp_Object);
  349. extern Lisp_Object Ferase_buffer (void);
  350. extern Lisp_Object Fkill_all_local_variables (void);
  351.  
  352.  
  353. /* defined in marker.c */
  354.  
  355. extern int marker_position (Lisp_Object marker);
  356. extern void unchain_marker (Lisp_Object marker);
  357. extern Lisp_Object Fset_marker (Lisp_Object marker, 
  358.                                 Lisp_Object pos, Lisp_Object buffer);
  359. extern Lisp_Object Fmarker_position (Lisp_Object m);
  360. extern Lisp_Object Fmarker_buffer (Lisp_Object m);
  361. extern Lisp_Object Fcopy_marker (Lisp_Object m);
  362. extern Lisp_Object set_marker_restricted (Lisp_Object marker,
  363.                                           Lisp_Object pos, Lisp_Object buf);
  364.  
  365. /* defined in fileio.c */
  366.  
  367. extern Lisp_Object Qfile_error;
  368.  
  369. extern Lisp_Object Ffile_name_directory (Lisp_Object);
  370. extern Lisp_Object Ffile_name_nondirectory (Lisp_Object);
  371. extern Lisp_Object Ffile_name_as_directory (Lisp_Object);
  372. extern Lisp_Object Fdirectory_file_name (Lisp_Object);
  373. extern Lisp_Object Fmake_temp_name (Lisp_Object);
  374. extern Lisp_Object Fexpand_file_name (Lisp_Object, Lisp_Object);
  375. extern Lisp_Object Ftruename (Lisp_Object, Lisp_Object);
  376. extern Lisp_Object Fsubstitute_in_file_name (Lisp_Object);
  377. extern Lisp_Object Fcopy_file (Lisp_Object, Lisp_Object,
  378.                    Lisp_Object, Lisp_Object);
  379. extern Lisp_Object Fmake_directory (Lisp_Object);
  380. extern Lisp_Object Fremove_directory (Lisp_Object);
  381. extern Lisp_Object Fdelete_file (Lisp_Object);
  382. extern Lisp_Object Frename_file (Lisp_Object, Lisp_Object, Lisp_Object);
  383. extern Lisp_Object Fadd_name_to_file (Lisp_Object, Lisp_Object, Lisp_Object);
  384. extern Lisp_Object Ffile_name_absolute_p (Lisp_Object);
  385. extern Lisp_Object Ffile_exists_p (Lisp_Object);
  386. extern Lisp_Object Ffile_executable_p (Lisp_Object);
  387. extern Lisp_Object Ffile_readable_p (Lisp_Object);
  388. extern Lisp_Object Ffile_symlink_p (Lisp_Object);
  389. extern Lisp_Object Ffile_writable_p (Lisp_Object);
  390. extern Lisp_Object Ffile_directory_p (Lisp_Object);
  391. extern Lisp_Object Ffile_modes (Lisp_Object);
  392. extern Lisp_Object Fset_file_modes (Lisp_Object, Lisp_Object);
  393. extern Lisp_Object Ffile_newer_than_file_p (Lisp_Object, Lisp_Object);
  394. extern Lisp_Object Finsert_file_contents (Lisp_Object, Lisp_Object);
  395. extern Lisp_Object Fwrite_region (Lisp_Object, Lisp_Object, Lisp_Object,
  396.                   Lisp_Object, Lisp_Object);
  397. extern Lisp_Object Fverify_visited_file_modtime (Lisp_Object);
  398. extern Lisp_Object Fclear_visited_file_modtime (void);
  399. extern Lisp_Object Fset_visited_file_modtime (void);
  400. extern Lisp_Object Fset_buffer_modtime (Lisp_Object, Lisp_Object);
  401. extern Lisp_Object Fdo_auto_save (Lisp_Object);
  402. extern Lisp_Object Fset_buffer_auto_saved (void);
  403. extern Lisp_Object Frecent_auto_save_p (void);
  404. extern void report_file_error (const char *, Lisp_Object);
  405.  
  406.  
  407. /* defined in filelock.c */
  408.  
  409. extern void lock_file (Lisp_Object fn);
  410. extern void unlock_file (Lisp_Object fn);
  411. extern void unlock_all_files (void);
  412. extern Lisp_Object Flock_buffer (Lisp_Object fn);
  413. extern Lisp_Object Funlock_buffer (void);
  414. extern void unlock_buffer (struct buffer *buffer);
  415. extern Lisp_Object Ffile_locked_p (Lisp_Object fn);
  416.  
  417.  
  418. /* defined in event-stream.c */
  419.  
  420. extern Lisp_Object Finput_pending_p (void);
  421. extern Lisp_Object Fenqueue_command_event (Lisp_Object, Lisp_Object);
  422. extern Lisp_Object Fnext_event (Lisp_Object);
  423. extern Lisp_Object Fnext_command_event (Lisp_Object);
  424. extern Lisp_Object Fread_char (void);
  425. extern Lisp_Object Fdiscard_input (void);
  426. extern Lisp_Object Faccept_process_output (Lisp_Object);
  427. extern Lisp_Object Fsleep_for (Lisp_Object);
  428. extern Lisp_Object Fsit_for (Lisp_Object, Lisp_Object);
  429. extern Lisp_Object Fadd_timeout (Lisp_Object, Lisp_Object,
  430.                  Lisp_Object, Lisp_Object);
  431. extern Lisp_Object Fdisable_timeout (Lisp_Object);
  432. extern Lisp_Object Fdispatch_event (Lisp_Object);
  433. extern Lisp_Object Fread_key_sequence (Lisp_Object);
  434.  
  435. extern void wait_delaying_user_input (int (*predicate) (void *arg),
  436.                                       void *predicate_arg);
  437. extern int detect_input_pending (void);
  438. extern void enqueue_command_event (Lisp_Object event);
  439. extern void cancel_echoing ();
  440.  
  441. /* Defined in events.c */
  442.  
  443. extern Lisp_Object Fevent_to_character (Lisp_Object, Lisp_Object);
  444. extern Lisp_Object Fcharacter_to_event (Lisp_Object, Lisp_Object);
  445. extern Lisp_Object Feventp (Lisp_Object);
  446. extern Lisp_Object Fkey_press_event_p (Lisp_Object);
  447. extern Lisp_Object Fbutton_press_event_p (Lisp_Object);
  448. extern Lisp_Object Fbutton_release_event_p (Lisp_Object);
  449. extern Lisp_Object Fbutton_event_p (Lisp_Object);
  450. extern Lisp_Object Fmotion_event_p (Lisp_Object);
  451. extern Lisp_Object Fprocess_event_p (Lisp_Object);
  452. extern Lisp_Object Ftimeout_event_p (Lisp_Object);
  453. extern Lisp_Object Fmenu_event_p (Lisp_Object);
  454. extern Lisp_Object Feval_event_p (Lisp_Object);
  455. extern Lisp_Object Fevent_timestamp (Lisp_Object);
  456. extern Lisp_Object Fevent_key (Lisp_Object);
  457. extern Lisp_Object Fevent_button (Lisp_Object);
  458. extern Lisp_Object Fevent_modifier_bits (Lisp_Object);
  459. extern Lisp_Object Fevent_modifiers (Lisp_Object);
  460. extern Lisp_Object Fevent_x_pixel (Lisp_Object);
  461. extern Lisp_Object Fevent_y_pixel (Lisp_Object);
  462. extern Lisp_Object Fevent_window (Lisp_Object);
  463. extern Lisp_Object Fevent_point (Lisp_Object);
  464. extern Lisp_Object Fevent_x (Lisp_Object);
  465. extern Lisp_Object Fevent_y (Lisp_Object);
  466. extern Lisp_Object Fevent_glyph (Lisp_Object);
  467. extern Lisp_Object Fevent_process (Lisp_Object);
  468. extern Lisp_Object Fevent_function (Lisp_Object);
  469. extern Lisp_Object Fevent_object (Lisp_Object);
  470.  
  471. void character_to_event (unsigned int, struct Lisp_Event *);
  472.  
  473.  
  474. /* Defined in event-alloc.c */
  475.  
  476. extern Lisp_Object Fallocate_event (void);
  477. extern Lisp_Object Fdeallocate_event (Lisp_Object);
  478. extern Lisp_Object Fcopy_event (Lisp_Object, Lisp_Object);
  479.  
  480.  
  481. /* Defined in elhash.c */
  482. extern Lisp_Object Fhashtablep (Lisp_Object obj);
  483. extern Lisp_Object Fmake_hashtable (Lisp_Object size);
  484. extern Lisp_Object Fcopy_hashtable (Lisp_Object old_table);
  485. extern Lisp_Object Fgethash (Lisp_Object key, Lisp_Object table,
  486.                              Lisp_Object def);
  487. extern Lisp_Object Fremhash (Lisp_Object key, Lisp_Object table);
  488. extern Lisp_Object Fputhash (Lisp_Object key, Lisp_Object val,
  489.                              Lisp_Object table);
  490. extern Lisp_Object Fclrhash (Lisp_Object table);
  491. extern Lisp_Object Fhashtable_fullness (Lisp_Object table);
  492. extern Lisp_Object Fmaphash (Lisp_Object function, Lisp_Object table);
  493.  
  494.  
  495. /* defined in process.c */
  496. extern Lisp_Object Fprocessp (Lisp_Object);
  497. extern Lisp_Object Fget_process (Lisp_Object);
  498. extern Lisp_Object Fget_buffer_process (Lisp_Object);
  499. extern Lisp_Object Fdelete_process (Lisp_Object);
  500. extern Lisp_Object Fprocess_status (Lisp_Object);
  501. extern Lisp_Object Fprocess_exit_status (Lisp_Object);
  502. extern Lisp_Object Fprocess_id (Lisp_Object);
  503. extern Lisp_Object Fprocess_name (Lisp_Object);
  504. extern Lisp_Object Fprocess_command (Lisp_Object);
  505. extern Lisp_Object Fset_process_buffer (Lisp_Object, Lisp_Object);
  506. extern Lisp_Object Fprocess_buffer (Lisp_Object);
  507. extern Lisp_Object Fprocess_mark (Lisp_Object);
  508. extern Lisp_Object Fset_process_filter (Lisp_Object, Lisp_Object);
  509. extern Lisp_Object Fprocess_filter (Lisp_Object);
  510. extern Lisp_Object Fprocess_sentinel (Lisp_Object);
  511. extern Lisp_Object Fset_process_sentinel (Lisp_Object, Lisp_Object);
  512. extern Lisp_Object Fprocess_kill_without_query (Lisp_Object, Lisp_Object);
  513. extern Lisp_Object Fprocess_kill_without_query_p (Lisp_Object);
  514. extern Lisp_Object Flist_processes (void);
  515. extern Lisp_Object Fprocess_list (void);
  516. extern Lisp_Object Fstart_process (int, Lisp_Object *);
  517. extern Lisp_Object Fopen_network_stream (Lisp_Object, Lisp_Object,
  518.                      Lisp_Object, Lisp_Object);
  519. extern Lisp_Object Fprocess_send_region (Lisp_Object, Lisp_Object,
  520.                      Lisp_Object);
  521. extern Lisp_Object Fprocess_send_string (Lisp_Object, Lisp_Object);
  522. extern Lisp_Object Finterrupt_process (Lisp_Object, Lisp_Object);
  523. extern Lisp_Object Fkill_process (Lisp_Object, Lisp_Object);
  524. extern Lisp_Object Fquit_process (Lisp_Object, Lisp_Object);
  525. extern Lisp_Object Fstop_process (Lisp_Object, Lisp_Object);
  526. extern Lisp_Object Fcontinue_process (Lisp_Object, Lisp_Object);
  527. extern Lisp_Object Fsignal_process (Lisp_Object, Lisp_Object);
  528. extern Lisp_Object Fprocess_send_eof (Lisp_Object);
  529. extern Lisp_Object Fprocess_connection (Lisp_Object);
  530. extern Lisp_Object Fprocess_send_eof (Lisp_Object);
  531.  
  532.  
  533. /* Defined in abbrev.c */
  534.  
  535. extern Lisp_Object Vfundamental_mode_abbrev_table;
  536. extern Lisp_Object Fexpand_abbrev (void);
  537.  
  538. /* defined in search.c */
  539. struct re_pattern_buffer;
  540. struct re_registers;
  541. extern Lisp_Object Fstring_match (Lisp_Object regexp,
  542.                                   Lisp_Object string, Lisp_Object start);
  543. extern Lisp_Object Fmatch_beginning (Lisp_Object n);
  544. extern Lisp_Object Fmatch_end (Lisp_Object n);
  545. extern Lisp_Object Fskip_chars_forward (Lisp_Object string, Lisp_Object lim);
  546. extern Lisp_Object Fskip_chars_backward (Lisp_Object string, Lisp_Object lim);
  547. extern int scan_buffer (int target, int pos, int cnt, int *shortage);
  548. extern int find_next_newline (int from, int cnt);
  549. extern void compile_pattern (Lisp_Object pattern, 
  550.                              struct re_pattern_buffer *bufp, 
  551.                              char *translate);
  552. int fast_string_match (Lisp_Object regexp, Lisp_Object string);
  553.  
  554. /* defined in syntax.c */
  555. extern int scan_words (int from, int count);
  556. extern Lisp_Object Fforward_word (Lisp_Object n);
  557.  
  558.  
  559. /* defined in minibuf.c */
  560.  
  561. extern int scmp (const char *s1, const char *s2, int len);
  562.  
  563. extern Lisp_Object Fread_from_minibuffer (Lisp_Object prompt, 
  564.                                           Lisp_Object init,
  565.                                           Lisp_Object keymap,
  566.                                           Lisp_Object read_crock,
  567.                                           Lisp_Object hist);
  568. extern Lisp_Object Qread_from_minibuffer;
  569.  
  570. extern Lisp_Object Vminibuffer_zero;
  571.  
  572. /* Defined in callint.c */
  573.  
  574. extern Lisp_Object Vcommand_history;
  575. extern Lisp_Object Qcall_interactively;
  576. extern Lisp_Object Fcall_interactively (Lisp_Object fn, Lisp_Object record);
  577. extern Lisp_Object Fprefix_numeric_value (Lisp_Object prefix);
  578. extern Lisp_Object Qenable_recursive_minibuffers;
  579. extern Lisp_Object Qcompleting_read;
  580. extern Lisp_Object Qread_file_name;
  581. extern Lisp_Object Qread_directory_name;
  582. extern Lisp_Object Qread_buffer;
  583.  
  584. /* defined in casefiddle.c */
  585.  
  586. extern Lisp_Object Fupcase (Lisp_Object obj);
  587. extern Lisp_Object Fdowncase (Lisp_Object obj);
  588. extern Lisp_Object Fcapitalize (Lisp_Object obj);
  589. extern Lisp_Object Fupcase_region (Lisp_Object b, Lisp_Object e);
  590. extern Lisp_Object Fdowncase_region (Lisp_Object b, Lisp_Object e);
  591. extern Lisp_Object Fcapitalize_region (Lisp_Object b, Lisp_Object e);
  592. extern Lisp_Object upcase_initials_region (Lisp_Object b, Lisp_Object e);
  593. extern Lisp_Object Fupcase_word (Lisp_Object arg);
  594. extern Lisp_Object Fdowncase_word (Lisp_Object arg);
  595. extern Lisp_Object Fcapitalize_word (Lisp_Object arg);
  596.  
  597. /* defined in keyboard.c */
  598.  
  599. extern int interrupt_char;
  600. extern Lisp_Object help_char;
  601. extern Lisp_Object Vhelp_form, Vcommand_loop;
  602. extern void initial_command_loop (void);
  603. extern Lisp_Object Fdiscard_input (void), Frecursive_edit (void);
  604. extern Lisp_Object Fcommand_execute (Lisp_Object cmd, Lisp_Object record);
  605. extern Lisp_Object Finput_pending_p (void);
  606. extern Lisp_Object Qhelp_form;
  607. extern void stuff_buffered_input (Lisp_Object stuffstring);
  608. extern Lisp_Object Fset_input_mode (Lisp_Object interrupt,
  609.                                     Lisp_Object flow, 
  610.                                     Lisp_Object meta);
  611. extern SIGTYPE interrupt_signal (int dummy);
  612.  
  613.  
  614. /* defined in keymap.c */
  615. extern Lisp_Object Fmake_keymap (void);
  616. extern Lisp_Object Fmake_sparse_keymap (void);
  617. extern Lisp_Object Fkeymap_parent (Lisp_Object);
  618. extern Lisp_Object Fset_keymap_parent (Lisp_Object, Lisp_Object);
  619. extern Lisp_Object Fset_keymap_name (Lisp_Object, Lisp_Object);
  620. extern Lisp_Object Fkeymapp (Lisp_Object);
  621. extern Lisp_Object Fcopy_keymap (Lisp_Object);
  622. extern Lisp_Object Fkeymap_fullness (Lisp_Object);
  623. extern Lisp_Object Fdefine_key (Lisp_Object, Lisp_Object, Lisp_Object);
  624. extern Lisp_Object Flookup_key (Lisp_Object, Lisp_Object);
  625. extern Lisp_Object Fkey_binding (Lisp_Object);
  626. extern Lisp_Object Fuse_global_map (Lisp_Object);
  627. extern Lisp_Object Fuse_local_map (Lisp_Object);
  628. extern Lisp_Object Fcurrent_local_map (void);
  629. extern Lisp_Object Fcurrent_global_map (void);
  630. extern Lisp_Object Fmap_keymap (Lisp_Object, Lisp_Object, Lisp_Object);
  631. extern Lisp_Object Faccessible_keymaps (Lisp_Object);
  632. extern Lisp_Object Fkey_description (Lisp_Object);
  633. extern Lisp_Object Fsingle_key_description (Lisp_Object);
  634. extern Lisp_Object Ftext_char_description (Lisp_Object);
  635. extern Lisp_Object Fwhere_is_internal (Lisp_Object, Lisp_Object,
  636.                        Lisp_Object, Lisp_Object, Lisp_Object);
  637. extern Lisp_Object Fdescribe_bindings (Lisp_Object);
  638. extern Lisp_Object Fapropos_internal (Lisp_Object, Lisp_Object);
  639.  
  640. extern void where_is_to_char (Lisp_Object definition, 
  641.                               Lisp_Object local_map, Lisp_Object global_map,
  642.                               char *buf);
  643. extern void describe_map_tree (Lisp_Object startmap, int partial,
  644.                                Lisp_Object shadow, Lisp_Object chartab,
  645.                                int mice_only_p);
  646. extern Lisp_Object Fmake_sparse_keymap (void);
  647.  
  648. extern Lisp_Object get_keymap (Lisp_Object, int);
  649.  
  650. /* defined in indent.c */ 
  651. extern Lisp_Object Fvertical_motion (Lisp_Object, Lisp_Object); 
  652. extern Lisp_Object Findent_to (Lisp_Object, Lisp_Object); 
  653. extern Lisp_Object Fcurrent_column (void); 
  654. extern int current_column (void);
  655.  
  656.  
  657. /* defined in undo.c */
  658. extern Lisp_Object Fundo_boundary (void);
  659. extern Lisp_Object truncate_undo_list (Lisp_Object list, int min, int max);
  660. extern void record_change (int beg, int length);
  661. extern void record_insert (int beg, int length);
  662. extern void record_delete (int beg, int length);
  663. extern void modify_region (int start, int end);
  664.  
  665. /* defined in insdel.c */
  666.  
  667. extern void prepare_to_modify_buffer (int, int);
  668. extern void modify_region (int, int);
  669. extern void signal_before_change (int, int);
  670. extern void signal_after_change (int, int, int);
  671. extern void insert_relocatable_raw_string (const char *, int, Lisp_Object);
  672. extern void insert_from_string (Lisp_Object, int, int);
  673. extern void insert_raw_string (const char *, int);
  674. extern void insert (const char *, int);
  675. extern void insert_string (const char *);
  676. extern void insert_char (char);
  677. extern void insert_before_markers (const char *, int);
  678. extern void insert_from_string_before_markers (Lisp_Object, int, int);
  679. extern void insert_buffer_string (struct buffer *, int, int);
  680. extern void del_range (int, int);
  681.  
  682.  
  683. /* defined in window.c */
  684.  
  685. extern Lisp_Object Qwindowp;
  686. extern Lisp_Object Fselected_window (void);
  687. extern Lisp_Object Fminibuffer_window (void);
  688. extern Lisp_Object Fwindow_minibuffer_p (Lisp_Object);
  689. extern Lisp_Object Fpos_visible_in_window_p (Lisp_Object, Lisp_Object);
  690. extern Lisp_Object Fwindow_buffer (Lisp_Object);
  691. extern Lisp_Object Fwindow_height (Lisp_Object);
  692. extern Lisp_Object Fwindow_width (Lisp_Object);
  693. extern Lisp_Object Fwindow_hscroll (Lisp_Object);
  694. extern Lisp_Object Fset_window_hscroll (Lisp_Object, Lisp_Object);
  695. extern Lisp_Object Fwindow_edges (Lisp_Object);
  696. extern Lisp_Object Fwindow_point (Lisp_Object);
  697. extern Lisp_Object Fwindow_start (Lisp_Object);
  698. extern Lisp_Object Fwindow_end (Lisp_Object);
  699. extern Lisp_Object Fset_window_point (Lisp_Object, Lisp_Object);
  700. extern Lisp_Object Fset_window_start (Lisp_Object, Lisp_Object, Lisp_Object);
  701. extern Lisp_Object Fwindow_dedicated_p (Lisp_Object);
  702. extern Lisp_Object Fset_window_buffer_dedicated (Lisp_Object, Lisp_Object);
  703. extern Lisp_Object Fwindow_display_table (Lisp_Object);
  704. extern Lisp_Object Fset_window_display_table (Lisp_Object, Lisp_Object);
  705. extern Lisp_Object Fdelete_window (Lisp_Object);
  706. extern Lisp_Object Fnext_window (Lisp_Object, Lisp_Object,
  707.                  Lisp_Object, Lisp_Object);
  708. extern Lisp_Object Fprevious_window (Lisp_Object, Lisp_Object,
  709.                      Lisp_Object, Lisp_Object);
  710. extern Lisp_Object Fother_window (Lisp_Object, Lisp_Object, Lisp_Object);
  711. extern Lisp_Object Fget_lru_window (Lisp_Object);
  712. extern Lisp_Object Fget_largest_window (Lisp_Object);
  713. extern Lisp_Object Fget_buffer_window (Lisp_Object, Lisp_Object, Lisp_Object);
  714. extern Lisp_Object Fdelete_other_windows (Lisp_Object);
  715. extern Lisp_Object Fdelete_windows_on (Lisp_Object);
  716. extern Lisp_Object Freplace_buffer_in_windows (Lisp_Object);
  717. extern Lisp_Object Fset_window_buffer (Lisp_Object, Lisp_Object);
  718. extern Lisp_Object Fselect_window (Lisp_Object);
  719. extern Lisp_Object Fdisplay_buffer (Lisp_Object, Lisp_Object, Lisp_Object);
  720. extern Lisp_Object Fsplit_window (Lisp_Object, Lisp_Object, Lisp_Object);
  721. extern Lisp_Object Fenlarge_window (Lisp_Object, Lisp_Object);
  722. extern Lisp_Object Fshrink_window (Lisp_Object, Lisp_Object);
  723. extern Lisp_Object Fscroll_up (Lisp_Object);
  724. extern Lisp_Object Fscroll_down (Lisp_Object);
  725. extern Lisp_Object Fscroll_other_window (Lisp_Object);
  726. extern Lisp_Object Fscroll_left (Lisp_Object);
  727. extern Lisp_Object Fscroll_right (Lisp_Object);
  728. extern Lisp_Object Frecenter (Lisp_Object);
  729. extern Lisp_Object Fmove_to_window_line (Lisp_Object);
  730. extern Lisp_Object Fset_window_configuration (Lisp_Object);
  731. extern Lisp_Object Fcurrent_window_configuration (void);
  732. extern Lisp_Object Fsave_window_excursion (Lisp_Object);
  733.  
  734. extern void temp_output_buffer_show (Lisp_Object buf, 
  735.                                      Lisp_Object same_screen);
  736. extern Lisp_Object next_screen_window (struct screen *screen,
  737.                                        Lisp_Object window, Lisp_Object mini);
  738. extern void set_window_height (Lisp_Object window, int height, int nodelete);
  739. extern void set_window_width (Lisp_Object window, int height, int nodelete);
  740. extern Lisp_Object make_window (void);
  741. extern int window_height (Lisp_Object);
  742. extern int window_internal_height (struct window *);
  743. extern void change_window_height (int, int);
  744.  
  745. /* defined in screen.c */
  746. extern Lisp_Object Fscreenp (Lisp_Object obj);
  747. extern Lisp_Object Flive_screen_p (Lisp_Object obj);
  748. extern Lisp_Object Fselect_screen (Lisp_Object scr);
  749. extern Lisp_Object Ffocus_screen ();
  750. extern Lisp_Object Funfocus_screen ();
  751. extern Lisp_Object Fselected_screen (void);
  752. extern Lisp_Object Fwindow_screen (Lisp_Object window);
  753. extern Lisp_Object Fscreen_root_window ();
  754. extern Lisp_Object Fscreen_selected_window ();
  755. extern Lisp_Object Fscreen_list (void);
  756. extern Lisp_Object Fnext_screen (Lisp_Object screen, 
  757.                                  Lisp_Object miniscreen,
  758.                                  Lisp_Object visible_only_p);
  759. extern Lisp_Object Fdelete_screen (Lisp_Object screen);
  760. extern Lisp_Object Fread_mouse_position ();
  761. extern Lisp_Object Fset_mouse_position ();
  762. extern Lisp_Object Fmake_screen_visible ();
  763. extern Lisp_Object Fmake_screen_invisible ();
  764. extern Lisp_Object Ficonify_screen ();
  765. extern Lisp_Object Fdeiconify_screen ();
  766. extern Lisp_Object Fscreen_visible_p (Lisp_Object screen);
  767. extern Lisp_Object Fvisible_screen_list (void);
  768. extern Lisp_Object Fscreen_parameters ();
  769. extern Lisp_Object Fmodify_screen_parameters ();
  770. extern Lisp_Object Fscreen_pixel_size ();
  771. extern Lisp_Object Fscreen_height (Lisp_Object screen);
  772. extern Lisp_Object Fscreen_width (Lisp_Object screen);
  773. extern Lisp_Object Fset_screen_height (Lisp_Object screen,
  774.                                        Lisp_Object rows, Lisp_Object pretend);
  775. extern Lisp_Object Fset_screen_width  (Lisp_Object screen,
  776.                                        Lisp_Object cols, Lisp_Object pretend);
  777. extern Lisp_Object Fset_screen_size (Lisp_Object screen, 
  778.                                      Lisp_Object cols, Lisp_Object rows, 
  779.                                      Lisp_Object pretend);
  780. extern Lisp_Object Fset_screen_position (Lisp_Object screen,
  781.                                          Lisp_Object xoffset, 
  782.                                          Lisp_Object yoffset);
  783. extern Lisp_Object Fcoordinates_in_window_p ();
  784. extern Lisp_Object Flocate_window_from_coordinates ();
  785.  
  786. extern Lisp_Object next_screen (Lisp_Object, int, int);
  787. extern Lisp_Object prev_screen (Lisp_Object, int, int);
  788. extern void change_screen_size (struct screen *, int, int, int);
  789.  
  790.  
  791. /* defined in emacs.c */
  792. extern void fatal ();
  793. extern void message ();
  794. extern SIGTYPE fatal_error_signal (int sig);
  795.  
  796. extern Lisp_Object decode_env_path (const char *evarname, const char *def);
  797. /* Nonzero means don't do interactive redisplay and don't change tty modes */
  798. extern int noninteractive;
  799. /* Nonzero means don't do use window-system-specific display code */
  800. extern int inhibit_window_system;
  801. extern Lisp_Object Fkill_emacs (Lisp_Object arg);
  802.  
  803. /* defined in callproc.c */
  804. extern Lisp_Object Vexec_path, Vexec_directory, Vdata_directory;
  805.  
  806. /* defined in environ.c */
  807. extern int size_of_current_environ (void);
  808. extern void get_current_environ (char **memory_block);
  809. extern Lisp_Object Fgetenv (Lisp_Object var, Lisp_Object interactivep);
  810. /*extern void set_environment_alist (Lisp_Object str, Lisp_Object val);*/
  811.  
  812. /* defined in dispnew.c */
  813. #if 0
  814. Lisp_Object Vglyph_table;
  815. Lisp_Object Vstandard_display_table;
  816. #endif
  817. extern Lisp_Object Vwindow_system;
  818. extern Lisp_Object Vwindow_system_version;
  819. extern Lisp_Object Fding (Lisp_Object arg, Lisp_Object sound);
  820.  
  821.  
  822. /* defined in doc.c */
  823. extern Lisp_Object Vdoc_file_name;
  824. extern Lisp_Object Fsubstitute_command_keys (Lisp_Object string);
  825. extern Lisp_Object Fdocumentation (Lisp_Object fun /*, Lisp_Object raw */);
  826. extern Lisp_Object Fdocumentation_property (Lisp_Object sym, Lisp_Object prop
  827.                                             /* , Lisp_Object raw */);
  828.  
  829. /* defined in bytecode.c */
  830. extern Lisp_Object Qbytecode;
  831. extern Lisp_Object Fbyte_code (Lisp_Object bytestr, 
  832.                                Lisp_Object constants_vector, 
  833.                                Lisp_Object maxdepth);
  834.  
  835. /* defined in macros.c */
  836. extern Lisp_Object Fexecute_kbd_macro (Lisp_Object macro, 
  837.                                        Lisp_Object prefixarg);
  838.  
  839. /* defined in extents.c */
  840. extern void set_point (int position);
  841. extern void set_buffer_point (struct buffer *buffer, int position);
  842. extern Lisp_Object Fmake_extent (Lisp_Object from, Lisp_Object to,
  843.                                  Lisp_Object buffer);
  844. extern Lisp_Object Fset_extent_data (Lisp_Object extent, Lisp_Object data);
  845. extern Lisp_Object replicate_extents (int opoint, int length, 
  846.                                       struct buffer *buf);
  847. extern void print_extent_or_replica (Lisp_Object obj, 
  848.                                      Lisp_Object printcharfun, int escape);
  849.  
  850.  
  851. /* defined in xfns.c */
  852.  
  853. extern Lisp_Object Fx_create_screen (Lisp_Object, Lisp_Object);
  854. extern Lisp_Object Fx_focus_screen (Lisp_Object, Lisp_Object);
  855. extern Lisp_Object Fx_get_resource (Lisp_Object, Lisp_Object,
  856.                     Lisp_Object, Lisp_Object);
  857. extern Lisp_Object Fx_valid_color_name_p (Lisp_Object, Lisp_Object);
  858. extern Lisp_Object Fx_valid_keysym_name_p (Lisp_Object);
  859. extern Lisp_Object Fx_set_screen_pointer (Lisp_Object, Lisp_Object,
  860.                       Lisp_Object, Lisp_Object);
  861. extern Lisp_Object Fx_open_connection (Lisp_Object);
  862. extern Lisp_Object Fx_window_id (Lisp_Object);
  863. extern Lisp_Object Fx_close_current_connection (void);
  864. extern Lisp_Object Fx_debug_mode (Lisp_Object);
  865. extern void Xatoms_of_xfns (void);
  866.  
  867. /* Defined in faces.c */
  868.  
  869. extern unsigned long
  870. load_pixmap (struct screen *s, Lisp_Object name,
  871.          unsigned int *wP, unsigned int *hP, unsigned int *dP,
  872.          unsigned long *maskP);
  873.  
  874. /* Defined in xselect.c */
  875.  
  876. extern void Xatoms_of_xselect (void);
  877. extern Lisp_Object Fx_own_selection_internal (Lisp_Object, Lisp_Object);
  878. extern Lisp_Object Fx_get_selection_internal (Lisp_Object, Lisp_Object);
  879. extern Lisp_Object Fx_disown_selection_internal (Lisp_Object, Lisp_Object);
  880. extern Lisp_Object Fx_selection_owner_p (Lisp_Object);
  881. extern Lisp_Object Fx_selection_exists_p (Lisp_Object);
  882. extern Lisp_Object Fx_get_cutbuffer_internal (Lisp_Object);
  883. extern Lisp_Object Fx_store_cutbuffer_internal (Lisp_Object, Lisp_Object);
  884. extern Lisp_Object Fx_rotate_cutbuffers_internal (Lisp_Object);
  885.  
  886.  
  887.  
  888. extern void message ();
  889.  
  890. extern int unexec ();
  891.  
  892. extern int pixel_to_glyph_translation (struct screen *s,
  893.                        unsigned int, unsigned int,
  894.                        int *, int *,
  895.                        struct window **,
  896.                        int *, int *, Lisp_Object *, int *);
  897. extern void redisplay (void);
  898. extern void redisplay_preserving_echo_area (void);
  899.  
  900. extern Lisp_Object Fsend_string_to_terminal (Lisp_Object);
  901.  
  902. extern void format_event_object (char *, struct Lisp_Event *, int);
  903.  
  904. extern Lisp_Object Fkey_binding (Lisp_Object);
  905.  
  906. extern Lisp_Object Fwhere_is_internal (Lisp_Object, Lisp_Object, Lisp_Object,
  907.                        Lisp_Object, Lisp_Object);
  908. extern Lisp_Object Fkey_description (Lisp_Object);
  909. extern Lisp_Object Fevent_window (Lisp_Object);
  910.  
  911.  
  912. /* Defined in eval.c */
  913. extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro;
  914. extern Lisp_Object Vinhibit_quit, Vquit_flag, Qinhibit_quit;
  915. extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments;
  916. extern Lisp_Object Vautoload_queue;
  917. extern Lisp_Object Vrun_hooks;
  918. extern Lisp_Object Fuser_variable_p (Lisp_Object);
  919. extern Lisp_Object Finteractive_p (void);
  920. extern void signal_error (Lisp_Object sig, Lisp_Object data);
  921. extern Lisp_Object Fprogn (Lisp_Object args);
  922. extern Lisp_Object Fcommandp (Lisp_Object obj);
  923. extern Lisp_Object Feval (Lisp_Object form);
  924. extern Lisp_Object Fapply (int nargs, Lisp_Object *args);
  925. extern Lisp_Object Ffuncall (int nargs, Lisp_Object *args);
  926. extern Lisp_Object Fbacktrace (Lisp_Object stream);
  927. extern Lisp_Object apply1 (Lisp_Object fn, Lisp_Object args);
  928. extern Lisp_Object call0 (Lisp_Object fn);
  929. extern Lisp_Object call1 (Lisp_Object fn, Lisp_Object arg0);
  930. extern Lisp_Object call2 (Lisp_Object fn, Lisp_Object a0, Lisp_Object a1);
  931. extern Lisp_Object call3 (Lisp_Object fn,
  932.                           Lisp_Object a0, Lisp_Object a1, Lisp_Object a2);
  933. extern Lisp_Object call4 (Lisp_Object fn,
  934.                           Lisp_Object a0, Lisp_Object a1, Lisp_Object a2,
  935.                           Lisp_Object a3);
  936. extern Lisp_Object call5 (Lisp_Object fn,
  937.                           Lisp_Object a0, Lisp_Object arg1, Lisp_Object a2,
  938.                           Lisp_Object a3, Lisp_Object a4);
  939. extern Lisp_Object Fsignal (Lisp_Object signame, Lisp_Object data);
  940. /* C Code should be using internal_catch, record_unwind_p, condition_case_1 */
  941. /* extern Lisp_Object Fcatch (Lisp_Object args); */
  942. /* extern Lisp_Object Funwind_protect (Lisp_Object args); */
  943. /* extern Lisp_Object Fcondition_case (Lisp_Object args); */
  944. extern Lisp_Object Fthrow (Lisp_Object tag, Lisp_Object val);
  945. extern Lisp_Object internal_catch (Lisp_Object tag, 
  946.                                    Lisp_Object (*func) (Lisp_Object arg),
  947.                                    Lisp_Object arg);
  948. extern Lisp_Object condition_case_1 (Lisp_Object handlers,
  949.                                      Lisp_Object (*bfun) (Lisp_Object barg),
  950.                                      Lisp_Object barg,
  951.                                      Lisp_Object (*hfun) (Lisp_Object val,
  952.                                                           Lisp_Object harg),
  953.                                      Lisp_Object harg);
  954. extern Lisp_Object Fcondition_case_3 (Lisp_Object bodyform, 
  955.                                       Lisp_Object var, 
  956.                                       Lisp_Object handlers);
  957. extern Lisp_Object unbind_to (int n, Lisp_Object val);
  958. extern void specbind (Lisp_Object symbol, Lisp_Object value);
  959. extern void record_unwind_protect (Lisp_Object (*function) (Lisp_Object),
  960.                                    Lisp_Object arg);
  961. extern void do_autoload (Lisp_Object fundef, Lisp_Object funname);
  962. extern void error ();
  963.  
  964. #ifdef MAINTAIN_ENVIRONMENT
  965. extern char *egetenv (const char *);
  966. extern char *getenv (const char *);
  967. #else
  968. #define egetenv getenv
  969. #endif
  970.  
  971. #endif /* _EMACSFNS_H_ */
  972.