1 |
/* Fundamental definitions for GNU Emacs Lisp interpreter. |
/* Fundamental definitions for GNU Emacs Lisp interpreter. |
2 |
Copyright (C) 1985,86,87,93,94,95,97,98,1999,2000, 2001, 2002 |
Copyright (C) 1985,86,87,93,94,95,97,98,1999,2000, 2001, 2002, 2003 |
3 |
Free Software Foundation, Inc. |
Free Software Foundation, Inc. |
4 |
|
|
5 |
This file is part of GNU Emacs. |
This file is part of GNU Emacs. |
146 |
Lisp_Misc_Some_Buffer_Local_Value, |
Lisp_Misc_Some_Buffer_Local_Value, |
147 |
Lisp_Misc_Overlay, |
Lisp_Misc_Overlay, |
148 |
Lisp_Misc_Kboard_Objfwd, |
Lisp_Misc_Kboard_Objfwd, |
149 |
|
Lisp_Misc_Save_Value, |
150 |
/* Currently floats are not a misc type, |
/* Currently floats are not a misc type, |
151 |
but let's define this in case we want to change that. */ |
but let's define this in case we want to change that. */ |
152 |
Lisp_Misc_Float, |
Lisp_Misc_Float, |
353 |
#define XUINT(a) ((EMACS_UINT) ((a) & VALMASK)) |
#define XUINT(a) ((EMACS_UINT) ((a) & VALMASK)) |
354 |
#endif |
#endif |
355 |
|
|
|
#ifndef XPNTR |
|
|
#ifdef HAVE_SHM |
|
|
/* In this representation, data is found in two widely separated segments. */ |
|
|
extern size_t pure_size; |
|
|
#define XPNTR(a) \ |
|
|
(XUINT (a) | (XUINT (a) > pure_size ? DATA_SEG_BITS : PURE_SEG_BITS)) |
|
|
#else /* not HAVE_SHM */ |
|
|
#ifdef DATA_SEG_BITS |
|
|
/* This case is used for the rt-pc. |
|
|
In the diffs I was given, it checked for ptr = 0 |
|
|
and did not adjust it in that case. |
|
|
But I don't think that zero should ever be found |
|
|
in a Lisp object whose data type says it points to something. */ |
|
|
#define XPNTR(a) (XUINT (a) | DATA_SEG_BITS) |
|
|
#else |
|
|
#define XPNTR(a) XUINT (a) |
|
|
#endif |
|
|
#endif /* not HAVE_SHM */ |
|
|
#endif /* no XPNTR */ |
|
|
|
|
356 |
#ifndef XSET |
#ifndef XSET |
357 |
#define XSET(var, type, ptr) \ |
#define XSET(var, type, ptr) \ |
358 |
((var) = ((EMACS_INT)(type) << VALBITS) + ((EMACS_INT) (ptr) & VALMASK)) |
((var) = ((EMACS_INT)(type) << VALBITS) + ((EMACS_INT) (ptr) & VALMASK)) |
418 |
#endif /* EXPLICIT_SIGN_EXTEND */ |
#endif /* EXPLICIT_SIGN_EXTEND */ |
419 |
|
|
420 |
#define XUINT(a) ((a).u.val) |
#define XUINT(a) ((a).u.val) |
|
#define XPNTR(a) ((a).u.val) |
|
421 |
|
|
422 |
#define XSET(var, vartype, ptr) \ |
#define XSET(var, vartype, ptr) \ |
423 |
(((var).s.val = ((EMACS_INT) (ptr))), ((var).s.type = ((char) (vartype)))) |
(((var).s.val = ((EMACS_INT) (ptr))), ((var).s.type = ((char) (vartype)))) |
443 |
|
|
444 |
#endif /* NO_UNION_TYPE */ |
#endif /* NO_UNION_TYPE */ |
445 |
|
|
446 |
|
#ifndef XPNTR |
447 |
|
#ifdef HAVE_SHM |
448 |
|
/* In this representation, data is found in two widely separated segments. */ |
449 |
|
extern size_t pure_size; |
450 |
|
#define XPNTR(a) \ |
451 |
|
(XUINT (a) | (XUINT (a) > pure_size ? DATA_SEG_BITS : PURE_SEG_BITS)) |
452 |
|
#else /* not HAVE_SHM */ |
453 |
|
#ifdef DATA_SEG_BITS |
454 |
|
/* This case is used for the rt-pc. |
455 |
|
In the diffs I was given, it checked for ptr = 0 |
456 |
|
and did not adjust it in that case. |
457 |
|
But I don't think that zero should ever be found |
458 |
|
in a Lisp object whose data type says it points to something. */ |
459 |
|
#define XPNTR(a) (XUINT (a) | DATA_SEG_BITS) |
460 |
|
#else |
461 |
|
#define XPNTR(a) XUINT (a) |
462 |
|
#endif |
463 |
|
#endif /* not HAVE_SHM */ |
464 |
|
#endif /* no XPNTR */ |
465 |
|
|
466 |
/* Largest and smallest representable fixnum values. These are the C |
/* Largest and smallest representable fixnum values. These are the C |
467 |
values. */ |
values. */ |
468 |
|
|
495 |
#define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) |
#define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) |
496 |
#define XOVERLAY(a) (&(XMISC(a)->u_overlay)) |
#define XOVERLAY(a) (&(XMISC(a)->u_overlay)) |
497 |
#define XKBOARD_OBJFWD(a) (&(XMISC(a)->u_kboard_objfwd)) |
#define XKBOARD_OBJFWD(a) (&(XMISC(a)->u_kboard_objfwd)) |
498 |
|
#define XSAVE_VALUE(a) (&(XMISC(a)->u_save_value)) |
499 |
|
|
500 |
/* Pseudovector types. */ |
/* Pseudovector types. */ |
501 |
|
|
542 |
|
|
543 |
/* Convenience macros for dealing with Lisp strings. */ |
/* Convenience macros for dealing with Lisp strings. */ |
544 |
|
|
545 |
#define SREF(string, index) XSTRING (string)->data[index] |
#define SREF(string, index) (XSTRING (string)->data[index] + 0) |
546 |
#define SDATA(string) XSTRING (string)->data |
#define SSET(string, index, new) (XSTRING (string)->data[index] = (new)) |
547 |
#define SCHARS(string) XSTRING (string)->size |
#define SDATA(string) (XSTRING (string)->data + 0) |
548 |
#define SBYTES(string) STRING_BYTES (XSTRING (string)) |
#define SCHARS(string) (XSTRING (string)->size + 0) |
549 |
#define SMBP(string) STRING_MULTIBYTE (string) |
#define SBYTES(string) (STRING_BYTES (XSTRING (string)) + 0) |
550 |
|
|
551 |
|
#define STRING_SET_CHARS(string, newsize) \ |
552 |
|
(XSTRING (string)->size = (newsize)) |
553 |
|
|
554 |
|
#define STRING_COPYIN(string, index, new, count) \ |
555 |
|
bcopy (new, XSTRING (string)->data + index, count) |
556 |
|
|
557 |
|
|
558 |
/* Basic data type for use of intervals. See the macros in intervals.h. */ |
/* Basic data type for use of intervals. See the macros in intervals.h. */ |
688 |
|
|
689 |
#endif /* not GC_CHECK_STRING_BYTES */ |
#endif /* not GC_CHECK_STRING_BYTES */ |
690 |
|
|
691 |
/* Set the length in bytes of STR. */ |
/* Mark STR as a unibyte string. */ |
692 |
#define SET_STRING_BYTES(STR, SIZE) ((STR)->size_byte = (SIZE)) |
#define STRING_SET_UNIBYTE(STR) (XSTRING (STR)->size_byte = -1) |
693 |
|
|
694 |
|
/* Get text properties. */ |
695 |
|
#define STRING_INTERVALS(STR) (XSTRING (STR)->intervals + 0) |
696 |
|
|
697 |
|
/* Set text properties. */ |
698 |
|
#define STRING_SET_INTERVALS(STR, INT) (XSTRING (STR)->intervals = (INT)) |
699 |
|
|
700 |
/* In a string or vector, the sign bit of the `size' is the gc mark bit */ |
/* In a string or vector, the sign bit of the `size' is the gc mark bit */ |
701 |
|
|
1042 |
} \ |
} \ |
1043 |
while (0) |
while (0) |
1044 |
|
|
1045 |
|
/* Value is the key part of entry IDX in hash table H. */ |
1046 |
|
|
1047 |
|
#define HASH_KEY(H, IDX) AREF ((H)->key_and_value, 2 * (IDX)) |
1048 |
|
|
1049 |
|
/* Value is the value part of entry IDX in hash table H. */ |
1050 |
|
|
1051 |
|
#define HASH_VALUE(H, IDX) AREF ((H)->key_and_value, 2 * (IDX) + 1) |
1052 |
|
|
1053 |
|
/* Value is the index of the next entry following the one at IDX |
1054 |
|
in hash table H. */ |
1055 |
|
|
1056 |
|
#define HASH_NEXT(H, IDX) AREF ((H)->next, (IDX)) |
1057 |
|
|
1058 |
|
/* Value is the hash code computed for entry IDX in hash table H. */ |
1059 |
|
|
1060 |
|
#define HASH_HASH(H, IDX) AREF ((H)->hash, (IDX)) |
1061 |
|
|
1062 |
|
/* Value is the index of the element in hash table H that is the |
1063 |
|
start of the collision list at index IDX in the index vector of H. */ |
1064 |
|
|
1065 |
|
#define HASH_INDEX(H, IDX) AREF ((H)->index, (IDX)) |
1066 |
|
|
1067 |
|
/* Value is the size of hash table H. */ |
1068 |
|
|
1069 |
|
#define HASH_TABLE_SIZE(H) XVECTOR ((H)->next)->size |
1070 |
|
|
1071 |
/* Default size for hash tables if not specified. */ |
/* Default size for hash tables if not specified. */ |
1072 |
|
|
1073 |
#define DEFAULT_HASH_SIZE 65 |
#define DEFAULT_HASH_SIZE 65 |
1238 |
int offset; |
int offset; |
1239 |
}; |
}; |
1240 |
|
|
1241 |
|
/* Hold a C pointer for later use. |
1242 |
|
This type of object is used in the arg to record_unwind_protect. */ |
1243 |
|
struct Lisp_Save_Value |
1244 |
|
{ |
1245 |
|
int type : 16; /* = Lisp_Misc_Save_Value */ |
1246 |
|
int spacer : 16; |
1247 |
|
void *pointer; |
1248 |
|
int integer; |
1249 |
|
}; |
1250 |
|
|
1251 |
|
|
1252 |
/* To get the type field of a union Lisp_Misc, use XMISCTYPE. |
/* To get the type field of a union Lisp_Misc, use XMISCTYPE. |
1253 |
It uses one of these struct subtypes to get the type field. */ |
It uses one of these struct subtypes to get the type field. */ |
1263 |
struct Lisp_Buffer_Local_Value u_buffer_local_value; |
struct Lisp_Buffer_Local_Value u_buffer_local_value; |
1264 |
struct Lisp_Overlay u_overlay; |
struct Lisp_Overlay u_overlay; |
1265 |
struct Lisp_Kboard_Objfwd u_kboard_objfwd; |
struct Lisp_Kboard_Objfwd u_kboard_objfwd; |
1266 |
|
struct Lisp_Save_Value u_save_value; |
1267 |
}; |
}; |
1268 |
|
|
1269 |
/* Lisp floating point type */ |
/* Lisp floating point type */ |
1724 |
|
|
1725 |
extern EMACS_INT max_specpdl_size; |
extern EMACS_INT max_specpdl_size; |
1726 |
|
|
1727 |
#define BINDING_STACK_SIZE() (specpdl_ptr - specpdl) |
#define SPECPDL_INDEX() (specpdl_ptr - specpdl) |
1728 |
|
|
1729 |
/* Everything needed to describe an active condition case. */ |
/* Everything needed to describe an active condition case. */ |
1730 |
struct handler |
struct handler |
1731 |
{ |
{ |
1732 |
/* The handler clauses and variable from the condition-case form. */ |
/* The handler clauses and variable from the condition-case form. */ |
1733 |
|
/* For a handler set up in Lisp code, this is always a list. |
1734 |
|
For an internal handler set up by internal_condition_case*, |
1735 |
|
this can instead be the symbol t or `error'. |
1736 |
|
t: handle all conditions. |
1737 |
|
error: handle all conditions, and errors can run the debugger |
1738 |
|
or display a backtrace. */ |
1739 |
Lisp_Object handler; |
Lisp_Object handler; |
1740 |
Lisp_Object var; |
Lisp_Object var; |
1741 |
/* Fsignal stores here the condition-case clause that applies, |
/* Fsignal stores here the condition-case clause that applies, |
1892 |
#if GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS |
#if GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS |
1893 |
|
|
1894 |
/* Do something silly with gcproN vars just so gcc shuts up. */ |
/* Do something silly with gcproN vars just so gcc shuts up. */ |
1895 |
|
/* You get warnings from MIPSPro... */ |
1896 |
|
|
1897 |
#define GCPRO1(varname) ((void) gcpro1) |
#define GCPRO1(varname) ((void) gcpro1) |
1898 |
#define GCPRO2(varname1, varname2)(((void) gcpro2, (void) gcpro1)) |
#define GCPRO2(varname1, varname2)(((void) gcpro2, (void) gcpro1)) |
2188 |
EXFUN (Fupdate_coding_systems_internal, 0); |
EXFUN (Fupdate_coding_systems_internal, 0); |
2189 |
EXFUN (Fencode_coding_string, 3); |
EXFUN (Fencode_coding_string, 3); |
2190 |
EXFUN (Fdecode_coding_string, 3); |
EXFUN (Fdecode_coding_string, 3); |
2191 |
extern Lisp_Object detect_coding_system P_ ((unsigned char *, int, int, int)); |
extern Lisp_Object detect_coding_system P_ ((const unsigned char *, int, int, |
2192 |
Lisp_Object code_convert_string_norecord P_ ((Lisp_Object, Lisp_Object, int)); |
int)); |
2193 |
extern void init_coding P_ ((void)); |
extern void init_coding P_ ((void)); |
2194 |
extern void init_coding_once P_ ((void)); |
extern void init_coding_once P_ ((void)); |
2195 |
extern void syms_of_coding P_ ((void)); |
extern void syms_of_coding P_ ((void)); |
2202 |
EXFUN (Fchar_bytes, 1); |
EXFUN (Fchar_bytes, 1); |
2203 |
EXFUN (Fchar_width, 1); |
EXFUN (Fchar_width, 1); |
2204 |
EXFUN (Fstring, MANY); |
EXFUN (Fstring, MANY); |
2205 |
extern int chars_in_text P_ ((unsigned char *, int)); |
extern int chars_in_text P_ ((const unsigned char *, int)); |
2206 |
extern int multibyte_chars_in_text P_ ((unsigned char *, int)); |
extern int multibyte_chars_in_text P_ ((const unsigned char *, int)); |
2207 |
extern int unibyte_char_to_multibyte P_ ((int)); |
extern int unibyte_char_to_multibyte P_ ((int)); |
2208 |
extern int multibyte_char_to_unibyte P_ ((int, Lisp_Object)); |
extern int multibyte_char_to_unibyte P_ ((int, Lisp_Object)); |
2209 |
extern Lisp_Object Qcharset; |
extern Lisp_Object Qcharset; |
2270 |
EXFUN (Fstring_make_unibyte, 1); |
EXFUN (Fstring_make_unibyte, 1); |
2271 |
EXFUN (Fstring_as_multibyte, 1); |
EXFUN (Fstring_as_multibyte, 1); |
2272 |
EXFUN (Fstring_as_unibyte, 1); |
EXFUN (Fstring_as_unibyte, 1); |
2273 |
|
EXFUN (Fstring_to_multibyte, 1); |
2274 |
EXFUN (Fsubstring, 3); |
EXFUN (Fsubstring, 3); |
2275 |
extern Lisp_Object substring_both P_ ((Lisp_Object, int, int, int, int)); |
extern Lisp_Object substring_both P_ ((Lisp_Object, int, int, int, int)); |
2276 |
EXFUN (Fnth, 2); |
EXFUN (Fnth, 2); |
2335 |
extern void move_gap P_ ((int)); |
extern void move_gap P_ ((int)); |
2336 |
extern void move_gap_both P_ ((int, int)); |
extern void move_gap_both P_ ((int, int)); |
2337 |
extern void make_gap P_ ((int)); |
extern void make_gap P_ ((int)); |
2338 |
extern int copy_text P_ ((unsigned char *, unsigned char *, int, int, int)); |
extern int copy_text P_ ((const unsigned char *, unsigned char *, int, int, int)); |
2339 |
extern int count_size_as_multibyte P_ ((unsigned char *, int)); |
extern int count_size_as_multibyte P_ ((const unsigned char *, int)); |
2340 |
extern int count_combining_before P_ ((unsigned char *, int, int, int)); |
extern int count_combining_before P_ ((const unsigned char *, int, int, int)); |
2341 |
extern int count_combining_after P_ ((unsigned char *, int, int, int)); |
extern int count_combining_after P_ ((const unsigned char *, int, int, int)); |
2342 |
extern void insert P_ ((unsigned char *, int)); |
extern void insert P_ ((const unsigned char *, int)); |
2343 |
extern void insert_and_inherit P_ ((unsigned char *, int)); |
extern void insert_and_inherit P_ ((const unsigned char *, int)); |
2344 |
extern void insert_1 P_ ((unsigned char *, int, int, int, int)); |
extern void insert_1 P_ ((const unsigned char *, int, int, int, int)); |
2345 |
extern void insert_1_both P_ ((unsigned char *, int, int, int, int, int)); |
extern void insert_1_both P_ ((const unsigned char *, int, int, int, int, int)); |
2346 |
extern void insert_from_string P_ ((Lisp_Object, int, int, int, int, int)); |
extern void insert_from_string P_ ((Lisp_Object, int, int, int, int, int)); |
2347 |
extern void insert_from_buffer P_ ((struct buffer *, int, int, int)); |
extern void insert_from_buffer P_ ((struct buffer *, int, int, int)); |
2348 |
extern void insert_char P_ ((int)); |
extern void insert_char P_ ((int)); |
2349 |
extern void insert_string P_ ((char *)); |
extern void insert_string P_ ((const char *)); |
2350 |
extern void insert_before_markers P_ ((unsigned char *, int)); |
extern void insert_before_markers P_ ((const unsigned char *, int)); |
2351 |
extern void insert_before_markers_and_inherit P_ ((unsigned char *, int)); |
extern void insert_before_markers_and_inherit P_ ((const unsigned char *, int)); |
2352 |
extern void insert_from_string_before_markers P_ ((Lisp_Object, int, int, int, int, int)); |
extern void insert_from_string_before_markers P_ ((Lisp_Object, int, int, int, int, int)); |
2353 |
extern void del_range P_ ((int, int)); |
extern void del_range P_ ((int, int)); |
2354 |
extern Lisp_Object del_range_1 P_ ((int, int, int, int)); |
extern Lisp_Object del_range_1 P_ ((int, int, int, int)); |
2376 |
extern Lisp_Object sit_for P_ ((int, int, int, int, int)); |
extern Lisp_Object sit_for P_ ((int, int, int, int, int)); |
2377 |
extern void init_display P_ ((void)); |
extern void init_display P_ ((void)); |
2378 |
extern void syms_of_display P_ ((void)); |
extern void syms_of_display P_ ((void)); |
2379 |
extern void safe_bcopy P_ ((char *, char *, int)); |
extern void safe_bcopy P_ ((const char *, char *, int)); |
2380 |
|
|
2381 |
/* Defined in xdisp.c */ |
/* Defined in xdisp.c */ |
2382 |
extern Lisp_Object Qinhibit_point_motion_hooks; |
extern Lisp_Object Qinhibit_point_motion_hooks; |
2383 |
extern Lisp_Object Qinhibit_redisplay, Qdisplay; |
extern Lisp_Object Qinhibit_redisplay, Qdisplay; |
2384 |
extern Lisp_Object Qinhibit_eval_during_redisplay; |
extern Lisp_Object Qinhibit_eval_during_redisplay; |
2385 |
extern Lisp_Object Qmessage_truncate_lines; |
extern Lisp_Object Qmessage_truncate_lines; |
|
extern Lisp_Object Qcursor_in_non_selected_windows; |
|
2386 |
extern Lisp_Object Vmessage_log_max; |
extern Lisp_Object Vmessage_log_max; |
2387 |
extern int message_enable_multibyte; |
extern int message_enable_multibyte; |
2388 |
extern Lisp_Object echo_area_buffer[2]; |
extern Lisp_Object echo_area_buffer[2]; |
2389 |
extern void check_message_stack P_ ((void)); |
extern void check_message_stack P_ ((void)); |
2390 |
extern void setup_echo_area_for_printing P_ ((int)); |
extern void setup_echo_area_for_printing P_ ((int)); |
2391 |
extern int push_message P_ ((void)); |
extern int push_message P_ ((void)); |
2392 |
extern Lisp_Object push_message_unwind P_ ((Lisp_Object)); |
extern Lisp_Object pop_message_unwind P_ ((Lisp_Object)); |
2393 |
|
extern Lisp_Object restore_message_unwind P_ ((Lisp_Object)); |
2394 |
extern void pop_message P_ ((void)); |
extern void pop_message P_ ((void)); |
2395 |
extern void restore_message P_ ((void)); |
extern void restore_message P_ ((void)); |
2396 |
extern Lisp_Object current_message P_ ((void)); |
extern Lisp_Object current_message P_ ((void)); |
2397 |
extern void set_message P_ ((char *s, Lisp_Object, int, int)); |
extern void set_message P_ ((const char *s, Lisp_Object, int, int)); |
2398 |
extern void clear_message P_ ((int, int)); |
extern void clear_message P_ ((int, int)); |
2399 |
extern void message P_ ((/* char *, ... */)); |
extern void message P_ ((/* char *, ... */)); |
2400 |
extern void message_nolog P_ ((/* char *, ... */)); |
extern void message_nolog P_ ((/* char *, ... */)); |
2401 |
extern void message1 P_ ((char *)); |
extern void message1 P_ ((char *)); |
2402 |
extern void message1_nolog P_ ((char *)); |
extern void message1_nolog P_ ((char *)); |
2403 |
extern void message2 P_ ((char *, int, int)); |
extern void message2 P_ ((const char *, int, int)); |
2404 |
extern void message2_nolog P_ ((char *, int, int)); |
extern void message2_nolog P_ ((const char *, int, int)); |
2405 |
extern void message3 P_ ((Lisp_Object, int, int)); |
extern void message3 P_ ((Lisp_Object, int, int)); |
2406 |
extern void message3_nolog P_ ((Lisp_Object, int, int)); |
extern void message3_nolog P_ ((Lisp_Object, int, int)); |
2407 |
extern void message_dolog P_ ((char *, int, int, int)); |
extern void message_dolog P_ ((const char *, int, int, int)); |
2408 |
extern void message_with_string P_ ((char *, Lisp_Object, int)); |
extern void message_with_string P_ ((char *, Lisp_Object, int)); |
2409 |
extern void message_log_maybe_newline P_ ((void)); |
extern void message_log_maybe_newline P_ ((void)); |
2410 |
extern void update_echo_area P_ ((void)); |
extern void update_echo_area P_ ((void)); |
2415 |
extern void redisplay_preserve_echo_area P_ ((int)); |
extern void redisplay_preserve_echo_area P_ ((int)); |
2416 |
extern void mark_window_display_accurate P_ ((Lisp_Object, int)); |
extern void mark_window_display_accurate P_ ((Lisp_Object, int)); |
2417 |
extern void prepare_menu_bars P_ ((void)); |
extern void prepare_menu_bars P_ ((void)); |
2418 |
|
|
2419 |
|
void set_frame_cursor_types P_ ((struct frame *, Lisp_Object)); |
2420 |
extern void syms_of_xdisp P_ ((void)); |
extern void syms_of_xdisp P_ ((void)); |
2421 |
extern void init_xdisp P_ ((void)); |
extern void init_xdisp P_ ((void)); |
2422 |
extern Lisp_Object safe_eval P_ ((Lisp_Object)); |
extern Lisp_Object safe_eval P_ ((Lisp_Object)); |
2435 |
extern int survives_gc_p P_ ((Lisp_Object)); |
extern int survives_gc_p P_ ((Lisp_Object)); |
2436 |
extern void mark_object P_ ((Lisp_Object *)); |
extern void mark_object P_ ((Lisp_Object *)); |
2437 |
extern Lisp_Object Vpurify_flag; |
extern Lisp_Object Vpurify_flag; |
2438 |
|
extern Lisp_Object Vmemory_full; |
2439 |
EXFUN (Fcons, 2); |
EXFUN (Fcons, 2); |
2440 |
EXFUN (list2, 2); |
EXFUN (list2, 2); |
2441 |
EXFUN (list3, 3); |
EXFUN (list3, 3); |
2449 |
EXFUN (Fmake_symbol, 1); |
EXFUN (Fmake_symbol, 1); |
2450 |
EXFUN (Fmake_marker, 0); |
EXFUN (Fmake_marker, 0); |
2451 |
EXFUN (Fmake_string, 2); |
EXFUN (Fmake_string, 2); |
2452 |
extern Lisp_Object build_string P_ ((char *)); |
extern Lisp_Object build_string P_ ((const char *)); |
2453 |
extern Lisp_Object make_string P_ ((char *, int)); |
extern Lisp_Object make_string P_ ((const char *, int)); |
2454 |
extern Lisp_Object make_unibyte_string P_ ((char *, int)); |
extern Lisp_Object make_unibyte_string P_ ((const char *, int)); |
2455 |
extern Lisp_Object make_multibyte_string P_ ((char *, int, int)); |
extern Lisp_Object make_multibyte_string P_ ((const char *, int, int)); |
2456 |
extern Lisp_Object make_event_array P_ ((int, Lisp_Object *)); |
extern Lisp_Object make_event_array P_ ((int, Lisp_Object *)); |
2457 |
extern Lisp_Object make_uninit_string P_ ((int)); |
extern Lisp_Object make_uninit_string P_ ((int)); |
2458 |
extern Lisp_Object make_uninit_multibyte_string P_ ((int, int)); |
extern Lisp_Object make_uninit_multibyte_string P_ ((int, int)); |
2459 |
extern Lisp_Object make_string_from_bytes P_ ((char *, int, int)); |
extern Lisp_Object make_string_from_bytes P_ ((const char *, int, int)); |
2460 |
extern Lisp_Object make_specified_string P_ ((char *, int, int, int)); |
extern Lisp_Object make_specified_string P_ ((const char *, int, int, int)); |
2461 |
EXFUN (Fpurecopy, 1); |
EXFUN (Fpurecopy, 1); |
2462 |
extern Lisp_Object make_pure_string P_ ((char *, int, int, int)); |
extern Lisp_Object make_pure_string P_ ((char *, int, int, int)); |
2463 |
extern Lisp_Object pure_cons P_ ((Lisp_Object, Lisp_Object)); |
extern Lisp_Object pure_cons P_ ((Lisp_Object, Lisp_Object)); |
2478 |
extern Lisp_Object make_float P_ ((double)); |
extern Lisp_Object make_float P_ ((double)); |
2479 |
extern void display_malloc_warning P_ ((void)); |
extern void display_malloc_warning P_ ((void)); |
2480 |
extern int inhibit_garbage_collection P_ ((void)); |
extern int inhibit_garbage_collection P_ ((void)); |
2481 |
|
extern Lisp_Object make_save_value P_ ((void *, int)); |
2482 |
extern void free_marker P_ ((Lisp_Object)); |
extern void free_marker P_ ((Lisp_Object)); |
2483 |
extern void free_cons P_ ((struct Lisp_Cons *)); |
extern void free_cons P_ ((struct Lisp_Cons *)); |
2484 |
extern void init_alloc_once P_ ((void)); |
extern void init_alloc_once P_ ((void)); |
2497 |
EXFUN (Ferror_message_string, 1); |
EXFUN (Ferror_message_string, 1); |
2498 |
extern Lisp_Object Vstandard_output, Qstandard_output; |
extern Lisp_Object Vstandard_output, Qstandard_output; |
2499 |
extern Lisp_Object Qexternal_debugging_output; |
extern Lisp_Object Qexternal_debugging_output; |
2500 |
extern void temp_output_buffer_setup P_ ((char *)); |
extern void temp_output_buffer_setup P_ ((const char *)); |
2501 |
extern int print_level, print_escape_newlines; |
extern int print_level, print_escape_newlines; |
2502 |
extern Lisp_Object Qprint_escape_newlines; |
extern Lisp_Object Qprint_escape_newlines; |
2503 |
extern void write_string P_ ((char *, int)); |
extern void write_string P_ ((char *, int)); |
2504 |
extern void write_string_1 P_ ((char *, int, Lisp_Object)); |
extern void write_string_1 P_ ((char *, int, Lisp_Object)); |
2505 |
extern void print_error_message P_ ((Lisp_Object, Lisp_Object)); |
extern void print_error_message P_ ((Lisp_Object, Lisp_Object, char *, Lisp_Object)); |
2506 |
extern Lisp_Object internal_with_output_to_temp_buffer |
extern Lisp_Object internal_with_output_to_temp_buffer |
2507 |
P_ ((char *, Lisp_Object (*) (Lisp_Object), Lisp_Object)); |
P_ ((const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object)); |
2508 |
extern void float_to_string P_ ((unsigned char *, double)); |
extern void float_to_string P_ ((unsigned char *, double)); |
2509 |
extern void syms_of_print P_ ((void)); |
extern void syms_of_print P_ ((void)); |
2510 |
|
|
2525 |
EXFUN (Fread_event, 2); |
EXFUN (Fread_event, 2); |
2526 |
extern Lisp_Object read_filtered_event P_ ((int, int, int, int)); |
extern Lisp_Object read_filtered_event P_ ((int, int, int, int)); |
2527 |
EXFUN (Feval_region, 4); |
EXFUN (Feval_region, 4); |
2528 |
extern Lisp_Object intern P_ ((char *)); |
extern Lisp_Object intern P_ ((const char *)); |
2529 |
extern Lisp_Object make_symbol P_ ((char *)); |
extern Lisp_Object make_symbol P_ ((char *)); |
2530 |
extern Lisp_Object oblookup P_ ((Lisp_Object, char *, int, int)); |
extern Lisp_Object oblookup P_ ((Lisp_Object, const char *, int, int)); |
2531 |
#define LOADHIST_ATTACH(x) \ |
#define LOADHIST_ATTACH(x) \ |
2532 |
if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list) |
if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list) |
2533 |
extern Lisp_Object Vcurrent_load_list; |
extern Lisp_Object Vcurrent_load_list; |
2646 |
EXFUN (Fbobp, 0); |
EXFUN (Fbobp, 0); |
2647 |
EXFUN (Fformat, MANY); |
EXFUN (Fformat, MANY); |
2648 |
EXFUN (Fmessage, MANY); |
EXFUN (Fmessage, MANY); |
2649 |
extern Lisp_Object format1 P_ ((/* char *, ... */)); |
extern Lisp_Object format2 P_ ((char *, Lisp_Object, Lisp_Object)); |
2650 |
extern Lisp_Object make_buffer_string P_ ((int, int, int)); |
extern Lisp_Object make_buffer_string P_ ((int, int, int)); |
2651 |
EXFUN (Fbuffer_substring, 2); |
EXFUN (Fbuffer_substring, 2); |
2652 |
EXFUN (Fbuffer_string, 0); |
EXFUN (Fbuffer_string, 0); |
2760 |
EXFUN (Ffile_executable_p, 1); |
EXFUN (Ffile_executable_p, 1); |
2761 |
EXFUN (Fread_file_name, 6); |
EXFUN (Fread_file_name, 6); |
2762 |
extern Lisp_Object close_file_unwind P_ ((Lisp_Object)); |
extern Lisp_Object close_file_unwind P_ ((Lisp_Object)); |
2763 |
extern void report_file_error P_ ((char *, Lisp_Object)); |
extern void report_file_error P_ ((const char *, Lisp_Object)); |
2764 |
extern int internal_delete_file P_ ((Lisp_Object)); |
extern int internal_delete_file P_ ((Lisp_Object)); |
2765 |
extern void syms_of_fileio P_ ((void)); |
extern void syms_of_fileio P_ ((void)); |
2766 |
EXFUN (Fmake_temp_name, 1); |
EXFUN (Fmake_temp_name, 1); |
2782 |
EXFUN (Fmatch_end, 1); |
EXFUN (Fmatch_end, 1); |
2783 |
EXFUN (Flooking_at, 1); |
EXFUN (Flooking_at, 1); |
2784 |
extern int fast_string_match P_ ((Lisp_Object, Lisp_Object)); |
extern int fast_string_match P_ ((Lisp_Object, Lisp_Object)); |
2785 |
extern int fast_c_string_match_ignore_case P_ ((Lisp_Object, char *)); |
extern int fast_c_string_match_ignore_case P_ ((Lisp_Object, const char *)); |
2786 |
extern int scan_buffer P_ ((int, int, int, int, int *, int)); |
extern int scan_buffer P_ ((int, int, int, int, int *, int)); |
2787 |
extern int scan_newline P_ ((int, int, int, int, int, int)); |
extern int scan_newline P_ ((int, int, int, int, int, int)); |
2788 |
extern int find_next_newline P_ ((int, int)); |
extern int find_next_newline P_ ((int, int)); |
2803 |
EXFUN (Fread_string, 5); |
EXFUN (Fread_string, 5); |
2804 |
EXFUN (Fread_no_blanks_input, 3); |
EXFUN (Fread_no_blanks_input, 3); |
2805 |
extern Lisp_Object get_minibuffer P_ ((int)); |
extern Lisp_Object get_minibuffer P_ ((int)); |
2806 |
extern void temp_echo_area_glyphs P_ ((char *)); |
extern void temp_echo_area_glyphs P_ ((const char *)); |
2807 |
extern void init_minibuf_once P_ ((void)); |
extern void init_minibuf_once P_ ((void)); |
2808 |
extern void syms_of_minibuf P_ ((void)); |
extern void syms_of_minibuf P_ ((void)); |
2809 |
extern void keys_of_minibuf P_ ((void)); |
extern void keys_of_minibuf P_ ((void)); |
2874 |
EXFUN (Findent_to, 2); |
EXFUN (Findent_to, 2); |
2875 |
EXFUN (Fcurrent_column, 0); |
EXFUN (Fcurrent_column, 0); |
2876 |
EXFUN (Fmove_to_column, 2); |
EXFUN (Fmove_to_column, 2); |
2877 |
extern float current_column P_ ((void)); |
extern double current_column P_ ((void)); |
2878 |
extern void invalidate_current_column P_ ((void)); |
extern void invalidate_current_column P_ ((void)); |
2879 |
extern int indented_beyond_p P_ ((int, int, float)); |
extern int indented_beyond_p P_ ((int, int, double)); |
2880 |
extern void syms_of_indent P_ ((void)); |
extern void syms_of_indent P_ ((void)); |
2881 |
|
|
2882 |
/* defined in window.c */ |
/* defined in window.c */ |
2992 |
extern int read_process_output P_ ((Lisp_Object, int)); |
extern int read_process_output P_ ((Lisp_Object, int)); |
2993 |
extern void init_process P_ ((void)); |
extern void init_process P_ ((void)); |
2994 |
extern void syms_of_process P_ ((void)); |
extern void syms_of_process P_ ((void)); |
2995 |
|
extern void setup_process_coding_systems P_ ((Lisp_Object)); |
2996 |
|
|
2997 |
/* defined in callproc.c */ |
/* defined in callproc.c */ |
2998 |
extern Lisp_Object Vexec_path, Vexec_suffixes, |
extern Lisp_Object Vexec_path, Vexec_suffixes, |
3027 |
|
|
3028 |
/* defined in macros.c */ |
/* defined in macros.c */ |
3029 |
extern Lisp_Object Qexecute_kbd_macro; |
extern Lisp_Object Qexecute_kbd_macro; |
3030 |
EXFUN (Fexecute_kbd_macro, 2); |
EXFUN (Fexecute_kbd_macro, 3); |
3031 |
|
EXFUN (Fcancel_kbd_macro_events, 0); |
3032 |
extern void init_macros P_ ((void)); |
extern void init_macros P_ ((void)); |
3033 |
extern void syms_of_macros P_ ((void)); |
extern void syms_of_macros P_ ((void)); |
3034 |
|
|
3095 |
extern void create_process P_ ((Lisp_Object, char **, Lisp_Object)); |
extern void create_process P_ ((Lisp_Object, char **, Lisp_Object)); |
3096 |
extern int tabs_safe_p P_ ((void)); |
extern int tabs_safe_p P_ ((void)); |
3097 |
extern void init_baud_rate P_ ((void)); |
extern void init_baud_rate P_ ((void)); |
3098 |
extern int emacs_open P_ ((char *, int, int)); |
extern int emacs_open P_ ((const char *, int, int)); |
3099 |
extern int emacs_close P_ ((int)); |
extern int emacs_close P_ ((int)); |
3100 |
extern int emacs_read P_ ((int, char *, unsigned int)); |
extern int emacs_read P_ ((int, char *, unsigned int)); |
3101 |
extern int emacs_write P_ ((int, char *, unsigned int)); |
extern int emacs_write P_ ((int, const char *, unsigned int)); |
3102 |
|
|
3103 |
/* defined in filelock.c */ |
/* defined in filelock.c */ |
3104 |
EXFUN (Funlock_buffer, 0); |
EXFUN (Funlock_buffer, 0); |
3146 |
extern void syms_of_xfns P_ ((void)); |
extern void syms_of_xfns P_ ((void)); |
3147 |
extern void init_xfns P_ ((void)); |
extern void init_xfns P_ ((void)); |
3148 |
extern Lisp_Object Vx_resource_name; |
extern Lisp_Object Vx_resource_name; |
3149 |
|
extern Lisp_Object Vx_resource_class; |
3150 |
EXFUN (Fxw_display_color_p, 1); |
EXFUN (Fxw_display_color_p, 1); |
3151 |
EXFUN (Fx_file_dialog, 4); |
EXFUN (Fx_file_dialog, 4); |
3152 |
#endif /* HAVE_X_WINDOWS */ |
#endif /* HAVE_X_WINDOWS */ |
3173 |
extern POINTER_TYPE *xrealloc P_ ((POINTER_TYPE *, size_t)); |
extern POINTER_TYPE *xrealloc P_ ((POINTER_TYPE *, size_t)); |
3174 |
extern void xfree P_ ((POINTER_TYPE *)); |
extern void xfree P_ ((POINTER_TYPE *)); |
3175 |
|
|
3176 |
extern char *xstrdup P_ ((char *)); |
extern char *xstrdup P_ ((const char *)); |
3177 |
|
|
3178 |
#ifndef USE_CRT_DLL |
#ifndef USE_CRT_DLL |
3179 |
extern char *egetenv P_ ((char *)); |
extern char *egetenv P_ ((char *)); |