comparison src/lisp.h @ 20297:bf0a54297d95

Add more prototypes and declarations. Forward declare struct window and struct frame so that it can be used in prototypes.
author Andreas Schwab <schwab@suse.de>
date Fri, 21 Nov 1997 12:49:52 +0000
parents 721fb6981822
children ed6e0d0465c4
comparison
equal deleted inserted replaced
20296:0b41c3dab3a7 20297:bf0a54297d95
1220 Lisp_Object, Lisp_Object, Lisp_Object) 1220 Lisp_Object, Lisp_Object, Lisp_Object)
1221 #define DEFUN_ARGS_8 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \ 1221 #define DEFUN_ARGS_8 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
1222 Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) 1222 Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
1223 #endif 1223 #endif
1224 1224
1225 /* Declare the prototype for a general external function. */
1226 #ifdef __STDC__
1227 #define P_(proto) proto
1228 #else
1229 #define P_(proto) ()
1230 #endif
1231
1225 /* defsubr (Sname); 1232 /* defsubr (Sname);
1226 is how we define the symbol for function `name' at start-up time. */ 1233 is how we define the symbol for function `name' at start-up time. */
1227 extern void defsubr (); 1234 extern void defsubr P_ ((struct Lisp_Subr *));
1228 1235
1229 #define MANY -2 1236 #define MANY -2
1230 #define UNEVALLED -1 1237 #define UNEVALLED -1
1231 1238
1232 extern void defvar_lisp (); 1239 extern void defvar_lisp P_ ((char *, Lisp_Object *));
1233 extern void defvar_bool (); 1240 extern void defvar_lisp_nopro P_ ((char *, Lisp_Object *));
1234 extern void defvar_int (); 1241 extern void defvar_bool P_ ((char *, int *));
1235 extern void defvar_kboard (); 1242 extern void defvar_int P_ ((char *, int *));
1243 extern void defvar_per_buffer P_ ((char *, Lisp_Object *, Lisp_Object, char *));
1244 extern void defvar_kboard P_ ((char *, int));
1236 1245
1237 /* Macros we use to define forwarded Lisp variables. 1246 /* Macros we use to define forwarded Lisp variables.
1238 These are used in the syms_of_FILENAME functions. */ 1247 These are used in the syms_of_FILENAME functions. */
1239 1248
1240 #define DEFVAR_LISP(lname, vname, doc) defvar_lisp (lname, vname) 1249 #define DEFVAR_LISP(lname, vname, doc) defvar_lisp (lname, vname)
1263 Otherwise, undoing this binding stores old_value as symbol's value; this 1272 Otherwise, undoing this binding stores old_value as symbol's value; this
1264 undoes the bindings made by a let form or function call. */ 1273 undoes the bindings made by a let form or function call. */
1265 struct specbinding 1274 struct specbinding
1266 { 1275 {
1267 Lisp_Object symbol, old_value; 1276 Lisp_Object symbol, old_value;
1268 Lisp_Object (*func) (); 1277 Lisp_Object (*func) P_ ((Lisp_Object));
1269 Lisp_Object unused; /* Dividing by 16 is faster than by 12 */ 1278 Lisp_Object unused; /* Dividing by 16 is faster than by 12 */
1270 }; 1279 };
1271 1280
1272 extern struct specbinding *specpdl; 1281 extern struct specbinding *specpdl;
1273 extern struct specbinding *specpdl_ptr; 1282 extern struct specbinding *specpdl_ptr;
1417 gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \ 1426 gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \
1418 gcprolist = &gcpro5; } 1427 gcprolist = &gcpro5; }
1419 1428
1420 /* Call staticpro (&var) to protect static variable `var'. */ 1429 /* Call staticpro (&var) to protect static variable `var'. */
1421 1430
1422 void staticpro(); 1431 void staticpro P_ ((Lisp_Object *));
1423 1432
1424 #define UNGCPRO (gcprolist = gcpro1.next) 1433 #define UNGCPRO (gcprolist = gcpro1.next)
1425 1434
1426 /* Evaluate expr, UNGCPRO, and then return the value of expr. */ 1435 /* Evaluate expr, UNGCPRO, and then return the value of expr. */
1427 #define RETURN_UNGCPRO(expr) \ 1436 #define RETURN_UNGCPRO(expr) \
1444 appropriate prototype. */ 1453 appropriate prototype. */
1445 #define EXFUN(fnname, maxargs) \ 1454 #define EXFUN(fnname, maxargs) \
1446 extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs 1455 extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
1447 #endif 1456 #endif
1448 1457
1449 /* Declare the prototype for a general external function. */ 1458 /* Forward declarations for prototypes. */
1450 #ifdef __STDC__ 1459 struct window;
1451 #define P_(proto) proto 1460 struct frame;
1452 #else
1453 #define P_(proto) ()
1454 #endif
1455 1461
1456 /* Defined in data.c */ 1462 /* Defined in data.c */
1457 extern Lisp_Object Qnil, Qt, Qquote, Qlambda, Qsubr, Qunbound; 1463 extern Lisp_Object Qnil, Qt, Qquote, Qlambda, Qsubr, Qunbound;
1458 extern Lisp_Object Qerror_conditions, Qerror_message, Qtop_level; 1464 extern Lisp_Object Qerror_conditions, Qerror_message, Qtop_level;
1459 extern Lisp_Object Qerror, Qquit, Qwrong_type_argument, Qargs_out_of_range; 1465 extern Lisp_Object Qerror, Qquit, Qwrong_type_argument, Qargs_out_of_range;
1568 extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object)); 1574 extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object));
1569 extern void args_out_of_range_3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); 1575 extern void args_out_of_range_3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1570 extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object)); 1576 extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object));
1571 extern void store_symval_forwarding P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); 1577 extern void store_symval_forwarding P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1572 extern Lisp_Object do_symval_forwarding P_ ((Lisp_Object)); 1578 extern Lisp_Object do_symval_forwarding P_ ((Lisp_Object));
1579 extern Lisp_Object set_internal P_ ((Lisp_Object, Lisp_Object, int));
1573 1580
1574 /* Defined in cmds.c */ 1581 /* Defined in cmds.c */
1575 EXFUN (Fend_of_line, 1); 1582 EXFUN (Fend_of_line, 1);
1576 EXFUN (Fforward_char, 1); 1583 EXFUN (Fforward_char, 1);
1577 EXFUN (Fforward_line, 1); 1584 EXFUN (Fforward_line, 1);
1585 extern int forward_point P_ ((int));
1586 extern int internal_self_insert P_ ((int, int));
1578 1587
1579 /* Defined in coding.c */ 1588 /* Defined in coding.c */
1580 EXFUN (Fcoding_system_p, 1); 1589 EXFUN (Fcoding_system_p, 1);
1581 EXFUN (Fcheck_coding_system, 1); 1590 EXFUN (Fcheck_coding_system, 1);
1582 EXFUN (Fread_coding_system, 2); 1591 EXFUN (Fread_coding_system, 2);
1583 EXFUN (Fread_non_nil_coding_system, 1); 1592 EXFUN (Fread_non_nil_coding_system, 1);
1584 EXFUN (Ffind_operation_coding_system, MANY); 1593 EXFUN (Ffind_operation_coding_system, MANY);
1594 EXFUN (Fencode_coding_string, 3);
1595 EXFUN (Fdecode_coding_string, 3);
1585 1596
1586 /* Defined in charset.c */ 1597 /* Defined in charset.c */
1587 EXFUN (Fchar_bytes, 1); 1598 EXFUN (Fchar_bytes, 1);
1588 1599
1589 /* Defined in syntax.c */ 1600 /* Defined in syntax.c */
1590 EXFUN (Fforward_word, 1); 1601 EXFUN (Fforward_word, 1);
1591 EXFUN (Fskip_chars_forward, 2); 1602 EXFUN (Fskip_chars_forward, 2);
1592 EXFUN (Fskip_chars_backward, 2); 1603 EXFUN (Fskip_chars_backward, 2);
1604 EXFUN (Fsyntax_table_p, 1);
1605 EXFUN (Fsyntax_table, 0);
1606 EXFUN (Fset_syntax_table, 1);
1593 1607
1594 /* Defined in fns.c */ 1608 /* Defined in fns.c */
1595 extern Lisp_Object Qstring_lessp; 1609 extern Lisp_Object Qstring_lessp;
1596 extern Lisp_Object Vfeatures; 1610 extern Lisp_Object Vfeatures;
1597 EXFUN (Fidentity, 1); 1611 EXFUN (Fidentity, 1);
1633 extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object)); 1647 extern Lisp_Object assq_no_quit P_ ((Lisp_Object, Lisp_Object));
1634 EXFUN (Fcopy_alist, 1); 1648 EXFUN (Fcopy_alist, 1);
1635 EXFUN (Fplist_get, 2); 1649 EXFUN (Fplist_get, 2);
1636 EXFUN (Fset_char_table_parent, 2); 1650 EXFUN (Fset_char_table_parent, 2);
1637 EXFUN (Fchar_table_extra_slot, 2); 1651 EXFUN (Fchar_table_extra_slot, 2);
1652 EXFUN (Fset_char_table_extra_slot, 3);
1638 EXFUN (Frassoc, 2); 1653 EXFUN (Frassoc, 2);
1639 EXFUN (Fstring_equal, 2); 1654 EXFUN (Fstring_equal, 2);
1640 EXFUN (Fstring_lessp, 2); 1655 EXFUN (Fstring_lessp, 2);
1656 extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object),
1657 Lisp_Object, Lisp_Object, Lisp_Object, int,
1658 Lisp_Object *));
1641 1659
1642 /* Defined in floatfns.c */ 1660 /* Defined in floatfns.c */
1643 #ifdef LISP_FLOAT_TYPE 1661 #ifdef LISP_FLOAT_TYPE
1644 extern double extract_float P_ ((Lisp_Object)); 1662 extern double extract_float P_ ((Lisp_Object));
1645 EXFUN (Ffloat, 1); 1663 EXFUN (Ffloat, 1);
1663 extern void del_range_1 P_ ((int, int, int)); 1681 extern void del_range_1 P_ ((int, int, int));
1664 extern void modify_region P_ ((struct buffer *, int, int)); 1682 extern void modify_region P_ ((struct buffer *, int, int));
1665 extern void prepare_to_modify_buffer P_ ((int, int, int *)); 1683 extern void prepare_to_modify_buffer P_ ((int, int, int *));
1666 extern void signal_before_change P_ ((int, int, int *)); 1684 extern void signal_before_change P_ ((int, int, int *));
1667 extern void signal_after_change P_ ((int, int, int)); 1685 extern void signal_after_change P_ ((int, int, int));
1686 extern void replace_range P_ ((int, int, Lisp_Object, int, int));
1668 1687
1669 /* Defined in dispnew.c */ 1688 /* Defined in dispnew.c */
1670 EXFUN (Fding, 1); 1689 EXFUN (Fding, 1);
1671 EXFUN (Fredraw_display, 0); 1690 EXFUN (Fredraw_display, 0);
1672 EXFUN (Fsleep_for, 2); 1691 EXFUN (Fsleep_for, 2);
1673 EXFUN (Fsit_for, 3); 1692 EXFUN (Fsit_for, 3);
1693 extern Lisp_Object sit_for P_ ((int, int, int, int, int));
1694 extern void quit_error_check P_ ((void));
1674 1695
1675 /* Defined in xdisp.c */ 1696 /* Defined in xdisp.c */
1676 extern Lisp_Object Vmessage_log_max; 1697 extern Lisp_Object Vmessage_log_max;
1677 extern void message P_ ((/* char *, ... */)); 1698 extern void message P_ ((/* char *, ... */));
1678 extern void message_nolog P_ ((/* char *, ... */)); 1699 extern void message_nolog P_ ((/* char *, ... */));
1680 extern void message1_nolog P_ ((char *)); 1701 extern void message1_nolog P_ ((char *));
1681 extern void message2 P_ ((char *, int)); 1702 extern void message2 P_ ((char *, int));
1682 extern void message2_nolog P_ ((char *, int)); 1703 extern void message2_nolog P_ ((char *, int));
1683 extern void message_dolog P_ ((char *, int, int)); 1704 extern void message_dolog P_ ((char *, int, int));
1684 extern void message_log_maybe_newline P_ ((void)); 1705 extern void message_log_maybe_newline P_ ((void));
1706 extern void update_echo_area P_ ((void));
1707 extern void truncate_echo_area P_ ((int));
1708 extern void redisplay P_ ((void));
1709 extern void redisplay_preserve_echo_area P_ ((void));
1710 extern void mark_window_display_accurate P_ ((Lisp_Object, int));
1711 extern int invisible_p P_ ((Lisp_Object, Lisp_Object));
1712 extern void prepare_menu_bars P_ ((void));
1685 1713
1686 /* Defined in alloc.c */ 1714 /* Defined in alloc.c */
1715 extern void malloc_warning P_ ((char *));
1716 extern void memory_full P_ ((void));
1717 extern void buffer_memory_full P_ ((void));
1687 extern Lisp_Object Vpurify_flag; 1718 extern Lisp_Object Vpurify_flag;
1688 EXFUN (Fcons, 2); 1719 EXFUN (Fcons, 2);
1689 EXFUN (Flist, MANY); 1720 EXFUN (Flist, MANY);
1690 EXFUN (Fmake_list, 2); 1721 EXFUN (Fmake_list, 2);
1691 extern Lisp_Object allocate_misc P_ ((void)); 1722 extern Lisp_Object allocate_misc P_ ((void));
1711 extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT)); 1742 extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT));
1712 extern int gc_in_progress; 1743 extern int gc_in_progress;
1713 #ifdef LISP_FLOAT_TYPE 1744 #ifdef LISP_FLOAT_TYPE
1714 extern Lisp_Object make_float P_ ((double)); 1745 extern Lisp_Object make_float P_ ((double));
1715 #endif /* LISP_FLOAT_TYPE */ 1746 #endif /* LISP_FLOAT_TYPE */
1747 extern void display_malloc_warning P_ ((void));
1748 extern int inhibit_garbage_collection P_ ((void));
1749 extern void free_marker P_ ((Lisp_Object));
1750 extern void free_cons P_ ((struct Lisp_Cons *));
1716 1751
1717 /* Defined in print.c */ 1752 /* Defined in print.c */
1718 extern Lisp_Object Vprin1_to_string_buffer; 1753 extern Lisp_Object Vprin1_to_string_buffer;
1719 EXFUN (Fprin1, 2); 1754 EXFUN (Fprin1, 2);
1720 EXFUN (Fprin1_to_string, 2); 1755 EXFUN (Fprin1_to_string, 2);
1725 extern Lisp_Object Vstandard_output, Qstandard_output; 1760 extern Lisp_Object Vstandard_output, Qstandard_output;
1726 extern Lisp_Object Qexternal_debugging_output; 1761 extern Lisp_Object Qexternal_debugging_output;
1727 extern void temp_output_buffer_setup P_ ((char *)); 1762 extern void temp_output_buffer_setup P_ ((char *));
1728 extern int print_level, print_escape_newlines; 1763 extern int print_level, print_escape_newlines;
1729 extern Lisp_Object Qprint_escape_newlines; 1764 extern Lisp_Object Qprint_escape_newlines;
1765 extern void write_string P_ ((char *, int));
1766 extern void write_string_1 P_ ((char *, int, Lisp_Object));
1767 extern void print_error_message P_ ((Lisp_Object, Lisp_Object));
1768 extern Lisp_Object internal_with_output_to_temp_buffer
1769 P_ ((char *, Lisp_Object (*) (Lisp_Object), Lisp_Object));
1770 extern void float_to_string P_ ((unsigned char *, double));
1771
1772 /* Defined in doprnt.c */
1773 extern int doprnt P_ ((char *, int, char *, char *, int, char **));
1774 extern int doprnt_lisp P_ ((char *, int, char *, char *, int, char **));
1730 1775
1731 /* Defined in lread.c */ 1776 /* Defined in lread.c */
1732 extern Lisp_Object Qvariable_documentation, Qstandard_input; 1777 extern Lisp_Object Qvariable_documentation, Qstandard_input;
1733 extern Lisp_Object Vobarray, Vstandard_input; 1778 extern Lisp_Object Vobarray, Vstandard_input;
1734 EXFUN (Fread, 1); 1779 EXFUN (Fread, 1);
1745 extern Lisp_Object oblookup P_ ((Lisp_Object, char *, int)); 1790 extern Lisp_Object oblookup P_ ((Lisp_Object, char *, int));
1746 #define LOADHIST_ATTACH(x) \ 1791 #define LOADHIST_ATTACH(x) \
1747 if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list) 1792 if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list)
1748 extern Lisp_Object Vcurrent_load_list; 1793 extern Lisp_Object Vcurrent_load_list;
1749 extern Lisp_Object Vload_history; 1794 extern Lisp_Object Vload_history;
1795 extern int openp P_ ((Lisp_Object, Lisp_Object, char *, Lisp_Object *, int));
1796 extern int isfloat_string P_ ((char *));
1797 extern void map_obarray P_ ((Lisp_Object, void (*) (Lisp_Object, Lisp_Object),
1798 Lisp_Object));
1799 extern void dir_warning P_ ((char *, Lisp_Object));
1800 extern void close_load_descs P_ ((void));
1750 1801
1751 /* Defined in eval.c */ 1802 /* Defined in eval.c */
1752 extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro; 1803 extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro;
1753 extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag; 1804 extern Lisp_Object Vinhibit_quit, Qinhibit_quit, Vquit_flag;
1754 extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments; 1805 extern Lisp_Object Vmocklisp_arguments, Qmocklisp, Qmocklisp_arguments;
1764 extern Lisp_Object Vrun_hooks; 1815 extern Lisp_Object Vrun_hooks;
1765 EXFUN (Frun_hooks, MANY); 1816 EXFUN (Frun_hooks, MANY);
1766 EXFUN (Frun_hook_with_args, MANY); 1817 EXFUN (Frun_hook_with_args, MANY);
1767 EXFUN (Frun_hook_with_args_until_success, MANY); 1818 EXFUN (Frun_hook_with_args_until_success, MANY);
1768 EXFUN (Frun_hook_with_args_until_failure, MANY); 1819 EXFUN (Frun_hook_with_args_until_failure, MANY);
1820 extern Lisp_Object run_hook_list_with_args P_ ((Lisp_Object, int, Lisp_Object *));
1821 extern void run_hook_with_args_2 P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1769 EXFUN (Fand, UNEVALLED); 1822 EXFUN (Fand, UNEVALLED);
1770 EXFUN (For, UNEVALLED); 1823 EXFUN (For, UNEVALLED);
1771 EXFUN (Fif, UNEVALLED); 1824 EXFUN (Fif, UNEVALLED);
1772 EXFUN (Fprogn, UNEVALLED); 1825 EXFUN (Fprogn, UNEVALLED);
1773 EXFUN (Fprog1, UNEVALLED); 1826 EXFUN (Fprog1, UNEVALLED);
1802 EXFUN (Fdo_auto_save, 2); 1855 EXFUN (Fdo_auto_save, 2);
1803 extern Lisp_Object apply_lambda P_ ((Lisp_Object, Lisp_Object, int)); 1856 extern Lisp_Object apply_lambda P_ ((Lisp_Object, Lisp_Object, int));
1804 extern Lisp_Object internal_catch P_ ((Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object)); 1857 extern Lisp_Object internal_catch P_ ((Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object));
1805 extern Lisp_Object internal_condition_case P_ ((Lisp_Object (*) (void), Lisp_Object, Lisp_Object (*) (Lisp_Object))); 1858 extern Lisp_Object internal_condition_case P_ ((Lisp_Object (*) (void), Lisp_Object, Lisp_Object (*) (Lisp_Object)));
1806 extern Lisp_Object internal_condition_case_1 P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object))); 1859 extern Lisp_Object internal_condition_case_1 P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object)));
1860 extern void specbind P_ ((Lisp_Object, Lisp_Object));
1861 extern void record_unwind_protect P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object));
1807 extern Lisp_Object unbind_to P_ ((int, Lisp_Object)); 1862 extern Lisp_Object unbind_to P_ ((int, Lisp_Object));
1808 extern void error P_ ((/* char *, ... */)); 1863 extern void error P_ ((/* char *, ... */));
1864 extern void do_autoload P_ ((Lisp_Object, Lisp_Object));
1809 extern Lisp_Object un_autoload P_ ((Lisp_Object)); 1865 extern Lisp_Object un_autoload P_ ((Lisp_Object));
1810 EXFUN (Ffetch_bytecode, 1); 1866 EXFUN (Ffetch_bytecode, 1);
1811 1867
1812 /* Defined in editfns.c */ 1868 /* Defined in editfns.c */
1813 EXFUN (Fgoto_char, 1); 1869 EXFUN (Fgoto_char, 1);
1826 EXFUN (Finsert, MANY); 1882 EXFUN (Finsert, MANY);
1827 EXFUN (Finsert_and_inherit, MANY); 1883 EXFUN (Finsert_and_inherit, MANY);
1828 EXFUN (Finsert_before_markers, MANY); 1884 EXFUN (Finsert_before_markers, MANY);
1829 EXFUN (Finsert_buffer_substring, 3); 1885 EXFUN (Finsert_buffer_substring, 3);
1830 EXFUN (Finsert_char, 3); 1886 EXFUN (Finsert_char, 3);
1887 extern void insert1 P_ ((Lisp_Object));
1831 EXFUN (Feolp, 0); 1888 EXFUN (Feolp, 0);
1832 EXFUN (Feobp, 0); 1889 EXFUN (Feobp, 0);
1833 EXFUN (Fbolp, 0); 1890 EXFUN (Fbolp, 0);
1834 EXFUN (Fbobp, 0); 1891 EXFUN (Fbobp, 0);
1835 EXFUN (Fformat, MANY); 1892 EXFUN (Fformat, MANY);
1845 EXFUN (Fdelete_region, 2); 1902 EXFUN (Fdelete_region, 2);
1846 EXFUN (Fnarrow_to_region, 2); 1903 EXFUN (Fnarrow_to_region, 2);
1847 EXFUN (Fwiden, 0); 1904 EXFUN (Fwiden, 0);
1848 EXFUN (Fuser_login_name, 1); 1905 EXFUN (Fuser_login_name, 1);
1849 EXFUN (Fsystem_name, 0); 1906 EXFUN (Fsystem_name, 0);
1907 extern int clip_to_bounds P_ ((int, int, int));
1850 1908
1851 /* defined in buffer.c */ 1909 /* defined in buffer.c */
1910 extern void nsberror P_ ((Lisp_Object));
1852 EXFUN (Foverlay_start, 1); 1911 EXFUN (Foverlay_start, 1);
1853 EXFUN (Foverlay_end, 1); 1912 EXFUN (Foverlay_end, 1);
1854 extern void adjust_overlays_for_insert P_ ((int, int)); 1913 extern void adjust_overlays_for_insert P_ ((int, int));
1855 extern void adjust_overlays_for_delete P_ ((int, int)); 1914 extern void adjust_overlays_for_delete P_ ((int, int));
1856 extern void fix_overlays_in_range P_ ((int, int)); 1915 extern void fix_overlays_in_range P_ ((int, int));
1916 extern void report_overlay_modification P_ ((Lisp_Object, Lisp_Object, int,
1917 Lisp_Object, Lisp_Object, Lisp_Object));
1857 extern int overlay_touches_p P_ ((int)); 1918 extern int overlay_touches_p P_ ((int));
1858 extern Lisp_Object Vbuffer_alist, Vinhibit_read_only; 1919 extern Lisp_Object Vbuffer_alist, Vinhibit_read_only;
1859 EXFUN (Fget_buffer, 1); 1920 EXFUN (Fget_buffer, 1);
1860 EXFUN (Fget_buffer_create, 1); 1921 EXFUN (Fget_buffer_create, 1);
1861 EXFUN (Fset_buffer, 1); 1922 EXFUN (Fset_buffer, 1);
1881 1942
1882 EXFUN (Fmarker_position, 1); 1943 EXFUN (Fmarker_position, 1);
1883 EXFUN (Fmarker_buffer, 1); 1944 EXFUN (Fmarker_buffer, 1);
1884 EXFUN (Fcopy_marker, 2); 1945 EXFUN (Fcopy_marker, 2);
1885 EXFUN (Fset_marker, 3); 1946 EXFUN (Fset_marker, 3);
1947 extern int marker_position P_ ((Lisp_Object));
1948 extern void unchain_marker P_ ((Lisp_Object));
1949 extern Lisp_Object set_marker_restricted P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1886 1950
1887 /* Defined in fileio.c */ 1951 /* Defined in fileio.c */
1888 1952
1889 extern Lisp_Object Qfile_error; 1953 extern Lisp_Object Qfile_error;
1890 EXFUN (Ffind_file_name_handler, 2); 1954 EXFUN (Ffind_file_name_handler, 2);
1904 EXFUN (Ffile_directory_p, 1); 1968 EXFUN (Ffile_directory_p, 1);
1905 EXFUN (Fwrite_region, 6); 1969 EXFUN (Fwrite_region, 6);
1906 EXFUN (Ffile_readable_p, 1); 1970 EXFUN (Ffile_readable_p, 1);
1907 EXFUN (Ffile_executable_p, 1); 1971 EXFUN (Ffile_executable_p, 1);
1908 EXFUN (Fread_file_name, 5); 1972 EXFUN (Fread_file_name, 5);
1973 extern void report_file_error P_ ((char *, Lisp_Object));
1974 extern int internal_delete_file P_ ((Lisp_Object));
1909 1975
1910 /* Defined in abbrev.c */ 1976 /* Defined in abbrev.c */
1911 1977
1912 extern Lisp_Object Vfundamental_mode_abbrev_table; 1978 extern Lisp_Object Vfundamental_mode_abbrev_table;
1913 1979
1916 extern void restore_match_data P_ ((void)); 1982 extern void restore_match_data P_ ((void));
1917 EXFUN (Fmatch_data, 2); 1983 EXFUN (Fmatch_data, 2);
1918 EXFUN (Fstore_match_data, 1); 1984 EXFUN (Fstore_match_data, 1);
1919 EXFUN (Fmatch_beginning, 1); 1985 EXFUN (Fmatch_beginning, 1);
1920 EXFUN (Fmatch_end, 1); 1986 EXFUN (Fmatch_end, 1);
1987 extern int fast_string_match P_ ((Lisp_Object, Lisp_Object));
1988 extern int fast_c_string_match_ignore_case P_ ((Lisp_Object, char *));
1989 extern int scan_buffer P_ ((int, int, int, int, int *, int));
1990 extern int find_next_newline P_ ((int, int));
1991 extern int find_next_newline_no_quit P_ ((int, int));
1992 extern int find_before_next_newline P_ ((int, int, int));
1921 1993
1922 /* defined in minibuf.c */ 1994 /* defined in minibuf.c */
1923 1995
1924 extern Lisp_Object last_minibuf_string; 1996 extern Lisp_Object last_minibuf_string;
1997 extern void choose_minibuf_frame P_ ((void));
1925 EXFUN (Fcompleting_read, 8); 1998 EXFUN (Fcompleting_read, 8);
1926 EXFUN (Fread_from_minibuffer, 7); 1999 EXFUN (Fread_from_minibuffer, 7);
1927 EXFUN (Fread_variable, 2); 2000 EXFUN (Fread_variable, 2);
1928 EXFUN (Fread_buffer, 3); 2001 EXFUN (Fread_buffer, 3);
1929 EXFUN (Fread_minibuffer, 2); 2002 EXFUN (Fread_minibuffer, 2);
1930 EXFUN (Feval_minibuffer, 2); 2003 EXFUN (Feval_minibuffer, 2);
1931 EXFUN (Fread_string, 5); 2004 EXFUN (Fread_string, 5);
1932 EXFUN (Fread_no_blanks_input, 3); 2005 EXFUN (Fread_no_blanks_input, 3);
1933 extern Lisp_Object get_minibuffer P_ ((int)); 2006 extern Lisp_Object get_minibuffer P_ ((int));
2007 extern void temp_echo_area_glyphs P_ ((char *));
1934 2008
1935 /* Defined in callint.c */ 2009 /* Defined in callint.c */
1936 2010
1937 extern Lisp_Object Qminus, Qplus, Vcurrent_prefix_arg; 2011 extern Lisp_Object Qminus, Qplus, Vcurrent_prefix_arg;
1938 extern Lisp_Object Vcommand_history; 2012 extern Lisp_Object Vcommand_history;
1964 EXFUN (Finput_pending_p, 0); 2038 EXFUN (Finput_pending_p, 0);
1965 extern Lisp_Object menu_bar_items P_ ((Lisp_Object)); 2039 extern Lisp_Object menu_bar_items P_ ((Lisp_Object));
1966 extern Lisp_Object Qvertical_scroll_bar; 2040 extern Lisp_Object Qvertical_scroll_bar;
1967 extern void discard_mouse_events (); 2041 extern void discard_mouse_events ();
1968 EXFUN (Fevent_convert_list, 1); 2042 EXFUN (Fevent_convert_list, 1);
1969 #ifdef MULTI_KBOARD
1970 extern void delete_kboard P_ ((/* KBOARD * */));
1971 #endif
1972 EXFUN (Fread_key_sequence, 4); 2043 EXFUN (Fread_key_sequence, 4);
2044 EXFUN (Fset_input_mode, 4);
2045 extern int detect_input_pending P_ ((void));
2046 extern int detect_input_pending_run_timers P_ ((int));
2047 extern void safe_run_hooks P_ ((Lisp_Object));
2048 extern void cmd_error_internal P_ ((Lisp_Object, char *));
2049 extern Lisp_Object command_loop_1 P_ ((void));
2050 extern Lisp_Object recursive_edit_1 P_ ((void));
2051 extern void record_auto_save P_ ((void));
1973 2052
1974 /* defined in keymap.c */ 2053 /* defined in keymap.c */
1975 2054
1976 extern Lisp_Object Qkeymap, Qmenu_bar; 2055 extern Lisp_Object Qkeymap, Qmenu_bar;
1977 extern Lisp_Object current_global_map; 2056 extern Lisp_Object current_global_map;
2057 EXFUN (Fmake_sparse_keymap, 1);
2058 EXFUN (Fcopy_keymap, 1);
1978 EXFUN (Fdefine_key, 3); 2059 EXFUN (Fdefine_key, 3);
2060 EXFUN (Flookup_key, 3);
1979 EXFUN (Fkey_binding, 2); 2061 EXFUN (Fkey_binding, 2);
1980 EXFUN (Fkey_description, 1); 2062 EXFUN (Fkey_description, 1);
1981 EXFUN (Fsingle_key_description, 1); 2063 EXFUN (Fsingle_key_description, 1);
1982 EXFUN (Fwhere_is_internal, 4); 2064 EXFUN (Fwhere_is_internal, 4);
1983 extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int)); 2065 extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int));
1984 extern Lisp_Object store_in_keymap P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); 2066 extern Lisp_Object store_in_keymap P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1985 extern Lisp_Object get_keyelt P_ ((Lisp_Object, int)); 2067 extern Lisp_Object get_keyelt P_ ((Lisp_Object, int));
1986 extern Lisp_Object get_keymap P_ ((Lisp_Object)); 2068 extern Lisp_Object get_keymap P_ ((Lisp_Object));
1987 extern Lisp_Object get_keymap_1 P_ ((Lisp_Object, int, int)); 2069 extern Lisp_Object get_keymap_1 P_ ((Lisp_Object, int, int));
1988 extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object, char *, int, int, int)); 2070 extern void describe_vector P_ ((Lisp_Object, Lisp_Object,
2071 void (*) (Lisp_Object), int,
2072 Lisp_Object, Lisp_Object, int *, int));
2073 extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object,
2074 char *, int, int, int));
2075 extern int current_minor_maps P_ ((Lisp_Object **, Lisp_Object **));
2076 extern void initial_define_key P_ ((Lisp_Object, int, char *));
2077 extern void initial_define_lispy_key P_ ((Lisp_Object, char *, char *));
2078 extern void fix_submap_inheritance P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1989 2079
1990 /* defined in indent.c */ 2080 /* defined in indent.c */
1991 EXFUN (Fvertical_motion, 2); 2081 EXFUN (Fvertical_motion, 2);
1992 EXFUN (Findent_to, 2); 2082 EXFUN (Findent_to, 2);
1993 EXFUN (Fcurrent_column, 0); 2083 EXFUN (Fcurrent_column, 0);
1994 EXFUN (Fmove_to_column, 2); 2084 EXFUN (Fmove_to_column, 2);
2085 extern int current_column P_ ((void));
2086 extern void invalidate_current_column P_ ((void));
2087 extern int pos_tab_offset P_ ((struct window *, int));
2088 extern int indented_beyond_p P_ ((int, int));
1995 2089
1996 /* defined in window.c */ 2090 /* defined in window.c */
1997 extern Lisp_Object Qwindowp, Qwindow_live_p; 2091 extern Lisp_Object Qwindowp, Qwindow_live_p;
1998 EXFUN (Fselected_window, 0); 2092 EXFUN (Fselected_window, 0);
2093 EXFUN (Fnext_window, 3);
2094 EXFUN (Fdelete_window, 1);
2095 EXFUN (Fselect_window, 1);
2096 EXFUN (Fset_window_buffer, 2);
1999 EXFUN (Fget_buffer_window, 2); 2097 EXFUN (Fget_buffer_window, 2);
2000 EXFUN (Fsave_window_excursion, UNEVALLED); 2098 EXFUN (Fsave_window_excursion, UNEVALLED);
2099 EXFUN (Fsplit_window, 3);
2001 EXFUN (Fset_window_configuration, 1); 2100 EXFUN (Fset_window_configuration, 1);
2002 EXFUN (Fcurrent_window_configuration, 1); 2101 EXFUN (Fcurrent_window_configuration, 1);
2003 EXFUN (Fcoordinates_in_window_p, 2); 2102 EXFUN (Fcoordinates_in_window_p, 2);
2004 EXFUN (Fwindow_at, 3); 2103 EXFUN (Fwindow_at, 3);
2005 EXFUN (Fpos_visible_in_window_p, 2); 2104 EXFUN (Fpos_visible_in_window_p, 2);
2006 extern int window_internal_height P_ ((/* struct window * */)); 2105 extern int window_internal_height P_ ((struct window *));
2007 extern int window_internal_width P_ ((/* struct window * */)); 2106 extern int window_internal_width P_ ((struct window *));
2008 EXFUN (Frecenter, 1); 2107 EXFUN (Frecenter, 1);
2009 EXFUN (Fscroll_other_window, 1); 2108 EXFUN (Fscroll_other_window, 1);
2010 EXFUN (Fset_window_start, 3); 2109 EXFUN (Fset_window_start, 3);
2011 extern void temp_output_buffer_show P_ ((Lisp_Object)); 2110 extern void temp_output_buffer_show P_ ((Lisp_Object));
2111 extern void replace_buffer_in_all_windows P_ ((Lisp_Object));
2012 2112
2013 /* defined in frame.c */ 2113 /* defined in frame.c */
2014 extern Lisp_Object Qvisible; 2114 extern Lisp_Object Qvisible;
2015 extern void store_frame_param P_ ((/* struct frame *, Lisp_Object, Lisp_Object */)); 2115 extern void store_frame_param P_ ((struct frame *, Lisp_Object, Lisp_Object));
2016 extern void store_in_alist P_ ((Lisp_Object *, Lisp_Object, Lisp_Object)); 2116 extern void store_in_alist P_ ((Lisp_Object *, Lisp_Object, Lisp_Object));
2017 extern Lisp_Object do_switch_frame P_ ((Lisp_Object, Lisp_Object, int)); 2117 extern Lisp_Object do_switch_frame P_ ((Lisp_Object, Lisp_Object, int));
2018 extern Lisp_Object get_frame_param P_ ((/* struct frame *, Lisp_Object */)); 2118 extern Lisp_Object get_frame_param P_ ((struct frame *, Lisp_Object));
2019 extern Lisp_Object frame_buffer_predicate P_ ((void)); 2119 extern Lisp_Object frame_buffer_predicate P_ ((void));
2020 EXFUN (Fframep, 1); 2120 EXFUN (Fframep, 1);
2021 EXFUN (Fselect_frame, 2); 2121 EXFUN (Fselect_frame, 2);
2022 EXFUN (Fselected_frame, 0); 2122 EXFUN (Fselected_frame, 0);
2023 EXFUN (Fwindow_frame, 1); 2123 EXFUN (Fwindow_frame, 1);
2039 EXFUN (Fset_frame_width, 3); 2139 EXFUN (Fset_frame_width, 3);
2040 EXFUN (Fset_frame_size, 3); 2140 EXFUN (Fset_frame_size, 3);
2041 EXFUN (Fset_frame_position, 3); 2141 EXFUN (Fset_frame_position, 3);
2042 EXFUN (Fraise_frame, 1); 2142 EXFUN (Fraise_frame, 1);
2043 EXFUN (Fredirect_frame_focus, 2); 2143 EXFUN (Fredirect_frame_focus, 2);
2144 EXFUN (Fset_frame_selected_window, 2);
2044 extern Lisp_Object frame_buffer_list P_ ((void)); 2145 extern Lisp_Object frame_buffer_list P_ ((void));
2146 extern void frames_discard_buffer P_ ((Lisp_Object));
2147 extern void set_frame_buffer_list P_ ((Lisp_Object));
2148 extern void frames_bury_buffer P_ ((Lisp_Object));
2045 2149
2046 /* defined in emacs.c */ 2150 /* defined in emacs.c */
2047 extern Lisp_Object decode_env_path P_ ((char *, char *)); 2151 extern Lisp_Object decode_env_path P_ ((char *, char *));
2048 extern Lisp_Object Vinvocation_name, Vinvocation_directory; 2152 extern Lisp_Object Vinvocation_name, Vinvocation_directory;
2049 extern Lisp_Object Vinstallation_directory; 2153 extern Lisp_Object Vinstallation_directory;
2063 EXFUN (Fprocess_status, 1); 2167 EXFUN (Fprocess_status, 1);
2064 EXFUN (Fkill_process, 2); 2168 EXFUN (Fkill_process, 2);
2065 EXFUN (Fprocess_send_eof, 1); 2169 EXFUN (Fprocess_send_eof, 1);
2066 EXFUN (Fwaiting_for_user_input_p, 0); 2170 EXFUN (Fwaiting_for_user_input_p, 0);
2067 extern Lisp_Object Qprocessp; 2171 extern Lisp_Object Qprocessp;
2172 extern void kill_buffer_processes P_ ((Lisp_Object));
2173 extern int wait_reading_process_input P_ ((int, int, Lisp_Object, int));
2174 extern void deactivate_process P_ ((Lisp_Object));
2175 extern void add_keyboard_wait_descriptor P_ ((int));
2176 extern void delete_keyboard_wait_descriptor P_ ((int));
2177 extern void close_process_descs P_ ((void));
2178 extern void status_notify P_ ((void));
2179 extern int read_process_output P_ ((Lisp_Object, int));
2068 2180
2069 /* defined in callproc.c */ 2181 /* defined in callproc.c */
2070 extern Lisp_Object Vexec_path, Vexec_directory, Vdata_directory; 2182 extern Lisp_Object Vexec_path, Vexec_directory, Vdata_directory;
2071 extern Lisp_Object Vdoc_directory; 2183 extern Lisp_Object Vdoc_directory;
2184 extern int child_setup P_ ((int, int, int, char **, int, Lisp_Object));
2072 2185
2073 /* defined in doc.c */ 2186 /* defined in doc.c */
2074 extern Lisp_Object Vdoc_file_name; 2187 extern Lisp_Object Vdoc_file_name;
2075 EXFUN (Fsubstitute_command_keys, 1); 2188 EXFUN (Fsubstitute_command_keys, 1);
2076 EXFUN (Fdocumentation, 2); 2189 EXFUN (Fdocumentation, 2);
2087 2200
2088 /* defined in undo.c */ 2201 /* defined in undo.c */
2089 extern Lisp_Object Qinhibit_read_only; 2202 extern Lisp_Object Qinhibit_read_only;
2090 EXFUN (Fundo_boundary, 0); 2203 EXFUN (Fundo_boundary, 0);
2091 extern Lisp_Object truncate_undo_list P_ ((Lisp_Object, int, int)); 2204 extern Lisp_Object truncate_undo_list P_ ((Lisp_Object, int, int));
2205 extern void record_marker_adjustment P_ ((Lisp_Object, int));
2206 extern void record_insert P_ ((int, int));
2207 extern void record_delete P_ ((int, int));
2208 extern void record_first_change P_ ((void));
2209 extern void record_change P_ ((int, int));
2210 extern void record_property_change P_ ((int, int, Lisp_Object, Lisp_Object,
2211 Lisp_Object));
2092 2212
2093 /* defined in textprop.c */ 2213 /* defined in textprop.c */
2094 extern Lisp_Object Qmodification_hooks; 2214 extern Lisp_Object Qmodification_hooks;
2095 extern Lisp_Object Qrear_nonsticky, Qfont; 2215 extern Lisp_Object Qrear_nonsticky, Qfont;
2096 extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks; 2216 extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
2101 EXFUN (Fput_text_property, 5); 2221 EXFUN (Fput_text_property, 5);
2102 EXFUN (Fset_text_properties, 4); 2222 EXFUN (Fset_text_properties, 4);
2103 EXFUN (Ftext_property_not_all, 5); 2223 EXFUN (Ftext_property_not_all, 5);
2104 EXFUN (Fprevious_char_property_change, 2); 2224 EXFUN (Fprevious_char_property_change, 2);
2105 EXFUN (Fnext_char_property_change, 2); 2225 EXFUN (Fnext_char_property_change, 2);
2226 extern void report_interval_modification P_ ((Lisp_Object, Lisp_Object));
2106 2227
2107 /* defined in intervals.c */ 2228 /* defined in intervals.c */
2108 extern Lisp_Object get_local_map P_ ((int, struct buffer *)); 2229 extern Lisp_Object get_local_map P_ ((int, struct buffer *));
2109 2230
2110 /* defined in xmenu.c */ 2231 /* defined in xmenu.c */
2111 EXFUN (Fx_popup_menu, 2); 2232 EXFUN (Fx_popup_menu, 2);
2112 EXFUN (Fx_popup_dialog, 2); 2233 EXFUN (Fx_popup_dialog, 2);
2234
2235 /* defined in sysdep.c */
2236 extern void init_sigio P_ ((int));
2237 extern void request_sigio P_ ((void));
2238 extern void unrequest_sigio P_ ((void));
2239 extern void reset_sys_modes P_ ((void));
2240 extern void sys_subshell P_ ((void));
2241 extern void sys_suspend P_ ((void));
2242 extern void discard_tty_input P_ ((void));
2243 extern void init_sys_modes P_ ((void));
2244 extern void reset_sys_modes P_ ((void));
2245 extern void get_frame_size P_ ((int *, int *));
2246 extern void wait_for_termination P_ ((int));
2247 extern void flush_pending_output P_ ((int));
2248 extern void child_setup_tty P_ ((int));
2249 extern void setup_pty P_ ((int));
2250 extern int set_window_size P_ ((int, int, int));
2251 extern void create_process P_ ((Lisp_Object, char **, Lisp_Object));
2252 extern int tabs_safe_p P_ ((void));
2253 extern void init_baud_rate P_ ((void));
2254
2255 /* defined in filelock.c */
2256 EXFUN (Funlock_buffer, 0);
2257 extern void unlock_all_files P_ ((void));
2258 extern void lock_file P_ ((Lisp_Object));
2259 extern void unlock_file P_ ((Lisp_Object));
2260 extern void unlock_buffer P_ ((struct buffer *));
2113 2261
2114 /* Nonzero means Emacs has already been initialized. 2262 /* Nonzero means Emacs has already been initialized.
2115 Used during startup to detect startup of dumped Emacs. */ 2263 Used during startup to detect startup of dumped Emacs. */
2116 extern int initialized; 2264 extern int initialized;
2117 2265
2118 extern int immediate_quit; /* Nonzero means ^G can quit instantly */ 2266 extern int immediate_quit; /* Nonzero means ^G can quit instantly */
2119 2267
2120 extern void debugger ();
2121
2122 extern char *getenv (), *ctime (), *getwd (); 2268 extern char *getenv (), *ctime (), *getwd ();
2123 extern long *xmalloc (), *xrealloc (); 2269 extern long *xmalloc (), *xrealloc ();
2124 extern void xfree (); 2270 extern void xfree ();
2125 2271
2126 extern char *egetenv (); 2272 extern char *egetenv P_ ((char *));
2127 2273
2128 /* Set up the name of the machine we're running on. */ 2274 /* Set up the name of the machine we're running on. */
2129 extern void init_system_name (); 2275 extern void init_system_name P_ ((void));
2130 2276
2131 /* Some systems (e.g., NT) use a different path separator than Unix, 2277 /* Some systems (e.g., NT) use a different path separator than Unix,
2132 in addition to a device separator. Default the path separator 2278 in addition to a device separator. Default the path separator
2133 to '/', and don't test for a device separator in IS_ANY_SEP. */ 2279 to '/', and don't test for a device separator in IS_ANY_SEP. */
2134 2280