Avoid recreating symbols when assigning value to constants.

This commit is contained in:
jjgarcia 2002-09-22 12:08:05 +00:00
parent 8016d4822f
commit 7ce6a0d4c2
12 changed files with 137 additions and 88 deletions

View file

@ -2,6 +2,13 @@
#include "ecl.h"
#include "internal.h"
#define CL_ORDINARY 0
#define CL_SPECIAL 1
#define CL_CONSTANT 2
#define SI_ORDINARY 4
#define SI_SPECIAL 5
#define KEYWORD 10
#include "symbols_def.h"
#include "symbols_list.h"
@ -117,54 +124,54 @@ cl_index cl_num_symbols_in_core = 0;
@)
static void
make_this_symbol(int index, const char *name, cl_object package, bool special)
make_this_symbol(int i, cl_object s, int code, const char *name, cl_object *loc)
{
cl_object s = (cl_object)(cl_symbols + index);
enum stype stp;
cl_object package;
switch (code & 3) {
case 0: stp = stp_ordinary; break;
case 1: stp = stp_special; break;
case 2: stp = stp_constant; break;
}
switch (code & 12) {
case 0: package = lisp_package; break;
case 4: package = system_package; name = name + 4; break;
case 8: package = keyword_package; name = name + 1; break;
}
s->symbol.t = t_symbol;
s->symbol.mflag = FALSE;
SYM_VAL(s) = OBJNULL;
SYM_FUN(s) = OBJNULL;
s->symbol.plist = Cnil;
s->symbol.hpack = Cnil;
s->symbol.stype = special? stp_special : stp_ordinary;
s->symbol.stype = stp;
s->symbol.mflag = FALSE;
s->symbol.isform = FALSE;
s->symbol.hpack = package;
s->symbol.name = make_constant_string(name);
sethash(s->symbol.name, package->pack.external, s);
if (package == keyword_package) {
s->symbol.stype = stp_constant;
SYM_VAL(s) = s;
}
cl_num_symbols_in_core = index + 1;
if (loc != NULL)
*loc = s;
cl_num_symbols_in_core = i + 1;
}
void
init_all_symbols(void)
{
int i;
int i, code;
const char *name;
cl_object s, *loc;
/* We skip NIL and T */
for (i = 2; cl_symbols[i].init.name != NULL; i++) {
cl_object *loc = cl_symbols[i].init.loc;
switch (cl_symbols[i].init.type) {
case CL_ORDINARY:
make_this_symbol(i, cl_symbols[i].init.name, lisp_package, FALSE);
break;
case CL_SPECIAL:
make_this_symbol(i, cl_symbols[i].init.name, lisp_package, TRUE);
break;
case SI_ORDINARY:
make_this_symbol(i, cl_symbols[i].init.name+4, system_package, FALSE);
break;
case SI_SPECIAL:
make_this_symbol(i, cl_symbols[i].init.name+4, system_package, TRUE);
break;
case KEYWORD:
make_this_symbol(i, cl_symbols[i].init.name+1, keyword_package, TRUE);
}
if (loc != NULL)
*loc = (cl_object)(cl_symbols+i);
s = (cl_object)(cl_symbols + i);
code = cl_symbols[i].init.type;
name = cl_symbols[i].init.name;
loc = cl_symbols[i].init.loc;
make_this_symbol(i, s, code, name, loc);
}
}

View file

@ -770,7 +770,7 @@ ILLEGAL: FEerror("~S is an illegal axis-number to the array ~S.",
void
init_array(void)
{
make_constant("ARRAY-RANK-LIMIT", MAKE_FIXNUM(ARANKLIM));
make_constant("ARRAY-DIMENSION-LIMIT", MAKE_FIXNUM(ADIMLIM));
make_constant("ARRAY-TOTAL-SIZE-LIMIT", MAKE_FIXNUM(ATOTLIM));
SYM_VAL(@'array-rank-limit') = MAKE_FIXNUM(ARANKLIM);
SYM_VAL(@'array-dimension-limit') = MAKE_FIXNUM(ADIMLIM);
SYM_VAL(@'array-total-size-limit') = MAKE_FIXNUM(ATOTLIM);
}

View file

@ -463,7 +463,7 @@ digit_weight(int w, int r)
void
init_character(void)
{
make_constant("CHAR-CODE-LIMIT", MAKE_FIXNUM(CHAR_CODE_LIMIT));
SYM_VAL(@'char-code-limit') = MAKE_FIXNUM(CHAR_CODE_LIMIT);
STreturn = make_simple_string("RETURN");
register_root(&STreturn);

View file

@ -384,9 +384,9 @@ check_other_key(cl_object l, int n, ...)
void
init_cmpaux(void)
{
make_constant("LAMBDA-LIST-KEYWORDS",
SYM_VAL(@'LAMBDA-LIST-KEYWORDS') =
list(8, @'&optional', @'&rest', @'&key', @'&allow-other-keys', @'&aux',
make_ordinary("&WHOLE"), make_ordinary("&ENVIRONMENT"), make_ordinary("&BODY")));
@'&whole', @'&environment', @'&body');
make_constant("LAMBDA-PARAMETERS-LIMIT", MAKE_FIXNUM(64));
SYM_VAL(@'LAMBDA-PARAMETERS-LIMIT') = MAKE_FIXNUM(64);
}

View file

@ -208,7 +208,7 @@ link_call(cl_object sym, cl_objectfn *pLK, int narg, va_list args)
void
init_eval(void)
{
make_constant("CALL-ARGUMENTS-LIMIT", MAKE_FIXNUM(64));
SYM_VAL(@'call-arguments-limit') = MAKE_FIXNUM(64);
three_nils.nil3_self[0] = Cnil;
three_nils.nil3_self[1] = Cnil;

View file

@ -163,8 +163,6 @@ cl_boot(int argc, char **argv)
void
init_main(void)
{
make_ordinary("LISP-IMPLEMENTATION-VERSION");
{ cl_object features;
features =
CONS(make_keyword("ECL"),
@ -221,6 +219,4 @@ init_main(void)
SYM_VAL(@'*features*') = features;
}
make_si_constant("+OBJNULL+", OBJNULL);
}

View file

@ -915,50 +915,50 @@ init_num_co(void)
cl_object num;
num = make_shortfloat(FLT_MAX);
make_constant("MOST-POSITIVE-SHORT-FLOAT", num);
make_constant("MOST-POSITIVE-SINGLE-FLOAT", num);
SYM_VAL(@'MOST-POSITIVE-SHORT-FLOAT') = num;
SYM_VAL(@'MOST-POSITIVE-SINGLE-FLOAT') = num;
num = make_shortfloat(FLT_MIN);
make_constant("LEAST-POSITIVE-SHORT-FLOAT", num);
make_constant("LEAST-POSITIVE-SINGLE-FLOAT", num);
SYM_VAL(@'LEAST-POSITIVE-SHORT-FLOAT') = num;
SYM_VAL(@'LEAST-POSITIVE-SINGLE-FLOAT') = num;
num = make_shortfloat(-FLT_MIN);
make_constant("LEAST-NEGATIVE-SHORT-FLOAT", num);
make_constant("LEAST-NEGATIVE-SINGLE-FLOAT", num);
SYM_VAL(@'LEAST-NEGATIVE-SHORT-FLOAT') = num;
SYM_VAL(@'LEAST-NEGATIVE-SINGLE-FLOAT') = num;
num = make_shortfloat(-FLT_MAX);
make_constant("MOST-NEGATIVE-SHORT-FLOAT", num);
make_constant("MOST-NEGATIVE-SINGLE-FLOAT", num);
SYM_VAL(@'MOST-NEGATIVE-SHORT-FLOAT') = num;
SYM_VAL(@'MOST-NEGATIVE-SINGLE-FLOAT') = num;
num = make_longfloat(DBL_MAX);
make_constant("MOST-POSITIVE-DOUBLE-FLOAT", num);
make_constant("MOST-POSITIVE-LONG-FLOAT", num);
SYM_VAL(@'MOST-POSITIVE-DOUBLE-FLOAT') = num;
SYM_VAL(@'MOST-POSITIVE-LONG-FLOAT') = num;
num = make_longfloat(DBL_MIN);
make_constant("LEAST-POSITIVE-DOUBLE-FLOAT", num);
make_constant("LEAST-POSITIVE-LONG-FLOAT", num);
SYM_VAL(@'LEAST-POSITIVE-DOUBLE-FLOAT') = num;
SYM_VAL(@'LEAST-POSITIVE-LONG-FLOAT') = num;
num = make_longfloat(-DBL_MIN);
make_constant("LEAST-NEGATIVE-DOUBLE-FLOAT", num);
make_constant("LEAST-NEGATIVE-LONG-FLOAT", num);
SYM_VAL(@'LEAST-NEGATIVE-DOUBLE-FLOAT') = num;
SYM_VAL(@'LEAST-NEGATIVE-LONG-FLOAT') = num;
num = make_longfloat(-DBL_MAX);
make_constant("MOST-NEGATIVE-DOUBLE-FLOAT", num);
make_constant("MOST-NEGATIVE-LONG-FLOAT", num);
SYM_VAL(@'MOST-NEGATIVE-DOUBLE-FLOAT') = num;
SYM_VAL(@'MOST-NEGATIVE-LONG-FLOAT') = num;
num = make_shortfloat(FLT_EPSILON);
make_constant("SHORT-FLOAT-EPSILON", num);
make_constant("SINGLE-FLOAT-EPSILON", num);
SYM_VAL(@'SHORT-FLOAT-EPSILON') = num;
SYM_VAL(@'SINGLE-FLOAT-EPSILON') = num;
num = make_longfloat(DBL_EPSILON);
make_constant("DOUBLE-FLOAT-EPSILON", num);
make_constant("LONG-FLOAT-EPSILON", num);
SYM_VAL(@'DOUBLE-FLOAT-EPSILON') = num;
SYM_VAL(@'LONG-FLOAT-EPSILON') = num;
num = make_shortfloat(-FLT_EPSILON);
make_constant("SHORT-FLOAT-NEGATIVE-EPSILON", num);
make_constant("SINGLE-FLOAT-NEGATIVE-EPSILON", num);
SYM_VAL(@'SHORT-FLOAT-NEGATIVE-EPSILON') = num;
SYM_VAL(@'SINGLE-FLOAT-NEGATIVE-EPSILON') = num;
num = make_longfloat(-DBL_EPSILON);
make_constant("DOUBLE-FLOAT-NEGATIVE-EPSILON", num);
make_constant("LONG-FLOAT-NEGATIVE-EPSILON", num);
SYM_VAL(@'DOUBLE-FLOAT-NEGATIVE-EPSILON') = num;
SYM_VAL(@'LONG-FLOAT-NEGATIVE-EPSILON') = num;
plus_half = make_ratio(MAKE_FIXNUM(1), MAKE_FIXNUM(2));
register_root(&plus_half);

View file

@ -499,22 +499,22 @@ int_bit_length(int i)
void
init_num_log(void)
{
make_constant("BOOLE-CLR", MAKE_FIXNUM(BOOLCLR));
make_constant("BOOLE-SET", MAKE_FIXNUM(BOOLSET));
make_constant("BOOLE-1", MAKE_FIXNUM(BOOL1));
make_constant("BOOLE-2", MAKE_FIXNUM(BOOL2));
make_constant("BOOLE-C1", MAKE_FIXNUM(BOOLC1));
make_constant("BOOLE-C2", MAKE_FIXNUM(BOOLC2));
make_constant("BOOLE-AND", MAKE_FIXNUM(BOOLAND));
make_constant("BOOLE-IOR", MAKE_FIXNUM(BOOLIOR));
make_constant("BOOLE-XOR", MAKE_FIXNUM(BOOLXOR));
make_constant("BOOLE-EQV", MAKE_FIXNUM(BOOLEQV));
make_constant("BOOLE-NAND", MAKE_FIXNUM(BOOLNAND));
make_constant("BOOLE-NOR", MAKE_FIXNUM(BOOLNOR));
make_constant("BOOLE-ANDC1", MAKE_FIXNUM(BOOLANDC1));
make_constant("BOOLE-ANDC2", MAKE_FIXNUM(BOOLANDC2));
make_constant("BOOLE-ORC1", MAKE_FIXNUM(BOOLORC1));
make_constant("BOOLE-ORC2", MAKE_FIXNUM(BOOLORC2));
SYM_VAL(@'BOOLE-CLR') = MAKE_FIXNUM(BOOLCLR);
SYM_VAL(@'BOOLE-SET') = MAKE_FIXNUM(BOOLSET);
SYM_VAL(@'BOOLE-1') = MAKE_FIXNUM(BOOL1);
SYM_VAL(@'BOOLE-2') = MAKE_FIXNUM(BOOL2);
SYM_VAL(@'BOOLE-C1') = MAKE_FIXNUM(BOOLC1);
SYM_VAL(@'BOOLE-C2') = MAKE_FIXNUM(BOOLC2);
SYM_VAL(@'BOOLE-AND') = MAKE_FIXNUM(BOOLAND);
SYM_VAL(@'BOOLE-IOR') = MAKE_FIXNUM(BOOLIOR);
SYM_VAL(@'BOOLE-XOR') = MAKE_FIXNUM(BOOLXOR);
SYM_VAL(@'BOOLE-EQV') = MAKE_FIXNUM(BOOLEQV);
SYM_VAL(@'BOOLE-NAND') = MAKE_FIXNUM(BOOLNAND);
SYM_VAL(@'BOOLE-NOR') = MAKE_FIXNUM(BOOLNOR);
SYM_VAL(@'BOOLE-ANDC1') = MAKE_FIXNUM(BOOLANDC1);
SYM_VAL(@'BOOLE-ANDC2') = MAKE_FIXNUM(BOOLANDC2);
SYM_VAL(@'BOOLE-ORC1') = MAKE_FIXNUM(BOOLORC1);
SYM_VAL(@'BOOLE-ORC2') = MAKE_FIXNUM(BOOLORC2);
}
@(defun si::bit_array_op (o x y r)

View file

@ -526,5 +526,5 @@ init_num_sfun(void)
imag_two = make_complex(make_shortfloat(0.0), make_shortfloat(2.0));
register_root(&imag_two);
make_constant("PI", make_longfloat(M_PI));
SYM_VAL(@'pi') = make_longfloat(M_PI);
}

View file

@ -229,8 +229,8 @@ init_number(void)
register_root(&shortfloat_zero);
register_root(&longfloat_zero);
make_constant("MOST-POSITIVE-FIXNUM", MAKE_FIXNUM(MOST_POSITIVE_FIXNUM));
make_constant("MOST-NEGATIVE-FIXNUM", MAKE_FIXNUM(MOST_NEGATIVE_FIXNUM));
SYM_VAL(@'most-positive-fixnum') = MAKE_FIXNUM(MOST_POSITIVE_FIXNUM);
SYM_VAL(@'most-negative-fixnum') = MAKE_FIXNUM(MOST_NEGATIVE_FIXNUM);
init_big();
init_num_co();

View file

@ -1,9 +1,3 @@
#define CL_ORDINARY 1
#define CL_SPECIAL 2
#define SI_SPECIAL 3
#define SI_ORDINARY 4
#define KEYWORD 5
#ifdef DPP
#define SW(a,b,c) a
#else
@ -92,7 +86,9 @@ SW("ARRAY-ELEMENT-TYPE", CL_ORDINARY, NULL),
SW("ARRAY-HAS-FILL-POINTER-P", CL_ORDINARY, NULL),
SW("ARRAY-IN-BOUNDS-P", CL_ORDINARY, NULL),
SW("ARRAY-RANK", CL_ORDINARY, NULL),
SW("ARRAY-RANK-LIMIT", CL_CONSTANT, NULL),
SW("ARRAY-ROW-MAJOR-INDEX", CL_ORDINARY, NULL),
SW("ARRAY-TOTAL-SIZE-LIMIT", CL_CONSTANT, NULL),
SW("ASIN", CL_ORDINARY, NULL),
SW("ASINH", CL_ORDINARY, NULL),
SW("ASSERT", CL_ORDINARY, NULL),
@ -116,16 +112,34 @@ SW("BIT-VECTOR", CL_ORDINARY, &clSbit_vector),
SW("BIT-XOR", CL_ORDINARY, NULL),
SW("BLOCK", CL_ORDINARY, &clSblock),
SW("BOOLEAN", CL_ORDINARY, NULL),
SW("BOOLE-CLR", CL_CONSTANT, NULL),
SW("BOOLE-SET", CL_CONSTANT, NULL),
SW("BOOLE-1", CL_CONSTANT, NULL),
SW("BOOLE-2", CL_CONSTANT, NULL),
SW("BOOLE-C1", CL_CONSTANT, NULL),
SW("BOOLE-C2", CL_CONSTANT, NULL),
SW("BOOLE-AND", CL_CONSTANT, NULL),
SW("BOOLE-IOR", CL_CONSTANT, NULL),
SW("BOOLE-XOR", CL_CONSTANT, NULL),
SW("BOOLE-EQV", CL_CONSTANT, NULL),
SW("BOOLE-NAND", CL_CONSTANT, NULL),
SW("BOOLE-NOR", CL_CONSTANT, NULL),
SW("BOOLE-ANDC1", CL_CONSTANT, NULL),
SW("BOOLE-ANDC2", CL_CONSTANT, NULL),
SW("BOOLE-ORC1", CL_CONSTANT, NULL),
SW("BOOLE-ORC2", CL_CONSTANT, NULL),
SW("BREAK", CL_ORDINARY, NULL),
SW("BROADCAST-STREAM", CL_ORDINARY, &clSbroadcast_stream),
SW("BYTE", CL_ORDINARY, NULL),
SW("BYTE8", CL_ORDINARY, &clSbyte8),
SW("BYTE-POSITION", CL_ORDINARY, NULL),
SW("BYTE-SIZE", CL_ORDINARY, NULL),
SW("CALL-ARGUMENTS-LIMIT", CL_CONSTANT, NULL),
SW("CCASE", CL_ORDINARY, NULL),
SW("CERROR", CL_ORDINARY, NULL),
SW("CELL-ERROR", CL_ORDINARY, &clScell_error),
SW("CHAR", CL_ORDINARY, NULL),
SW("CHAR-CODE-LIMIT", CL_CONSTANT, NULL),
SW("CHARACTER", CL_ORDINARY, &clScharacter),
SW("CHECK-TYPE", CL_ORDINARY, NULL),
SW("CIS", CL_ORDINARY, NULL),
@ -186,6 +200,8 @@ SW("DO-SYMBOLS", CL_ORDINARY, NULL),
SW("DOCUMENTATION", CL_ORDINARY, NULL),
SW("DOLIST", CL_ORDINARY, NULL),
SW("DOUBLE-FLOAT", CL_ORDINARY, &clSdouble_float),
SW("DOUBLE-FLOAT-EPSILON", CL_CONSTANT, NULL),
SW("DOUBLE-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL),
SW("DPB", CL_ORDINARY, NULL),
SW("DRIBBLE", CL_ORDINARY, NULL),
SW("ECASE", CL_ORDINARY, NULL),
@ -241,14 +257,26 @@ SW("INSPECT", CL_ORDINARY, NULL),
SW("INSTANCE", CL_ORDINARY, &clSinstance),
SW("INTEGER", CL_ORDINARY, &clSinteger),
SW("INTEGER8", CL_ORDINARY, &clSinteger8),
SW("INTERNAL-TIME-UNITS-PER-SECOND", CL_CONSTANT, NULL),
SW("INTERSECTION", CL_ORDINARY, NULL),
SW("ISQRT", CL_ORDINARY, NULL),
SW("KEYWORD", CL_ORDINARY, &clSkeyword),
SW("LAMBDA", CL_ORDINARY, &clSlambda),
SW("LAMBDA-BLOCK", CL_ORDINARY, &clSlambda_block),
SW("LAMBDA-LIST-KEYWORDS", CL_CONSTANT, NULL),
SW("LAMBDA-PARAMETERS-LIMIT", CL_CONSTANT, NULL),
SW("LDB", CL_ORDINARY, NULL),
SW("LDB-TEST", CL_ORDINARY, NULL),
SW("LEAST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL),
SW("LEAST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL),
SW("LISP-IMPLEMENTATION-TYPE", CL_ORDINARY, NULL),
SW("LISP-IMPLEMENTATION-VERSION", CL_ORDINARY, NULL),
SW("LIST", CL_ORDINARY, &clSlist),
SW("LIST*", CL_ORDINARY, &clSlistX),
SW("LOAD", CL_ORDINARY, &clSload),
@ -266,6 +294,8 @@ SW("LOGORC2", CL_ORDINARY, NULL),
SW("LOGTEST", CL_ORDINARY, NULL),
SW("LONG-SITE-NAME", CL_ORDINARY, NULL),
SW("LONG-FLOAT", CL_ORDINARY, &clSlong_float),
SW("LONG-FLOAT-EPSILON", CL_CONSTANT, NULL),
SW("LONG-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL),
SW("LOOP", CL_ORDINARY, NULL),
SW("LOOP-FINISH", CL_ORDINARY, NULL),
SW("MACHINE-INSTANCE", CL_ORDINARY, NULL),
@ -281,6 +311,16 @@ SW("MERGE", CL_ORDINARY, NULL),
SW("MEMBER", CL_ORDINARY, &clSmember),
SW("MISMATCH", CL_ORDINARY, NULL),
SW("MOD", CL_ORDINARY, &clSmod),
SW("MOST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL),
SW("MOST-NEGATIVE-FIXNUM", CL_CONSTANT, NULL),
SW("MOST-NEGATIVE-LONG-FLOAT", CL_CONSTANT, NULL),
SW("MOST-NEGATIVE-SHORT-FLOAT", CL_CONSTANT, NULL),
SW("MOST-NEGATIVE-SINGLE-FLOAT", CL_CONSTANT, NULL),
SW("MOST-POSITIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL),
SW("MOST-POSITIVE-FIXNUM", CL_CONSTANT, NULL),
SW("MOST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL),
SW("MOST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL),
SW("MOST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL),
SW("MULTIPLE-VALUE-SETQ", CL_ORDINARY, NULL),
SW("NINTERSECTION", CL_ORDINARY, NULL),
SW("NINTH", CL_ORDINARY, NULL),
@ -306,6 +346,7 @@ SW("PACKAGE-ERROR", CL_ORDINARY, &clSpackage_error),
SW("PARSE-ERROR", CL_ORDINARY, &clSparse_error),
SW("PATHNAME", CL_ORDINARY, &clSpathname),
SW("PHASE", CL_ORDINARY, NULL),
SW("PI", CL_ORDINARY, NULL),
SW("PLUSP", CL_ORDINARY, &clSplusp),
SW("POP", CL_ORDINARY, NULL),
SW("POSITION", CL_ORDINARY, NULL),
@ -358,7 +399,12 @@ SW("SETF", CL_ORDINARY, &clSsetf),
SW("SEVENTH", CL_ORDINARY, NULL),
SW("SHIFTF", CL_ORDINARY, NULL),
SW("SHORT-FLOAT", CL_ORDINARY, &clSshort_float),
SW("SHORT-FLOAT-EPSILON", CL_CONSTANT, NULL),
SW("SHORT-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL),
SW("SHORT-SITE-NAME", CL_ORDINARY, NULL),
SW("SINGLE-FLOAT", CL_ORDINARY, NULL),
SW("SINGLE-FLOAT-EPSILON", CL_CONSTANT, NULL),
SW("SINGLE-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL),
SW("SIGNED-BYTE", CL_ORDINARY, &clSsigned_byte),
SW("SIGNED-CHAR", CL_ORDINARY, &clSsigned_char),
SW("SIGNED-SHORT", CL_ORDINARY, &clSsigned_short),

View file

@ -156,7 +156,7 @@ init_unixtime(void)
{
beginning = time(0);
make_constant("INTERNAL-TIME-UNITS-PER-SECOND", MAKE_FIXNUM(HZ));
SYM_VAL(@'internal-time-units-per-second') = MAKE_FIXNUM(HZ);
Jan1st1970UT =
number_times(MAKE_FIXNUM(24 * 60 * 60),