X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Flisp.h;h=44a67b297e897f2863994cfd6bc0dafcb532c847;hb=bbf3133177a15f214e3d0060e168ed86dbeed8a2;hp=38bb28780f067db163556006314ad4bc4359f455;hpb=dbf2768f7b146e97e37a27316f70bb313f1acf15;p=chise%2Fxemacs-chise.git.1 diff --git a/src/lisp.h b/src/lisp.h index 38bb287..44a67b2 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -243,15 +243,16 @@ template struct alignment_trick { char c; T member; }; time the assert checks take is measurable so let's not include them in production binaries. */ -#ifdef USE_ASSERTIONS /* Highly dubious kludge */ /* (thanks, Jamie, I feel better now -- ben) */ +# define ABORT() (assert_failed (__FILE__, __LINE__, "ABORT()")) void assert_failed (const char *, int, const char *); -# define abort() (assert_failed (__FILE__, __LINE__, "abort()")) + +#ifdef USE_ASSERTIONS # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) #else # ifdef DEBUG_XEMACS -# define assert(x) ((x) ? (void) 0 : (void) abort ()) +# define assert(x) ((x) ? (void) 0 : (void) ABORT ()) # else # define assert(x) # endif @@ -879,7 +880,7 @@ do { \ /* For a list that's known to be in valid list format, where we may be deleting the current element out of the list -- - will abort() if the list is not in valid format */ + will ABORT() if the list is not in valid format */ #define LIST_LOOP_DELETING(consvar, nextconsvar, list) \ for (consvar = list; \ !NILP (consvar) ? (nextconsvar = XCDR (consvar), 1) :0; \ @@ -1410,7 +1411,7 @@ DECLARE_LRECORD (marker, Lisp_Marker); #define CONCHECK_MARKER(x) CONCHECK_RECORD (x, marker) /* The second check was looking for GCed markers still in use */ -/* if (INTP (XMARKER (x)->lheader.next.v)) abort (); */ +/* if (INTP (XMARKER (x)->lheader.next.v)) ABORT (); */ #define marker_next(m) ((m)->next) #define marker_prev(m) ((m)->prev) @@ -1587,7 +1588,7 @@ XCHAR_OR_INT (Lisp_Object obj) #define C_READONLY(obj) (C_READONLY_RECORD_HEADER_P(XRECORD_LHEADER (obj))) #define LISP_READONLY(obj) (LISP_READONLY_RECORD_HEADER_P(XRECORD_LHEADER (obj))) -/*----------------------------- structrures ----------------------------*/ +/*----------------------------- structures -----------------------------*/ typedef struct structure_keyword_entry structure_keyword_entry; struct structure_keyword_entry @@ -2264,6 +2265,9 @@ struct overhead_stats #ifdef HAVE_INTTYPES_H #include +#elif defined(INTPTR_T_IN_CYGWIN_TYPES_H) +/* Recent Cygwin defines these types in + We can hope that if they ever get inttypes.h, they won't define twice */ #elif SIZEOF_VOID_P == SIZEOF_INT typedef int intptr_t; typedef unsigned int uintptr_t; @@ -2459,10 +2463,13 @@ Lisp_Object decode_path (const char *); /* Nonzero means don't do interactive redisplay and don't change tty modes */ extern int noninteractive, noninteractive1; extern int fatal_error_in_progress; +extern int inhibit_non_essential_printing_operations; extern int preparing_for_armageddon; extern Fixnum emacs_priority; extern int running_asynch_code; extern int suppress_early_error_handler_backtrace; +void debug_break (void); +int debug_can_access_memory (void *ptr, Bytecount len); /* Defined in eval.c */ DECLARE_DOESNT_RETURN (signal_error (Lisp_Object, Lisp_Object)); @@ -2750,6 +2757,7 @@ void close_load_descs (void); int locate_file (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object *, int); EXFUN (Flocate_file_clear_hashing, 1); int isfloat_string (const char *); +Lisp_Object read_from_c_string (const unsigned char* str, size_t size); /* Well, I've decided to enable this. -- ben */ /* And I've decided to make it work right. -- sb */ @@ -2953,6 +2961,7 @@ EXFUN (Fcar, 1); EXFUN (Fcar_safe, 1); EXFUN (Fcdr, 1); EXFUN (Fchar_after, 2); +EXFUN (Fchar_ref_p, 1); EXFUN (Fchar_to_string, 1); EXFUN (Fcheck_valid_plist, 1); EXFUN (Fvalid_plist_p, 1); @@ -3147,6 +3156,7 @@ EXFUN (Fspecifier_spec_list, 4); EXFUN (Fstring_equal, 2); EXFUN (Fstring_lessp, 2); EXFUN (Fstring_match, 4); +EXFUN (Fstring_to_number, 2); EXFUN (Fsub1, 1); EXFUN (Fsubr_max_args, 1); EXFUN (Fsubr_min_args, 1); @@ -3257,6 +3267,9 @@ extern Lisp_Object Qtext_image_instance_p; extern Lisp_Object Qtop_level; extern Lisp_Object Qtrue_list_p; extern Lisp_Object Qunbound, Qunderflow_error; +#ifdef UTF2000 +extern Lisp_Object Qunloaded; +#endif extern Lisp_Object Qunderline, Quser_files_and_directories; extern Lisp_Object Qvalues; extern Lisp_Object Qvariable_documentation, Qvariable_domain; @@ -3281,6 +3294,9 @@ extern Lisp_Object Qgtk; extern Lisp_Object Vactivate_menubar_hook; extern Lisp_Object Vautoload_queue, Vblank_menubar; extern Lisp_Object Vcharset_ascii, Vcharset_composite, Vcharset_control_1; +extern Lisp_Object Vcharset_latin_iso8859_1, Vcharset_greek_iso8859_7; +extern Lisp_Object Vcharset_cyrillic_iso8859_5, Vcharset_hebrew_iso8859_8; +extern Lisp_Object Vcharset_thai_tis620, Vcharset_katakana_jisx0201; extern Lisp_Object Vcoding_system_for_read, Vcoding_system_for_write; extern Lisp_Object Vcoding_system_hash_table, Vcommand_history; extern Lisp_Object Vcommand_line_args, Vconfigure_info_directory;