# HG changeset patch # User Eli Zaretskii # Date 1217694029 0 # Node ID 2c95c4530463eb7e75f4fc701e7b054631989e82 # Parent 3866542dcfee0784ab89eaffef6aac4463418a11 Add prototype for directory_files_internal. diff -r 3866542dcfee -r 2c95c4530463 src/lisp.h --- a/src/lisp.h Sat Aug 02 16:19:03 2008 +0000 +++ b/src/lisp.h Sat Aug 02 16:20:29 2008 +0000 @@ -108,6 +108,13 @@ #endif +/* Used for making sure that Emacs is compilable in all + configurations. */ + +#ifdef USE_LISP_UNION_TYPE +#undef NO_UNION_TYPE +#endif + /* Define an Emacs version of "assert", since some system ones are flaky. */ #ifndef ENABLE_CHECKING @@ -120,15 +127,10 @@ #endif #endif /* ENABLE_CHECKING */ -/* Define this to make Lisp_Object use a union type instead of the - default int. FIXME: It might be better to add a flag to configure - to do this. */ -/* #define USE_LISP_UNION_TYPE */ - /***** Select the tagging scheme. *****/ /* There are basically two options that control the tagging scheme: - - USE_LISP_UNION_TYPE says that Lisp_Object should be a union instead - of an integer. + - NO_UNION_TYPE says that Lisp_Object should be an integer instead + of a union. - USE_LSB_TAG means that we can assume the least 3 bits of pointers are always 0, and we can thus use them to hold tag bits, without restricting our addressing space. @@ -157,11 +159,11 @@ #endif /* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */ -#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined(NS_IMPL_COCOA) +#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined MAC_OSX /* We also need to be able to specify mult-of-8 alignment on static vars. */ # if defined DECL_ALIGN /* We currently do not support USE_LSB_TAG with a union Lisp_Object. */ -# ifndef USE_LISP_UNION_TYPE +# if defined NO_UNION_TYPE # define USE_LSB_TAG # endif # endif @@ -244,7 +246,7 @@ #define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) #endif -#ifdef USE_LISP_UNION_TYPE +#ifndef NO_UNION_TYPE #ifndef WORDS_BIG_ENDIAN @@ -308,13 +310,13 @@ #define LISP_MAKE_RVALUE(o) (o) #endif -#else /* USE_LISP_UNION_TYPE */ +#else /* NO_UNION_TYPE */ /* If union type is not wanted, define Lisp_Object as just a number. */ typedef EMACS_INT Lisp_Object; #define LISP_MAKE_RVALUE(o) (0+(o)) -#endif /* USE_LISP_UNION_TYPE */ +#endif /* NO_UNION_TYPE */ /* In the size word of a vector, this bit means the vector has been marked. */ @@ -372,7 +374,7 @@ For example, if tem is a Lisp_Object whose type is Lisp_Cons, XCONS (tem) is the struct Lisp_Cons * pointing to the memory for that cons. */ -#ifndef USE_LISP_UNION_TYPE +#ifdef NO_UNION_TYPE /* Return a perfect hash of the Lisp_Object representation. */ #define XHASH(a) (a) @@ -438,7 +440,7 @@ #endif /* not USE_LSB_TAG */ -#else /* USE_LISP_UNION_TYPE */ +#else /* not NO_UNION_TYPE */ #define XHASH(a) ((a).i) @@ -470,7 +472,7 @@ extern Lisp_Object make_number P_ ((EMACS_INT)); #endif -#endif /* USE_LISP_UNION_TYPE */ +#endif /* NO_UNION_TYPE */ #define EQ(x, y) (XHASH (x) == XHASH (y)) @@ -1655,7 +1657,9 @@ } while (0) /* Cast pointers to this type to compare them. Some machines want int. */ +#ifndef PNTR_COMPARISON_TYPE #define PNTR_COMPARISON_TYPE EMACS_UINT +#endif /* Define a built-in function for calling from Lisp. `lname' should be the name to give the function in Lisp, @@ -2349,8 +2353,9 @@ int hash_lookup P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned *)); int hash_put P_ ((struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, unsigned)); +void hash_remove P_ ((struct Lisp_Hash_Table *, Lisp_Object)); void hash_clear P_ ((struct Lisp_Hash_Table *)); -void init_weak_hash_tables P_ ((void)); +void remove_hash_entry P_ ((struct Lisp_Hash_Table *, int)); extern void init_fns P_ ((void)); EXFUN (Fsxhash, 1); EXFUN (Fmake_hash_table, MANY); @@ -2383,7 +2388,6 @@ EXFUN (Fstring_as_multibyte, 1); EXFUN (Fstring_as_unibyte, 1); EXFUN (Fstring_to_multibyte, 1); -EXFUN (Fstring_to_unibyte, 1); EXFUN (Fsubstring, 3); extern Lisp_Object substring_both P_ ((Lisp_Object, int, int, int, int)); EXFUN (Fnth, 2); @@ -2845,7 +2849,6 @@ EXFUN (Fset_buffer_multibyte, 1); EXFUN (Foverlay_start, 1); EXFUN (Foverlay_end, 1); -EXFUN (Foverlay_buffer, 1); extern void adjust_overlays_for_insert P_ ((EMACS_INT, EMACS_INT)); extern void adjust_overlays_for_delete P_ ((EMACS_INT, EMACS_INT)); extern void fix_start_end_in_overlays P_ ((int, int)); @@ -2931,8 +2934,6 @@ extern void init_fileio_once P_ ((void)); extern Lisp_Object make_temp_name P_ ((Lisp_Object, int)); EXFUN (Fmake_symbolic_link, 3); -extern Lisp_Object Qdelete_directory; -extern Lisp_Object Qdelete_file; /* Defined in abbrev.c */ @@ -3288,9 +3289,6 @@ EXFUN (Fdelete_terminal, 2); extern void syms_of_terminal P_ ((void)); -/* Defined in font.c */ -extern void syms_of_font P_ ((void)); - #ifdef HAVE_WINDOW_SYSTEM /* Defined in fontset.c */ extern void syms_of_fontset P_ ((void)); @@ -3331,16 +3329,30 @@ EXFUN (Fmsdos_downcase_filename, 1); #endif +#ifdef MAC_OS +/* Defined in macfns.c */ +extern void syms_of_macfns P_ ((void)); + +/* Defined in macselect.c */ +extern void syms_of_macselect P_ ((void)); + +/* Defined in macterm.c */ +extern void syms_of_macterm P_ ((void)); + +/* Defined in macmenu.c */ +extern void syms_of_macmenu P_ ((void)); + +/* Defined in mac.c */ +extern void syms_of_mac P_ ((void)); +#ifdef MAC_OSX +extern void init_mac_osx_environment P_ ((void)); +#endif /* MAC_OSX */ +#endif /* MAC_OS */ + #ifdef HAVE_MENUS -/* Defined in (x|w32)fns.c... */ +/* Defined in (x|mac|w32)fns.c... */ extern int have_menus_p P_ ((void)); #endif - -#ifdef HAVE_DBUS -/* Defined in dbusbind.c */ -void xd_read_queued_messages P_ ((void)); -void syms_of_dbusbind P_ ((void)); -#endif /* Nonzero means Emacs has already been initialized. Used during startup to detect startup of dumped Emacs. */