diff options
Diffstat (limited to 'src/lisp.h')
-rw-r--r-- | src/lisp.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/lisp.h b/src/lisp.h index 9a13a95b3b0..d86fdc0e915 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -56,7 +56,7 @@ Boston, MA 02110-1301, USA. */ #ifdef GC_CHECK_CONS_LIST #define CHECK_CONS_LIST() check_cons_list() #else -#define CHECK_CONS_LIST() 0 +#define CHECK_CONS_LIST() ((void)0) #endif /* These are default choices for the types to use. */ @@ -701,7 +701,10 @@ extern int string_bytes P_ ((struct Lisp_String *)); #endif /* not GC_CHECK_STRING_BYTES */ /* Mark STR as a unibyte string. */ -#define STRING_SET_UNIBYTE(STR) (XSTRING (STR)->size_byte = -1) +#define STRING_SET_UNIBYTE(STR) \ + do { if (EQ (STR, empty_multibyte_string)) \ + (STR) = empty_unibyte_string; \ + else XSTRING (STR)->size_byte = -1; } while (0) /* Get text properties. */ #define STRING_INTERVALS(STR) (XSTRING (STR)->intervals + 0) @@ -735,9 +738,9 @@ struct Lisp_Vector /* If a struct is made to look like a vector, this macro returns the length of the shortest vector that would hold that struct. */ -#define VECSIZE(type) ((sizeof (type) - (sizeof (struct Lisp_Vector) \ - - sizeof (Lisp_Object)) \ - + sizeof(Lisp_Object) - 1) /* round up */ \ +#define VECSIZE(type) ((sizeof (type) \ + - OFFSETOF (struct Lisp_Vector, contents[0]) \ + + sizeof(Lisp_Object) - 1) /* round up */ \ / sizeof (Lisp_Object)) /* Like VECSIZE, but used when the pseudo-vector has non-Lisp_Object fields @@ -1038,16 +1041,16 @@ struct Lisp_Hash_Table hash table size to reduce collisions. */ Lisp_Object index; - /* Next weak hash table if this is a weak hash table. The head - of the list is in Vweak_hash_tables. */ - Lisp_Object next_weak; - /* User-supplied hash function, or nil. */ Lisp_Object user_hash_function; /* User-supplied key comparison function, or nil. */ Lisp_Object user_cmp_function; + /* Next weak hash table if this is a weak hash table. The head + of the list is in weak_hash_tables. */ + struct Lisp_Hash_Table *next_weak; + /* C function to compare two keys. */ int (* cmpfn) P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned, Lisp_Object, unsigned)); @@ -2425,7 +2428,7 @@ EXFUN (Fstring_lessp, 2); extern int char_table_translate P_ ((Lisp_Object, int)); extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, int, - Lisp_Object *)); + int *)); extern Lisp_Object char_table_ref_and_index P_ ((Lisp_Object, int, int *)); extern void syms_of_fns P_ ((void)); @@ -3060,7 +3063,8 @@ extern void syms_of_frame P_ ((void)); /* defined in emacs.c */ extern Lisp_Object decode_env_path P_ ((char *, char *)); extern Lisp_Object Vinvocation_name, Vinvocation_directory; -extern Lisp_Object Vinstallation_directory, empty_string; +extern Lisp_Object Vinstallation_directory; +extern Lisp_Object empty_unibyte_string, empty_multibyte_string; EXFUN (Fkill_emacs, 1); #if HAVE_SETLOCALE void fixup_locale P_ ((void)); @@ -3096,6 +3100,8 @@ extern int wait_reading_process_output P_ ((int, int, int, int, int)); extern void add_keyboard_wait_descriptor P_ ((int)); extern void delete_keyboard_wait_descriptor P_ ((int)); +extern void add_gpm_wait_descriptor P_ ((int)); +extern void delete_gpm_wait_descriptor P_ ((int)); extern void close_process_descs P_ ((void)); extern void init_process P_ ((void)); extern void syms_of_process P_ ((void)); @@ -3238,6 +3244,7 @@ EXFUN (Fx_file_dialog, 5); #endif /* Defined in xfaces.c */ +EXFUN (Fclear_face_cache, 1); extern void syms_of_xfaces P_ ((void)); #ifndef HAVE_GETLOADAVG @@ -3253,6 +3260,7 @@ extern void syms_of_xfns P_ ((void)); extern void syms_of_xsmfns P_ ((void)); /* Defined in xselect.c */ +EXFUN (Fx_send_client_event, 6); extern void syms_of_xselect P_ ((void)); /* Defined in xterm.c */ |