mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-02 15:40:55 -08:00
Avoid recreating symbols when assigning value to constants.
This commit is contained in:
parent
8016d4822f
commit
7ce6a0d4c2
12 changed files with 137 additions and 88 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue