comparison src/lisp.h @ 18613:614b916ff5bf

Fix bugs with inappropriate mixing of Lisp_Object with int.
author Richard M. Stallman <rms@gnu.org>
date Fri, 04 Jul 1997 20:44:52 +0000
parents 06ce39d8e93e
children a0663e413622
comparison
equal deleted inserted replaced
18612:88efccff8970 18613:614b916ff5bf
606 606
607 /* Almost equivalent to Faref (CT, IDX) with optimization for ASCII 607 /* Almost equivalent to Faref (CT, IDX) with optimization for ASCII
608 and 8-bit Europeans characters. For these characters, do not check 608 and 8-bit Europeans characters. For these characters, do not check
609 validity of CT. Do not follow parent. */ 609 validity of CT. Do not follow parent. */
610 #define CHAR_TABLE_REF(CT, IDX) \ 610 #define CHAR_TABLE_REF(CT, IDX) \
611 (XFASTINT (IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ 611 ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \
612 ? (!NILP (XCHAR_TABLE (CT)->contents[XFASTINT (IDX)])\ 612 ? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \
613 ? XCHAR_TABLE (CT)->contents[XFASTINT (IDX)] \ 613 ? XCHAR_TABLE (CT)->contents[IDX] \
614 : XCHAR_TABLE (CT)->defalt) \ 614 : XCHAR_TABLE (CT)->defalt) \
615 : Faref (CT, IDX)) 615 : Faref (CT, make_number (IDX)))
616 616
617 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and 617 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and
618 8-bit Europeans characters. Do not check validity of CT. */ 618 8-bit Europeans characters. Do not check validity of CT. */
619 #define CHAR_TABLE_SET(CT, IDX, VAL) \ 619 #define CHAR_TABLE_SET(CT, IDX, VAL) \
620 do { \ 620 do { \
1312 /* Nonzero if ought to quit now. */ 1312 /* Nonzero if ought to quit now. */
1313 1313
1314 #define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) 1314 #define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
1315 1315
1316 /* Variables used locally in the following case handling macros. */ 1316 /* Variables used locally in the following case handling macros. */
1317 extern Lisp_Object case_temp1, case_temp2; 1317 extern int case_temp1;
1318 extern Lisp_Object case_temp2;
1318 1319
1319 /* Current buffer's map from characters to lower-case characters. */ 1320 /* Current buffer's map from characters to lower-case characters. */
1320 1321
1321 #define DOWNCASE_TABLE current_buffer->downcase_table 1322 #define DOWNCASE_TABLE current_buffer->downcase_table
1322 1323
1482 extern Lisp_Object indirect_function (), Findirect_function (); 1483 extern Lisp_Object indirect_function (), Findirect_function ();
1483 extern Lisp_Object Ffset (), Fsetplist (); 1484 extern Lisp_Object Ffset (), Fsetplist ();
1484 extern Lisp_Object Fsymbol_value (), find_symbol_value (), Fset (); 1485 extern Lisp_Object Fsymbol_value (), find_symbol_value (), Fset ();
1485 extern Lisp_Object Fdefault_value (), Fset_default (), Fdefault_boundp (); 1486 extern Lisp_Object Fdefault_value (), Fset_default (), Fdefault_boundp ();
1486 extern Lisp_Object Fmake_local_variable (); 1487 extern Lisp_Object Fmake_local_variable ();
1488 extern Lisp_Object Flocal_variable_if_set_p ();
1487 1489
1488 extern Lisp_Object Faref (), Faset (); 1490 extern Lisp_Object Faref (), Faset ();
1489 1491
1490 extern Lisp_Object Fstring_to_number (), Fnumber_to_string (); 1492 extern Lisp_Object Fstring_to_number (), Fnumber_to_string ();
1491 extern Lisp_Object Feqlsign (), Fgtr (), Flss (), Fgeq (), Fleq (); 1493 extern Lisp_Object Feqlsign (), Fgtr (), Flss (), Fgeq (), Fleq ();
1515 extern Lisp_Object Fend_of_line (), Fforward_char (), Fforward_line (); 1517 extern Lisp_Object Fend_of_line (), Fforward_char (), Fforward_line ();
1516 1518
1517 /* Defined in coding.c */ 1519 /* Defined in coding.c */
1518 extern Lisp_Object Fcoding_system_p (), Fcheck_coding_system (); 1520 extern Lisp_Object Fcoding_system_p (), Fcheck_coding_system ();
1519 extern Lisp_Object Fread_coding_system (), Fread_non_nil_coding_system (); 1521 extern Lisp_Object Fread_coding_system (), Fread_non_nil_coding_system ();
1522 extern Lisp_Object Ffind_coding_system ();
1520 1523
1521 /* Defined in syntax.c */ 1524 /* Defined in syntax.c */
1522 extern Lisp_Object Fforward_word (); 1525 extern Lisp_Object Fforward_word ();
1523 1526
1524 /* Defined in fns.c */ 1527 /* Defined in fns.c */
1537 extern Lisp_Object concat2 (), concat3 (), nconc2 (); 1540 extern Lisp_Object concat2 (), concat3 (), nconc2 ();
1538 extern Lisp_Object assq_no_quit (); 1541 extern Lisp_Object assq_no_quit ();
1539 extern Lisp_Object Fcopy_alist (); 1542 extern Lisp_Object Fcopy_alist ();
1540 extern Lisp_Object Fplist_get (); 1543 extern Lisp_Object Fplist_get ();
1541 extern Lisp_Object Fset_char_table_parent (); 1544 extern Lisp_Object Fset_char_table_parent ();
1545 extern Lisp_Object Fchar_table_extra_slot ();
1546 extern Lisp_Object Frassoc ();
1542 1547
1543 /* Defined in insdel.c */ 1548 /* Defined in insdel.c */
1544 extern void move_gap (); 1549 extern void move_gap ();
1545 extern void make_gap (); 1550 extern void make_gap ();
1546 extern void insert (); 1551 extern void insert ();
1673 extern Lisp_Object Fstring_equal (), Fstring_lessp (), Fbuffer_substring_lessp (); 1678 extern Lisp_Object Fstring_equal (), Fstring_lessp (), Fbuffer_substring_lessp ();
1674 extern Lisp_Object save_excursion_save (), save_restriction_save (); 1679 extern Lisp_Object save_excursion_save (), save_restriction_save ();
1675 extern Lisp_Object save_excursion_restore (), save_restriction_restore (); 1680 extern Lisp_Object save_excursion_restore (), save_restriction_restore ();
1676 extern Lisp_Object Fchar_to_string (); 1681 extern Lisp_Object Fchar_to_string ();
1677 extern Lisp_Object Fdelete_region (), Fnarrow_to_region (), Fwiden (); 1682 extern Lisp_Object Fdelete_region (), Fnarrow_to_region (), Fwiden ();
1683 extern Lisp_Object Fuser_login_name (), Fsystem_name ();
1678 1684
1679 /* defined in buffer.c */ 1685 /* defined in buffer.c */
1680 extern Lisp_Object Foverlay_start (), Foverlay_end (); 1686 extern Lisp_Object Foverlay_start (), Foverlay_end ();
1681 extern void adjust_overlays_for_insert (); 1687 extern void adjust_overlays_for_insert ();
1682 extern void adjust_overlays_for_delete (); 1688 extern void adjust_overlays_for_delete ();
1693 extern Lisp_Object Fbuffer_disable_undo (), Fbuffer_enable_undo (); 1699 extern Lisp_Object Fbuffer_disable_undo (), Fbuffer_enable_undo ();
1694 extern Lisp_Object Ferase_buffer (); 1700 extern Lisp_Object Ferase_buffer ();
1695 extern Lisp_Object Qoverlayp; 1701 extern Lisp_Object Qoverlayp;
1696 extern Lisp_Object get_truename_buffer (); 1702 extern Lisp_Object get_truename_buffer ();
1697 extern struct buffer *all_buffers; 1703 extern struct buffer *all_buffers;
1704 extern Lisp_Object Fprevious_overlay_change ();
1698 1705
1699 /* defined in marker.c */ 1706 /* defined in marker.c */
1700 1707
1701 extern Lisp_Object Fmarker_position (), Fmarker_buffer (); 1708 extern Lisp_Object Fmarker_position (), Fmarker_buffer ();
1702 extern Lisp_Object Fcopy_marker (); 1709 extern Lisp_Object Fcopy_marker ();
1717 extern Lisp_Object expand_and_dir_to_file (); 1724 extern Lisp_Object expand_and_dir_to_file ();
1718 extern Lisp_Object Ffile_accessible_directory_p (); 1725 extern Lisp_Object Ffile_accessible_directory_p ();
1719 extern Lisp_Object Funhandled_file_name_directory (); 1726 extern Lisp_Object Funhandled_file_name_directory ();
1720 extern Lisp_Object Ffile_directory_p (); 1727 extern Lisp_Object Ffile_directory_p ();
1721 extern Lisp_Object Fwrite_region (); 1728 extern Lisp_Object Fwrite_region ();
1729 extern Lisp_Object Ffile_readable_p (), Ffile_executable_p ();
1722 1730
1723 /* Defined in abbrev.c */ 1731 /* Defined in abbrev.c */
1724 1732
1725 extern Lisp_Object Vfundamental_mode_abbrev_table; 1733 extern Lisp_Object Vfundamental_mode_abbrev_table;
1726 1734
1786 extern Lisp_Object get_keyelt (), get_keymap (), get_keymap_1 (); 1794 extern Lisp_Object get_keyelt (), get_keymap (), get_keymap_1 ();
1787 extern void describe_map_tree (); 1795 extern void describe_map_tree ();
1788 1796
1789 /* defined in indent.c */ 1797 /* defined in indent.c */
1790 extern Lisp_Object Fvertical_motion (), Findent_to (), Fcurrent_column (); 1798 extern Lisp_Object Fvertical_motion (), Findent_to (), Fcurrent_column ();
1799 extern Lisp_Object Fmove_to_column ();
1791 1800
1792 /* defined in window.c */ 1801 /* defined in window.c */
1793 extern Lisp_Object Qwindowp, Qwindow_live_p; 1802 extern Lisp_Object Qwindowp, Qwindow_live_p;
1794 extern Lisp_Object Fselected_window (); 1803 extern Lisp_Object Fselected_window ();
1795 extern Lisp_Object Fget_buffer_window (); 1804 extern Lisp_Object Fget_buffer_window ();
1836 extern Lisp_Object Fset_frame_width (); 1845 extern Lisp_Object Fset_frame_width ();
1837 extern Lisp_Object Fset_frame_size (); 1846 extern Lisp_Object Fset_frame_size ();
1838 extern Lisp_Object Fset_frame_position (); 1847 extern Lisp_Object Fset_frame_position ();
1839 extern Lisp_Object Fraise_frame (); 1848 extern Lisp_Object Fraise_frame ();
1840 extern Lisp_Object Fredirect_frame_focus (); 1849 extern Lisp_Object Fredirect_frame_focus ();
1850 extern Lisp_Object frame_buffer_list ();
1841 1851
1842 /* defined in emacs.c */ 1852 /* defined in emacs.c */
1843 extern Lisp_Object decode_env_path (); 1853 extern Lisp_Object decode_env_path ();
1844 extern Lisp_Object Vinvocation_name, Vinvocation_directory; 1854 extern Lisp_Object Vinvocation_name, Vinvocation_directory;
1845 extern Lisp_Object Vinstallation_directory; 1855 extern Lisp_Object Vinstallation_directory;
1889 extern Lisp_Object Fnext_single_property_change (); 1899 extern Lisp_Object Fnext_single_property_change ();
1890 extern Lisp_Object Fprevious_single_property_change (); 1900 extern Lisp_Object Fprevious_single_property_change ();
1891 extern Lisp_Object Fget_text_property (), Fput_text_property (); 1901 extern Lisp_Object Fget_text_property (), Fput_text_property ();
1892 extern Lisp_Object Fset_text_properties (); 1902 extern Lisp_Object Fset_text_properties ();
1893 extern Lisp_Object Ftext_property_not_all (); 1903 extern Lisp_Object Ftext_property_not_all ();
1904 extern Lisp_Object Fprevious_char_property_change ();
1905 extern Lisp_Object Fnext_char_property_change ();
1894 1906
1895 /* defined in intervals.c */ 1907 /* defined in intervals.c */
1896 extern Lisp_Object get_local_map (); 1908 extern Lisp_Object get_local_map ();
1897 1909
1898 /* defined in xmenu.c */ 1910 /* defined in xmenu.c */