X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Flisp.h;h=44a67b297e897f2863994cfd6bc0dafcb532c847;hb=45d296a62e0a0adaa3a90801f2601bb20e06e993;hp=0db53785f6b8e516399e912e08fc6aa3f5fe0c14;hpb=499b5ad5e2308fd04e3654aaa462d099f1769fd1;p=chise%2Fxemacs-chise.git.1 diff --git a/src/lisp.h b/src/lisp.h index 0db5378..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) @@ -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; @@ -2753,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 */ @@ -2956,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); @@ -3150,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); @@ -3260,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; @@ -3284,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;