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