600 |
/* Please do not use the names of these elements in code other |
/* Please do not use the names of these elements in code other |
601 |
than the core lisp implementation. Use XCAR and XCDR below. */ |
than the core lisp implementation. Use XCAR and XCDR below. */ |
602 |
#ifdef HIDE_LISP_IMPLEMENTATION |
#ifdef HIDE_LISP_IMPLEMENTATION |
603 |
Lisp_Object car_, cdr_; |
Lisp_Object car_; |
604 |
|
union |
605 |
|
{ |
606 |
|
Lisp_Object cdr_; |
607 |
|
struct Lisp_Cons *chain; |
608 |
|
} u; |
609 |
#else |
#else |
610 |
Lisp_Object car, cdr; |
Lisp_Object car; |
611 |
|
union |
612 |
|
{ |
613 |
|
Lisp_Object cdr; |
614 |
|
struct Lisp_Cons *chain; |
615 |
|
} u; |
616 |
#endif |
#endif |
617 |
}; |
}; |
618 |
|
|
625 |
invalidated at arbitrary points.) */ |
invalidated at arbitrary points.) */ |
626 |
#ifdef HIDE_LISP_IMPLEMENTATION |
#ifdef HIDE_LISP_IMPLEMENTATION |
627 |
#define XCAR_AS_LVALUE(c) (XCONS ((c))->car_) |
#define XCAR_AS_LVALUE(c) (XCONS ((c))->car_) |
628 |
#define XCDR_AS_LVALUE(c) (XCONS ((c))->cdr_) |
#define XCDR_AS_LVALUE(c) (XCONS ((c))->u.cdr_) |
629 |
#else |
#else |
630 |
#define XCAR_AS_LVALUE(c) (XCONS ((c))->car) |
#define XCAR_AS_LVALUE(c) (XCONS ((c))->car) |
631 |
#define XCDR_AS_LVALUE(c) (XCONS ((c))->cdr) |
#define XCDR_AS_LVALUE(c) (XCONS ((c))->u.cdr) |
632 |
#endif |
#endif |
633 |
|
|
634 |
/* Use these from normal code. */ |
/* Use these from normal code. */ |
1285 |
/* Lisp floating point type */ |
/* Lisp floating point type */ |
1286 |
struct Lisp_Float |
struct Lisp_Float |
1287 |
{ |
{ |
1288 |
|
union |
1289 |
|
{ |
1290 |
#ifdef HIDE_LISP_IMPLEMENTATION |
#ifdef HIDE_LISP_IMPLEMENTATION |
1291 |
double data_; |
double data_; |
1292 |
#else |
#else |
1293 |
double data; |
double data; |
1294 |
#endif |
#endif |
1295 |
|
struct Lisp_Float *chain; |
1296 |
|
} u; |
1297 |
}; |
}; |
1298 |
|
|
1299 |
#ifdef HIDE_LISP_IMPLEMENTATION |
#ifdef HIDE_LISP_IMPLEMENTATION |
1300 |
#define XFLOAT_DATA(f) (XFLOAT (f)->data_) |
#define XFLOAT_DATA(f) (XFLOAT (f)->u.data_) |
1301 |
#else |
#else |
1302 |
#define XFLOAT_DATA(f) (XFLOAT (f)->data) |
#define XFLOAT_DATA(f) (XFLOAT (f)->u.data) |
1303 |
#endif |
#endif |
1304 |
|
|
1305 |
/* A character, declared with the following typedef, is a member |
/* A character, declared with the following typedef, is a member |