]> code.delx.au - gnu-emacs/blobdiff - src/lisp.h
(struct gl_state_s): New field `offset'.
[gnu-emacs] / src / lisp.h
index 2571036963ccf96bb20b631b4923ebd32ee81e51..ecfc0b657c2c8bd4d1da285f83f4d4c947b17764 100644 (file)
@@ -181,12 +181,11 @@ Lisp_Object;
 #endif /* NO_UNION_TYPE */
 
 
-/* If union type is not wanted, define Lisp_Object as just a number
-   and define the macros below to extract fields by shifting */
+/* If union type is not wanted, define Lisp_Object as just a number.  */
 
 #ifdef NO_UNION_TYPE
-
 #define Lisp_Object EMACS_INT
+#endif /* NO_UNION_TYPE */
 
 #ifndef VALMASK
 #define VALMASK ((((EMACS_INT) 1)<<VALBITS) - 1)
@@ -243,8 +242,6 @@ enum pvec_type
 
 /* For convenience, we also store the number of elements in these bits.  */
 #define PSEUDOVECTOR_SIZE_MASK 0x1ff
-
-#endif /* NO_UNION_TYPE */
 \f
 /* These macros extract various sorts of values from a Lisp_Object.
  For example, if tem is a Lisp_Object whose type is Lisp_Cons,
@@ -611,11 +608,11 @@ struct Lisp_Vector
    and 8-bit Europeans characters.  For these characters, do not check
    validity of CT.  Do not follow parent.  */
 #define CHAR_TABLE_REF(CT, IDX)                                \
-  (XFASTINT (IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS       \
-   ? (!NILP (XCHAR_TABLE (CT)->contents[XFASTINT (IDX)])\
-      ? XCHAR_TABLE (CT)->contents[XFASTINT (IDX)]     \
+  ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS                        \
+   ? (!NILP (XCHAR_TABLE (CT)->contents[IDX])          \
+      ? XCHAR_TABLE (CT)->contents[IDX]                        \
       : XCHAR_TABLE (CT)->defalt)                      \
-   : Faref (CT, IDX))
+   : Faref (CT, make_number (IDX)))
 
 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and
    8-bit Europeans characters.  Do not check validity of CT.  */
@@ -1317,7 +1314,8 @@ extern char *stack_bottom;
 #define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
 \f
 /* Variables used locally in the following case handling macros.  */
-extern Lisp_Object case_temp1, case_temp2;
+extern int case_temp1;
+extern Lisp_Object case_temp2;
 
 /* Current buffer's map from characters to lower-case characters.  */
 
@@ -1337,7 +1335,7 @@ extern Lisp_Object case_temp1, case_temp2;
 
 /* 1 if CH is upper case.  */
 
-#define UPPERCASEP(CH) (DOWNCASE(CH) != (CH))
+#define UPPERCASEP(CH) (DOWNCASE (CH) != (CH))
 
 /* 1 if CH is neither upper nor lower case.  */
 
@@ -1487,6 +1485,7 @@ extern Lisp_Object Ffset (), Fsetplist ();
 extern Lisp_Object Fsymbol_value (), find_symbol_value (), Fset ();
 extern Lisp_Object Fdefault_value (), Fset_default (), Fdefault_boundp ();
 extern Lisp_Object Fmake_local_variable ();
+extern Lisp_Object Flocal_variable_if_set_p ();
 
 extern Lisp_Object Faref (), Faset ();
 
@@ -1520,6 +1519,7 @@ extern Lisp_Object Fend_of_line (), Fforward_char (), Fforward_line ();
 /* Defined in coding.c */
 extern Lisp_Object Fcoding_system_p (), Fcheck_coding_system ();
 extern Lisp_Object Fread_coding_system (), Fread_non_nil_coding_system ();
+extern Lisp_Object Ffind_coding_system ();
 
 /* Defined in syntax.c */
 extern Lisp_Object Fforward_word ();
@@ -1537,11 +1537,13 @@ extern Lisp_Object Freverse (), Fnreverse (), Fget (), Fput (), Fequal ();
 extern Lisp_Object Ffillarray (), Fnconc (), Fmapcar (), Fmapconcat ();
 extern Lisp_Object Fy_or_n_p (), do_yes_or_no_p ();
 extern Lisp_Object Ffeaturep (), Frequire () , Fprovide ();
-extern Lisp_Object concat2 (), nconc2 ();
+extern Lisp_Object concat2 (), concat3 (), nconc2 ();
 extern Lisp_Object assq_no_quit ();
 extern Lisp_Object Fcopy_alist ();
 extern Lisp_Object Fplist_get ();
 extern Lisp_Object Fset_char_table_parent ();
+extern Lisp_Object Fchar_table_extra_slot ();
+extern Lisp_Object Frassoc ();
 
 /* Defined in insdel.c */
 extern void move_gap ();
@@ -1678,6 +1680,7 @@ extern Lisp_Object save_excursion_save (), save_restriction_save ();
 extern Lisp_Object save_excursion_restore (), save_restriction_restore ();
 extern Lisp_Object Fchar_to_string ();
 extern Lisp_Object Fdelete_region (), Fnarrow_to_region (), Fwiden ();
+extern Lisp_Object Fuser_login_name (), Fsystem_name ();
 
 /* defined in buffer.c */
 extern Lisp_Object Foverlay_start (), Foverlay_end ();
@@ -1696,7 +1699,9 @@ extern Lisp_Object Fkill_buffer (), Fkill_all_local_variables ();
 extern Lisp_Object Fbuffer_disable_undo (), Fbuffer_enable_undo ();
 extern Lisp_Object Ferase_buffer ();
 extern Lisp_Object Qoverlayp;
+extern Lisp_Object get_truename_buffer ();
 extern struct buffer *all_buffers;
+extern Lisp_Object Fprevious_overlay_change ();
 
 /* defined in marker.c */
 
@@ -1721,6 +1726,7 @@ extern Lisp_Object Ffile_accessible_directory_p ();
 extern Lisp_Object Funhandled_file_name_directory ();
 extern Lisp_Object Ffile_directory_p ();
 extern Lisp_Object Fwrite_region ();
+extern Lisp_Object Ffile_readable_p (), Ffile_executable_p ();
 
 /* Defined in abbrev.c */
 
@@ -1790,6 +1796,7 @@ extern void describe_map_tree ();
 
 /* defined in indent.c */
 extern Lisp_Object Fvertical_motion (), Findent_to (), Fcurrent_column ();
+extern Lisp_Object Fmove_to_column ();
 
 /* defined in window.c */
 extern Lisp_Object Qwindowp, Qwindow_live_p;
@@ -1840,6 +1847,7 @@ extern Lisp_Object Fset_frame_size ();
 extern Lisp_Object Fset_frame_position ();
 extern Lisp_Object Fraise_frame ();
 extern Lisp_Object Fredirect_frame_focus ();
+extern Lisp_Object frame_buffer_list ();
 
 /* defined in emacs.c */
 extern Lisp_Object decode_env_path ();
@@ -1893,6 +1901,8 @@ extern Lisp_Object Fprevious_single_property_change ();
 extern Lisp_Object Fget_text_property (), Fput_text_property ();
 extern Lisp_Object Fset_text_properties ();
 extern Lisp_Object Ftext_property_not_all ();
+extern Lisp_Object Fprevious_char_property_change ();
+extern Lisp_Object Fnext_char_property_change ();
 
 /* defined in intervals.c */
 extern Lisp_Object get_local_map ();