# HG changeset patch # User Eli Zaretskii # Date 1217696614 0 # Node ID 5584d562a3b585a2514ad7bed3be5c235f23e28e # Parent 32841f1fcbb9d7fa2a8b02a48bd2d79fa0fa0bc8 Fix erroneous last commit. diff -r 32841f1fcbb9 -r 5584d562a3b5 src/lisp.h --- a/src/lisp.h Sat Aug 02 16:41:36 2008 +0000 +++ b/src/lisp.h Sat Aug 02 17:03:34 2008 +0000 @@ -108,13 +108,6 @@ #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 @@ -127,10 +120,15 @@ #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: - - NO_UNION_TYPE says that Lisp_Object should be an integer instead - of a union. + - USE_LISP_UNION_TYPE says that Lisp_Object should be a union instead + of an integer. - 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. @@ -159,11 +157,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 MAC_OSX +#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined(NS_IMPL_COCOA) /* 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. */ -# if defined NO_UNION_TYPE +# ifndef USE_LISP_UNION_TYPE # define USE_LSB_TAG # endif # endif @@ -246,7 +244,7 @@ #define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) #endif -#ifndef NO_UNION_TYPE +#ifdef USE_LISP_UNION_TYPE #ifndef WORDS_BIG_ENDIAN @@ -310,13 +308,13 @@ #define LISP_MAKE_RVALUE(o) (o) #endif -#else /* NO_UNION_TYPE */ +#else /* USE_LISP_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 /* NO_UNION_TYPE */ +#endif /* USE_LISP_UNION_TYPE */ /* In the size word of a vector, this bit means the vector has been marked. */ @@ -374,7 +372,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. */ -#ifdef NO_UNION_TYPE +#ifndef USE_LISP_UNION_TYPE /* Return a perfect hash of the Lisp_Object representation. */ #define XHASH(a) (a) @@ -440,7 +438,7 @@ #endif /* not USE_LSB_TAG */ -#else /* not NO_UNION_TYPE */ +#else /* USE_LISP_UNION_TYPE */ #define XHASH(a) ((a).i) @@ -472,7 +470,7 @@ extern Lisp_Object make_number P_ ((EMACS_INT)); #endif -#endif /* NO_UNION_TYPE */ +#endif /* USE_LISP_UNION_TYPE */ #define EQ(x, y) (XHASH (x) == XHASH (y)) @@ -1657,9 +1655,7 @@ } 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, @@ -2353,9 +2349,8 @@ 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 remove_hash_entry P_ ((struct Lisp_Hash_Table *, int)); +void init_weak_hash_tables P_ ((void)); extern void init_fns P_ ((void)); EXFUN (Fsxhash, 1); EXFUN (Fmake_hash_table, MANY); @@ -2388,6 +2383,7 @@ 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); @@ -2849,6 +2845,7 @@ 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)); @@ -2934,6 +2931,8 @@ 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 */ @@ -3289,6 +3288,9 @@ 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)); @@ -3329,30 +3331,16 @@ 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|mac|w32)fns.c... */ +/* Defined in (x|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. */