comparison src/lisp.h @ 282:c42ec1d1cded r21-0b39

Import from CVS: tag r21-0b39
author cvs
date Mon, 13 Aug 2007 10:33:18 +0200
parents 7df0dd720c89
children 558f606b08ae
comparison
equal deleted inserted replaced
281:090b52736db2 282:c42ec1d1cded
164 #else 164 #else
165 void xfree (void *); 165 void xfree (void *);
166 #define xfree_1 xfree 166 #define xfree_1 xfree
167 #endif /* ERROR_CHECK_MALLOC */ 167 #endif /* ERROR_CHECK_MALLOC */
168 168
169 /* We assume an ANSI C compiler and libraries and memcpy, memset, memcmp */
170 /* (This definition is here because system header file macros may want
171 * to call bzero (eg FD_ZERO) */
172 #ifndef bzero
173 # define bzero(m, l) memset (m, 0, l)
174 #endif
175
176 #ifndef PRINTF_ARGS 169 #ifndef PRINTF_ARGS
177 # if defined (__GNUC__) && (__GNUC__ >= 2) 170 # if defined (__GNUC__) && (__GNUC__ >= 2)
178 # define PRINTF_ARGS(string_index,first_to_check) \ 171 # define PRINTF_ARGS(string_index,first_to_check) \
179 __attribute__ ((format (printf, string_index, first_to_check))) 172 __attribute__ ((format (printf, string_index, first_to_check)))
180 # else 173 # else
1147 1140
1148 /*********** float ***********/ 1141 /*********** float ***********/
1149 1142
1150 #ifdef LISP_FLOAT_TYPE 1143 #ifdef LISP_FLOAT_TYPE
1151 1144
1145 /* Note: the 'next' field is there to ensure that there is enough room
1146 for the next pointer float type's free list. */
1147
1152 struct Lisp_Float 1148 struct Lisp_Float
1153 { 1149 {
1154 struct lrecord_header lheader; 1150 struct lrecord_header lheader;
1155 double data; 1151 union { double d; struct Lisp_Float *next; } data;
1156 }; 1152 };
1157 1153
1158 DECLARE_LRECORD (float, struct Lisp_Float); 1154 DECLARE_LRECORD (float, struct Lisp_Float);
1159 #define XFLOAT(x) XRECORD (x, float, struct Lisp_Float) 1155 #define XFLOAT(x) XRECORD (x, float, struct Lisp_Float)
1160 #define XSETFLOAT(x, p) XSETRECORD (x, p, float) 1156 #define XSETFLOAT(x, p) XSETRECORD (x, p, float)
1161 #define FLOATP(x) RECORDP (x, float) 1157 #define FLOATP(x) RECORDP (x, float)
1162 #define GC_FLOATP(x) GC_RECORDP (x, float) 1158 #define GC_FLOATP(x) GC_RECORDP (x, float)
1163 #define CHECK_FLOAT(x) CHECK_RECORD (x, float) 1159 #define CHECK_FLOAT(x) CHECK_RECORD (x, float)
1164 #define CONCHECK_FLOAT(x) CONCHECK_RECORD (x, float) 1160 #define CONCHECK_FLOAT(x) CONCHECK_RECORD (x, float)
1165 1161
1166 #define float_data(f) ((f)->data) 1162 #define float_next(f) ((f)->data.next)
1163 #define float_data(f) ((f)->data.d)
1167 1164
1168 #define XFLOATINT(n) extract_float (n) 1165 #define XFLOATINT(n) extract_float (n)
1169 1166
1170 #define CHECK_INT_OR_FLOAT(x) do { \ 1167 #define CHECK_INT_OR_FLOAT(x) do { \
1171 if (!INT_OR_FLOATP (x)) \ 1168 if (!INT_OR_FLOATP (x)) \
2718 extern Lisp_Object Qconsole, Qconsole_live_p, Qconst_specifier, Qcr, Qcritical; 2715 extern Lisp_Object Qconsole, Qconsole_live_p, Qconst_specifier, Qcr, Qcritical;
2719 extern Lisp_Object Qcrlf, Qctext, Qcurrent_menubar; 2716 extern Lisp_Object Qcrlf, Qctext, Qcurrent_menubar;
2720 extern Lisp_Object Qcyclic_variable_indirection, Qdata, Qdead, Qdecode; 2717 extern Lisp_Object Qcyclic_variable_indirection, Qdata, Qdead, Qdecode;
2721 extern Lisp_Object Qdefault, Qdefun, Qdelete, Qdelq, Qdevice, Qdevice_live_p; 2718 extern Lisp_Object Qdefault, Qdefun, Qdelete, Qdelq, Qdevice, Qdevice_live_p;
2722 extern Lisp_Object Qdim, Qdimension, Qdisabled, Qdisplay, Qdisplay_table; 2719 extern Lisp_Object Qdim, Qdimension, Qdisabled, Qdisplay, Qdisplay_table;
2723 extern Lisp_Object Qdnd_data, Qdoc_string, Qdomain_error, Qdynarr_overhead; 2720 extern Lisp_Object Qdoc_string, Qdomain_error, Qdynarr_overhead;
2724 extern Lisp_Object Qempty, Qencode, Qend_of_buffer, Qend_of_file, Qend_open; 2721 extern Lisp_Object Qempty, Qencode, Qend_of_buffer, Qend_of_file, Qend_open;
2725 extern Lisp_Object Qeol_cr, Qeol_crlf, Qeol_lf, Qeol_type, Qeq, Qeql, Qequal; 2722 extern Lisp_Object Qeol_cr, Qeol_crlf, Qeol_lf, Qeol_type, Qeq, Qeql, Qequal;
2726 extern Lisp_Object Qerror, Qerror_conditions, Qerror_message, Qescape_quoted; 2723 extern Lisp_Object Qerror, Qerror_conditions, Qerror_message, Qescape_quoted;
2727 extern Lisp_Object Qeval, Qevent_live_p, Qexit, Qextent_live_p, Qextents; 2724 extern Lisp_Object Qeval, Qevent_live_p, Qexit, Qextent_live_p, Qextents;
2728 extern Lisp_Object Qexternal_debugging_output, Qface, Qfeaturep, Qfile_error; 2725 extern Lisp_Object Qexternal_debugging_output, Qface, Qfeaturep, Qfile_error;