aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2008-08-02 17:03:34 +0000
committerEli Zaretskii2008-08-02 17:03:34 +0000
commitb86cfd284576e5e23253f9e12b4445c97bdc687c (patch)
treeea8cb4cb539af05192f142f28ed73c90e8f56305 /src
parent0078170f722188a741d16949b4d24c67dd0c310d (diff)
downloademacs-b86cfd284576e5e23253f9e12b4445c97bdc687c.tar.gz
emacs-b86cfd284576e5e23253f9e12b4445c97bdc687c.zip
Fix erroneous last commit.
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h72
1 files changed, 30 insertions, 42 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 155a5c5cc44..cd9d0f5585a 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -108,13 +108,6 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
108 108
109#endif 109#endif
110 110
111/* Used for making sure that Emacs is compilable in all
112 configurations. */
113
114#ifdef USE_LISP_UNION_TYPE
115#undef NO_UNION_TYPE
116#endif
117
118/* Define an Emacs version of "assert", since some system ones are 111/* Define an Emacs version of "assert", since some system ones are
119 flaky. */ 112 flaky. */
120#ifndef ENABLE_CHECKING 113#ifndef ENABLE_CHECKING
@@ -127,10 +120,15 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
127#endif 120#endif
128#endif /* ENABLE_CHECKING */ 121#endif /* ENABLE_CHECKING */
129 122
123/* Define this to make Lisp_Object use a union type instead of the
124 default int. FIXME: It might be better to add a flag to configure
125 to do this. */
126/* #define USE_LISP_UNION_TYPE */
127
130/***** Select the tagging scheme. *****/ 128/***** Select the tagging scheme. *****/
131/* There are basically two options that control the tagging scheme: 129/* There are basically two options that control the tagging scheme:
132 - NO_UNION_TYPE says that Lisp_Object should be an integer instead 130 - USE_LISP_UNION_TYPE says that Lisp_Object should be a union instead
133 of a union. 131 of an integer.
134 - USE_LSB_TAG means that we can assume the least 3 bits of pointers are 132 - USE_LSB_TAG means that we can assume the least 3 bits of pointers are
135 always 0, and we can thus use them to hold tag bits, without 133 always 0, and we can thus use them to hold tag bits, without
136 restricting our addressing space. 134 restricting our addressing space.
@@ -159,11 +157,11 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
159#endif 157#endif
160 158
161/* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */ 159/* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */
162#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined MAC_OSX 160#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined(NS_IMPL_COCOA)
163/* We also need to be able to specify mult-of-8 alignment on static vars. */ 161/* We also need to be able to specify mult-of-8 alignment on static vars. */
164# if defined DECL_ALIGN 162# if defined DECL_ALIGN
165/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */ 163/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */
166# if defined NO_UNION_TYPE 164# ifndef USE_LISP_UNION_TYPE
167# define USE_LSB_TAG 165# define USE_LSB_TAG
168# endif 166# endif
169# endif 167# endif
@@ -246,7 +244,7 @@ enum Lisp_Misc_Type
246#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) 244#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
247#endif 245#endif
248 246
249#ifndef NO_UNION_TYPE 247#ifdef USE_LISP_UNION_TYPE
250 248
251#ifndef WORDS_BIG_ENDIAN 249#ifndef WORDS_BIG_ENDIAN
252 250
@@ -310,13 +308,13 @@ LISP_MAKE_RVALUE (Lisp_Object o)
310#define LISP_MAKE_RVALUE(o) (o) 308#define LISP_MAKE_RVALUE(o) (o)
311#endif 309#endif
312 310
313#else /* NO_UNION_TYPE */ 311#else /* USE_LISP_UNION_TYPE */
314 312
315/* If union type is not wanted, define Lisp_Object as just a number. */ 313/* If union type is not wanted, define Lisp_Object as just a number. */
316 314
317typedef EMACS_INT Lisp_Object; 315typedef EMACS_INT Lisp_Object;
318#define LISP_MAKE_RVALUE(o) (0+(o)) 316#define LISP_MAKE_RVALUE(o) (0+(o))
319#endif /* NO_UNION_TYPE */ 317#endif /* USE_LISP_UNION_TYPE */
320 318
321/* In the size word of a vector, this bit means the vector has been marked. */ 319/* In the size word of a vector, this bit means the vector has been marked. */
322 320
@@ -374,7 +372,7 @@ enum pvec_type
374 For example, if tem is a Lisp_Object whose type is Lisp_Cons, 372 For example, if tem is a Lisp_Object whose type is Lisp_Cons,
375 XCONS (tem) is the struct Lisp_Cons * pointing to the memory for that cons. */ 373 XCONS (tem) is the struct Lisp_Cons * pointing to the memory for that cons. */
376 374
377#ifdef NO_UNION_TYPE 375#ifndef USE_LISP_UNION_TYPE
378 376
379/* Return a perfect hash of the Lisp_Object representation. */ 377/* Return a perfect hash of the Lisp_Object representation. */
380#define XHASH(a) (a) 378#define XHASH(a) (a)
@@ -440,7 +438,7 @@ enum pvec_type
440 438
441#endif /* not USE_LSB_TAG */ 439#endif /* not USE_LSB_TAG */
442 440
443#else /* not NO_UNION_TYPE */ 441#else /* USE_LISP_UNION_TYPE */
444 442
445#define XHASH(a) ((a).i) 443#define XHASH(a) ((a).i)
446 444
@@ -472,7 +470,7 @@ enum pvec_type
472extern Lisp_Object make_number P_ ((EMACS_INT)); 470extern Lisp_Object make_number P_ ((EMACS_INT));
473#endif 471#endif
474 472
475#endif /* NO_UNION_TYPE */ 473#endif /* USE_LISP_UNION_TYPE */
476 474
477#define EQ(x, y) (XHASH (x) == XHASH (y)) 475#define EQ(x, y) (XHASH (x) == XHASH (y))
478 476
@@ -1657,9 +1655,7 @@ typedef struct {
1657 } while (0) 1655 } while (0)
1658 1656
1659/* Cast pointers to this type to compare them. Some machines want int. */ 1657/* Cast pointers to this type to compare them. Some machines want int. */
1660#ifndef PNTR_COMPARISON_TYPE
1661#define PNTR_COMPARISON_TYPE EMACS_UINT 1658#define PNTR_COMPARISON_TYPE EMACS_UINT
1662#endif
1663 1659
1664/* Define a built-in function for calling from Lisp. 1660/* Define a built-in function for calling from Lisp.
1665 `lname' should be the name to give the function in Lisp, 1661 `lname' should be the name to give the function in Lisp,
@@ -2353,9 +2349,8 @@ Lisp_Object copy_hash_table P_ ((struct Lisp_Hash_Table *));
2353int hash_lookup P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned *)); 2349int hash_lookup P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned *));
2354int hash_put P_ ((struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, 2350int hash_put P_ ((struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object,
2355 unsigned)); 2351 unsigned));
2356void hash_remove P_ ((struct Lisp_Hash_Table *, Lisp_Object));
2357void hash_clear P_ ((struct Lisp_Hash_Table *)); 2352void hash_clear P_ ((struct Lisp_Hash_Table *));
2358void remove_hash_entry P_ ((struct Lisp_Hash_Table *, int)); 2353void init_weak_hash_tables P_ ((void));
2359extern void init_fns P_ ((void)); 2354extern void init_fns P_ ((void));
2360EXFUN (Fsxhash, 1); 2355EXFUN (Fsxhash, 1);
2361EXFUN (Fmake_hash_table, MANY); 2356EXFUN (Fmake_hash_table, MANY);
@@ -2388,6 +2383,7 @@ EXFUN (Fstring_make_unibyte, 1);
2388EXFUN (Fstring_as_multibyte, 1); 2383EXFUN (Fstring_as_multibyte, 1);
2389EXFUN (Fstring_as_unibyte, 1); 2384EXFUN (Fstring_as_unibyte, 1);
2390EXFUN (Fstring_to_multibyte, 1); 2385EXFUN (Fstring_to_multibyte, 1);
2386EXFUN (Fstring_to_unibyte, 1);
2391EXFUN (Fsubstring, 3); 2387EXFUN (Fsubstring, 3);
2392extern Lisp_Object substring_both P_ ((Lisp_Object, int, int, int, int)); 2388extern Lisp_Object substring_both P_ ((Lisp_Object, int, int, int, int));
2393EXFUN (Fnth, 2); 2389EXFUN (Fnth, 2);
@@ -2849,6 +2845,7 @@ extern char *no_switch_window P_ ((Lisp_Object window));
2849EXFUN (Fset_buffer_multibyte, 1); 2845EXFUN (Fset_buffer_multibyte, 1);
2850EXFUN (Foverlay_start, 1); 2846EXFUN (Foverlay_start, 1);
2851EXFUN (Foverlay_end, 1); 2847EXFUN (Foverlay_end, 1);
2848EXFUN (Foverlay_buffer, 1);
2852extern void adjust_overlays_for_insert P_ ((EMACS_INT, EMACS_INT)); 2849extern void adjust_overlays_for_insert P_ ((EMACS_INT, EMACS_INT));
2853extern void adjust_overlays_for_delete P_ ((EMACS_INT, EMACS_INT)); 2850extern void adjust_overlays_for_delete P_ ((EMACS_INT, EMACS_INT));
2854extern void fix_start_end_in_overlays P_ ((int, int)); 2851extern void fix_start_end_in_overlays P_ ((int, int));
@@ -2934,6 +2931,8 @@ extern void syms_of_fileio P_ ((void));
2934extern void init_fileio_once P_ ((void)); 2931extern void init_fileio_once P_ ((void));
2935extern Lisp_Object make_temp_name P_ ((Lisp_Object, int)); 2932extern Lisp_Object make_temp_name P_ ((Lisp_Object, int));
2936EXFUN (Fmake_symbolic_link, 3); 2933EXFUN (Fmake_symbolic_link, 3);
2934extern Lisp_Object Qdelete_directory;
2935extern Lisp_Object Qdelete_file;
2937 2936
2938/* Defined in abbrev.c */ 2937/* Defined in abbrev.c */
2939 2938
@@ -3289,6 +3288,9 @@ extern void fatal P_ ((const char *msgid, ...)) NO_RETURN;
3289EXFUN (Fdelete_terminal, 2); 3288EXFUN (Fdelete_terminal, 2);
3290extern void syms_of_terminal P_ ((void)); 3289extern void syms_of_terminal P_ ((void));
3291 3290
3291/* Defined in font.c */
3292extern void syms_of_font P_ ((void));
3293
3292#ifdef HAVE_WINDOW_SYSTEM 3294#ifdef HAVE_WINDOW_SYSTEM
3293/* Defined in fontset.c */ 3295/* Defined in fontset.c */
3294extern void syms_of_fontset P_ ((void)); 3296extern void syms_of_fontset P_ ((void));
@@ -3329,30 +3331,16 @@ extern void syms_of_xterm P_ ((void));
3329EXFUN (Fmsdos_downcase_filename, 1); 3331EXFUN (Fmsdos_downcase_filename, 1);
3330#endif 3332#endif
3331 3333
3332#ifdef MAC_OS
3333/* Defined in macfns.c */
3334extern void syms_of_macfns P_ ((void));
3335
3336/* Defined in macselect.c */
3337extern void syms_of_macselect P_ ((void));
3338
3339/* Defined in macterm.c */
3340extern void syms_of_macterm P_ ((void));
3341
3342/* Defined in macmenu.c */
3343extern void syms_of_macmenu P_ ((void));
3344
3345/* Defined in mac.c */
3346extern void syms_of_mac P_ ((void));
3347#ifdef MAC_OSX
3348extern void init_mac_osx_environment P_ ((void));
3349#endif /* MAC_OSX */
3350#endif /* MAC_OS */
3351
3352#ifdef HAVE_MENUS 3334#ifdef HAVE_MENUS
3353/* Defined in (x|mac|w32)fns.c... */ 3335/* Defined in (x|w32)fns.c... */
3354extern int have_menus_p P_ ((void)); 3336extern int have_menus_p P_ ((void));
3355#endif 3337#endif
3338
3339#ifdef HAVE_DBUS
3340/* Defined in dbusbind.c */
3341void xd_read_queued_messages P_ ((void));
3342void syms_of_dbusbind P_ ((void));
3343#endif
3356 3344
3357/* Nonzero means Emacs has already been initialized. 3345/* Nonzero means Emacs has already been initialized.
3358 Used during startup to detect startup of dumped Emacs. */ 3346 Used during startup to detect startup of dumped Emacs. */