mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-10 11:12:58 -08:00
Add more symbols to src/c/symbols_list.h, and resolve associated conflicts.
This commit is contained in:
parent
757572ca7f
commit
f20736084b
19 changed files with 99 additions and 56 deletions
|
|
@ -385,7 +385,7 @@ c_register_symbol_macro(cl_object name, cl_object exp_fun)
|
|||
static void
|
||||
c_register_macro(cl_object name, cl_object exp_fun)
|
||||
{
|
||||
c_env.macros = CONS(cl_list(3, name, @'macro', exp_fun), c_env.macros);
|
||||
c_env.macros = CONS(cl_list(3, name, @'si::macro', exp_fun), c_env.macros);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
11
src/c/file.d
11
src/c/file.d
|
|
@ -1317,6 +1317,17 @@ cl_make_synonym_stream(cl_object sym)
|
|||
@(return x)
|
||||
@)
|
||||
|
||||
/* FIXME! BROADCAST-STREAM-STREAMS is missing! */
|
||||
/* FIXME! CONCATENATED-STREAM-STREAMS is missing! */
|
||||
/* FIXME! ECHO-STREAM-INPUT-STREAM is missing! */
|
||||
/* FIXME! ECHO-STREAM-OUTPUT-STREAM is missing! */
|
||||
/* FIXME! TWO-WAY-STREAM-INPUT-STREAM is missing! */
|
||||
/* FIXME! TWO-WAY-STREAM-OUTPUT-STREAM is missing! */
|
||||
/* FIXME! FILE-STRING-LENGTH is missing! */
|
||||
/* FIXME! INTERACTIVE-STREAM-P is missing! */
|
||||
/* FIXME! STREAM-EXTERNAL-FORMAT is missing! */
|
||||
/* FIXME! SYNONYM-STREAM-SYMBOL is missing! */
|
||||
|
||||
cl_object
|
||||
cl_make_two_way_stream(cl_object strm1, cl_object strm2)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ compute_method(int narg, cl_object fun, cl_object *args)
|
|||
i = narg;
|
||||
while (i-- > 0)
|
||||
arglist = CONS(args[i], arglist);
|
||||
methods = funcall(3, @'si::compute-applicable-methods', gf, arglist);
|
||||
methods = funcall(3, @'compute-applicable-methods', gf, arglist);
|
||||
meth_comb = funcall(2, @'si::generic-function-method-combination', gf);
|
||||
meth_args = funcall(2, @'si::generic-function-method-combination-args', gf);
|
||||
func = funcall(5, @'si::compute-effective-method', gf, methods,
|
||||
|
|
|
|||
|
|
@ -516,6 +516,9 @@ cl_clrhash(cl_object ht)
|
|||
@(return ht)
|
||||
}
|
||||
|
||||
/* FIXME! HASH-TABLE-SIZE is missing! */
|
||||
/* FIXME! HASH-TABLE-TEST is missing! */
|
||||
|
||||
cl_object
|
||||
cl_hash_table_count(cl_object ht)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
#include "ecl.h"
|
||||
|
||||
cl_object
|
||||
cl_allocate_instance(cl_object clas, int size)
|
||||
ecl_allocate_instance(cl_object clas, int size)
|
||||
{
|
||||
cl_object x = cl_alloc_instance(size);
|
||||
int i;
|
||||
|
|
@ -27,12 +27,12 @@ cl_allocate_instance(cl_object clas, int size)
|
|||
}
|
||||
|
||||
cl_object
|
||||
si_allocate_instance(cl_object clas, cl_object size)
|
||||
si_allocate_raw_instance(cl_object clas, cl_object size)
|
||||
{
|
||||
if (type_of(clas) != t_instance)
|
||||
FEwrong_type_argument(@'instance', clas);
|
||||
|
||||
@(return cl_allocate_instance(clas, fixnnint(size)))
|
||||
@(return ecl_allocate_instance(clas, fixnnint(size)))
|
||||
}
|
||||
|
||||
/* corr is a list of (newi . oldi) describing which of the new slots
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ cl_object
|
|||
search_macro(cl_object name, cl_object env)
|
||||
{
|
||||
cl_object record = assq(name, CDR(env));
|
||||
if (CONSP(record) && CADR(record) == @'macro')
|
||||
if (CONSP(record) && CADR(record) == @'si::macro')
|
||||
return CADDR(record);
|
||||
return Cnil;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -421,6 +421,8 @@ cl_logical_pathname(cl_object x)
|
|||
return x;
|
||||
}
|
||||
|
||||
/* FIXME! WILD-PATHNAME-P is missing! */
|
||||
|
||||
/*
|
||||
* coerce_to_physical_pathname(P) converts P to a physical pathname,
|
||||
* for a file which is accesible in our filesystem.
|
||||
|
|
|
|||
|
|
@ -1605,6 +1605,8 @@ si_write_bytes(cl_object stream, cl_object string, cl_object start, cl_object en
|
|||
@(return MAKE_FIXNUM(sofarwritten - is))
|
||||
}
|
||||
|
||||
/* FIXME! WRITE-SEQUENCE is missing! */
|
||||
|
||||
void
|
||||
init_print(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ static cl_object default_dispatch_macro;
|
|||
#define cat(rtbl,c) ((rtbl)->readtable.table[c].syntax_type)
|
||||
#define read_suppress (SYM_VAL(@'*read-suppress*') != Cnil)
|
||||
|
||||
/* FIXME! *READ-EVAL* is not taken into account */
|
||||
|
||||
static void extra_argument (int c, cl_object stream, cl_object d);
|
||||
|
||||
cl_object
|
||||
|
|
@ -1547,6 +1549,7 @@ si_read_bytes(cl_object stream, cl_object string, cl_object start, cl_object end
|
|||
@(return ((c < (ie - is))? Cnil : MAKE_FIXNUM(c)))
|
||||
}
|
||||
|
||||
/* FIXME! READ-SEQUENCE is missing! */
|
||||
|
||||
|
||||
@(defun copy_readtable (&o (from ecl_current_readtable()) to)
|
||||
|
|
@ -1573,6 +1576,8 @@ cl_readtablep(cl_object readtable)
|
|||
@(return ((type_of(readtable) == t_readtable)? Ct : Cnil))
|
||||
}
|
||||
|
||||
/* FIXME! READTABLE-CASE is missing! */
|
||||
|
||||
static struct readtable_entry*
|
||||
read_table_entry(cl_object rdtbl, cl_object c)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ cl_symbol_function(cl_object sym)
|
|||
else if (SYM_FUN(sym) == OBJNULL)
|
||||
FEundefined_function(sym);
|
||||
else if (sym->symbol.mflag)
|
||||
output = CONS(@'macro', SYM_FUN(sym));
|
||||
output = CONS(@'si::macro', SYM_FUN(sym));
|
||||
else
|
||||
output = SYM_FUN(sym);
|
||||
@(return output)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ cl_symbols[] = {
|
|||
{"//", CL_SPECIAL, NULL, -1},
|
||||
{"///", CL_SPECIAL, NULL, -1},
|
||||
{"/=", CL_ORDINARY, cl_NE, -1},
|
||||
{"*BREAK-ON-SIGNALS*", CL_SPECIAL, NULL, -1},
|
||||
{"*COMPILE-FILE-PATHNAME*", CL_SPECIAL, NULL, -1},
|
||||
{"*COMPILE-FILE-TRUENAME*", CL_SPECIAL, NULL, -1},
|
||||
{"*COMPILE-PRINT*", CL_SPECIAL, NULL, -1},
|
||||
|
|
@ -62,6 +63,7 @@ cl_symbols[] = {
|
|||
{"*RANDOM-STATE*", CL_SPECIAL, NULL, -1},
|
||||
{"*READ-BASE*", CL_SPECIAL, NULL, -1},
|
||||
{"*READ-DEFAULT-FLOAT-FORMAT*", CL_SPECIAL, NULL, -1},
|
||||
{"*READ-EVAL*", CL_SPECIAL, NULL, -1},
|
||||
{"*READ-SUPPRESS*", CL_SPECIAL, NULL, -1},
|
||||
{"*READTABLE*", CL_SPECIAL, NULL, -1},
|
||||
{"*STANDARD-INPUT*", CL_SPECIAL, NULL, -1},
|
||||
|
|
@ -92,6 +94,8 @@ cl_symbols[] = {
|
|||
{"APROPOS-LIST", CL_ORDINARY, NULL, -1},
|
||||
{"AREF", CL_ORDINARY, cl_aref, -1},
|
||||
{"ARITHMETIC-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"ARITHMETIC-ERROR-OPERANDS", CL_ORDINARY, NULL, -1},
|
||||
{"ARITHMETIC-ERROR-OPERATION", CL_ORDINARY, NULL, -1},
|
||||
{"ARRAY", CL_ORDINARY, NULL, -1},
|
||||
{"ARRAY-DIMENSION", CL_ORDINARY, cl_array_dimension, 2},
|
||||
{"ARRAY-DIMENSION-LIMIT", CL_CONSTANT, NULL, -1},
|
||||
|
|
@ -155,6 +159,7 @@ cl_symbols[] = {
|
|||
{"BOUNDP", CL_ORDINARY, cl_boundp, 1},
|
||||
{"BREAK", CL_ORDINARY, NULL, -1},
|
||||
{"BROADCAST-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"BROADCAST-STREAM-STREAMS", CL_ORDINARY, NULL, -1},
|
||||
{"BUTLAST", CL_ORDINARY, cl_butlast, -1},
|
||||
{"BYTE", CL_ORDINARY, NULL, -1},
|
||||
{"BYTE-POSITION", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -241,8 +246,10 @@ cl_symbols[] = {
|
|||
{"COMPLEMENT", CL_ORDINARY, NULL, -1},
|
||||
{"COMPLEX", CL_ORDINARY, cl_complex, -1},
|
||||
{"COMPLEXP", CL_ORDINARY, cl_complexp, 1},
|
||||
{"COMPUTE-RESTARTS", CL_ORDINARY, NULL, 1},
|
||||
{"CONCATENATE", CL_ORDINARY, NULL, -1},
|
||||
{"CONCATENATED-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"CONCATENATED-STREAM-STREAMS", CL_ORDINARY, NULL, -1},
|
||||
{"COND", FORM_ORDINARY, NULL, -1},
|
||||
{"CONDITION", CL_ORDINARY, NULL, -1},
|
||||
{"CONJUGATE", CL_ORDINARY, cl_conjugate, 1},
|
||||
|
|
@ -251,6 +258,7 @@ cl_symbols[] = {
|
|||
{"CONSP", CL_ORDINARY, cl_consp, 1},
|
||||
{"CONSTANTLY", CL_ORDINARY, NULL, -1},
|
||||
{"CONSTANTP", CL_ORDINARY, cl_constantp, -1},
|
||||
{"CONTROL-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"COPY-ALIST", CL_ORDINARY, cl_copy_alist, 1},
|
||||
{"COPY-LIST", CL_ORDINARY, cl_copy_list, 1},
|
||||
{"COPY-READTABLE", CL_ORDINARY, cl_copy_readtable, -1},
|
||||
|
|
@ -271,6 +279,7 @@ cl_symbols[] = {
|
|||
{"DECODE-FLOAT", CL_ORDINARY, cl_decode_float, 1},
|
||||
{"DECODE-UNIVERSAL-TIME", CL_ORDINARY, NULL, -1},
|
||||
{"DEFCONSTANT", CL_ORDINARY, NULL, -1},
|
||||
{"DEFINE-CONDITION", CL_ORDINARY, NULL, -1},
|
||||
{"DEFINE-COMPILER-MACRO", CL_ORDINARY, NULL, -1},
|
||||
{"DEFINE-MODIFY-MACRO", CL_ORDINARY, NULL, -1},
|
||||
{"DEFINE-SETF-EXPANDER", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -313,8 +322,11 @@ cl_symbols[] = {
|
|||
{"DOUBLE-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL, -1},
|
||||
{"DPB", CL_ORDINARY, NULL, -1},
|
||||
{"DRIBBLE", CL_ORDINARY, NULL, -1},
|
||||
{"DYNAMIC-EXTENT", CL_ORDINARY, NULL, -1},
|
||||
{"ECASE", CL_ORDINARY, NULL, -1},
|
||||
{"ECHO-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"ECHO-STREAM-INPUT-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"ECHO-STREAM-OUTPUT-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"ED", CL_ORDINARY, NULL, -1},
|
||||
{"EIGHTH", CL_ORDINARY, cl_eighth, 1},
|
||||
{"ELT", CL_ORDINARY, cl_elt, 2},
|
||||
|
|
@ -344,10 +356,12 @@ cl_symbols[] = {
|
|||
{"FIFTH", CL_ORDINARY, cl_fifth, 1},
|
||||
{"FILE-AUTHOR", CL_ORDINARY, cl_file_author, 1},
|
||||
{"FILE-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"FILE-ERROR-PATHNAME", CL_ORDINARY, NULL, -1},
|
||||
{"FILE-LENGTH", CL_ORDINARY, cl_file_length, 1},
|
||||
{"FILE-NAMESTRING", CL_ORDINARY, cl_file_namestring, 1},
|
||||
{"FILE-POSITION", CL_ORDINARY, cl_file_position, -1},
|
||||
{"FILE-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"FILE-STRING-LENGTH", CL_ORDINARY, NULL, -1},
|
||||
{"FILE-WRITE-DATE", CL_ORDINARY, cl_file_write_date, 1},
|
||||
{"FILL", CL_ORDINARY, NULL, -1},
|
||||
{"FILL-POINTER", CL_ORDINARY, cl_fill_pointer, 1},
|
||||
|
|
@ -356,6 +370,7 @@ cl_symbols[] = {
|
|||
{"FIND-IF", CL_ORDINARY, NULL, -1},
|
||||
{"FIND-IF-NOT", CL_ORDINARY, NULL, -1},
|
||||
{"FIND-PACKAGE", CL_ORDINARY, cl_find_package, 1},
|
||||
{"FIND-RESTART", CL_ORDINARY, NULL, -1},
|
||||
{"FIND-SYMBOL", CL_ORDINARY, cl_find_symbol, -1},
|
||||
{"FINISH-OUTPUT", CL_ORDINARY, cl_force_output, -1},
|
||||
{"FIRST", CL_ORDINARY, cl_car, 1},
|
||||
|
|
@ -383,6 +398,7 @@ cl_symbols[] = {
|
|||
{"FUNCALL", CL_ORDINARY, cl_funcall, -1},
|
||||
{"FUNCTION-LAMBDA-EXPRESSION", CL_ORDINARY, cl_function_lambda_expression, 1},
|
||||
{"FUNCTION", FORM_ORDINARY, NULL, -1},
|
||||
{"FUNCTION-KEYWORDS", CL_ORDINARY, NULL, -1},
|
||||
{"FUNCTIONP", CL_ORDINARY, cl_functionp, 1},
|
||||
{"GCD", CL_ORDINARY, cl_gcd, -1},
|
||||
{"GENSYM", CL_ORDINARY, cl_gensym, -1},
|
||||
|
|
@ -401,14 +417,20 @@ cl_symbols[] = {
|
|||
{"GETHASH", CL_ORDINARY, cl_gethash, -1},
|
||||
{"GO", FORM_ORDINARY, NULL, -1},
|
||||
{"GRAPHIC-CHAR-P", CL_ORDINARY, cl_graphic_char_p, 1},
|
||||
{"HANDLER-CASE", CL_ORDINARY, NULL, -1},
|
||||
{"HANDLER-BIND", CL_ORDINARY, NULL, -1},
|
||||
{"HASH-TABLE", CL_ORDINARY, NULL, -1},
|
||||
{"HASH-TABLE-COUNT", CL_ORDINARY, cl_hash_table_count, 1},
|
||||
{"HASH-TABLE-P", CL_ORDINARY, cl_hash_table_p, 1},
|
||||
{"HASH-TABLE-REHASH-SIZE", CL_ORDINARY, cl_hash_table_rehash_size, 1},
|
||||
{"HASH-TABLE-REHASH-THRESHOLD", CL_ORDINARY, cl_hash_table_rehash_threshold, 1},
|
||||
{"HASH-TABLE-SIZE", CL_ORDINARY, NULL, 1},
|
||||
{"HASH-TABLE-TEST", CL_ORDINARY, NULL, 1},
|
||||
{"HOST-NAMESTRING", CL_ORDINARY, cl_host_namestring, 1},
|
||||
{"IDENTITY", CL_ORDINARY, cl_identity, 1},
|
||||
{"IGNORABLE", CL_ORDINARY, NULL, -1},
|
||||
{"IGNORE", CL_ORDINARY, NULL, -1},
|
||||
{"IGNORE-ERRORS", CL_ORDINARY, NULL, -1},
|
||||
{"IMAGPART", CL_ORDINARY, cl_imagpart, 1},
|
||||
{"IMPORT", CL_ORDINARY, cl_import, -1},
|
||||
{"IN-PACKAGE", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -423,9 +445,13 @@ cl_symbols[] = {
|
|||
{"INTEGER-LENGTH", CL_ORDINARY, cl_integer_length, 1},
|
||||
{"INTEGER8", CL_ORDINARY, NULL, -1},
|
||||
{"INTEGERP", CL_ORDINARY, cl_integerp, 1},
|
||||
{"INTERACTIVE-STREAM-P", CL_ORDINARY, NULL, -1},
|
||||
{"INTERN", CL_ORDINARY, cl_intern, -1},
|
||||
{"INTERNAL-TIME-UNITS-PER-SECOND", CL_CONSTANT, NULL, -1},
|
||||
{"INTERSECTION", CL_ORDINARY, NULL, -1},
|
||||
{"INVOKE-DEBUGGER", CL_ORDINARY, NULL, -1},
|
||||
{"INVOKE-RESTART", CL_ORDINARY, NULL, -1},
|
||||
{"INVOKE-RESTART-INTERACTIVELY", CL_ORDINARY, NULL, -1},
|
||||
{"ISQRT", CL_ORDINARY, NULL, -1},
|
||||
{"KEYWORD", CL_ORDINARY, NULL, -1},
|
||||
{"KEYWORDP", CL_ORDINARY, cl_keywordp, 1},
|
||||
|
|
@ -496,13 +522,13 @@ cl_symbols[] = {
|
|||
{"MACHINE-INSTANCE", CL_ORDINARY, NULL, -1},
|
||||
{"MACHINE-TYPE", CL_ORDINARY, NULL, -1},
|
||||
{"MACHINE-VERSION", CL_ORDINARY, NULL, -1},
|
||||
{"MACRO", CL_ORDINARY, NULL, -1},
|
||||
{"MACRO-FUNCTION", CL_ORDINARY, cl_macro_function, -1},
|
||||
{"MACROEXPAND", CL_ORDINARY, cl_macroexpand, -1},
|
||||
{"MACROEXPAND-1", CL_ORDINARY, cl_macroexpand_1, -1},
|
||||
{"MACROLET", FORM_ORDINARY, NULL, -1},
|
||||
{"MAKE-ARRAY", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-BROADCAST-STREAM", CL_ORDINARY, cl_make_broadcast_stream, -1},
|
||||
{"MAKE-CONDITION", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-CONCATENATED-STREAM", CL_ORDINARY, cl_make_concatenated_stream, -1},
|
||||
{"MAKE-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_make_dispatch_macro_character, -1},
|
||||
{"MAKE-ECHO-STREAM", CL_ORDINARY, cl_make_echo_stream, 2},
|
||||
|
|
@ -549,6 +575,7 @@ cl_symbols[] = {
|
|||
{"MOST-POSITIVE-LONG-FLOAT", CL_CONSTANT, NULL, -1},
|
||||
{"MOST-POSITIVE-SHORT-FLOAT", CL_CONSTANT, NULL, -1},
|
||||
{"MOST-POSITIVE-SINGLE-FLOAT", CL_CONSTANT, NULL, -1},
|
||||
{"MUFFLE-WARNING", CL_ORDINARY, NULL, -1},
|
||||
{"MULTIPLE-VALUE-BIND", FORM_ORDINARY, NULL, -1},
|
||||
{"MULTIPLE-VALUE-CALL", FORM_ORDINARY, NULL, -1},
|
||||
{"MULTIPLE-VALUE-LIST", FORM_ORDINARY, NULL, -1},
|
||||
|
|
@ -556,7 +583,6 @@ cl_symbols[] = {
|
|||
{"MULTIPLE-VALUE-SETQ", FORM_ORDINARY, NULL, -1},
|
||||
{"MULTIPLE-VALUES-LIMIT", CL_CONSTANT, NULL, -1},
|
||||
{"NAME-CHAR", CL_ORDINARY, cl_name_char, 1},
|
||||
{"NAMED-LAMBDA", FORM_ORDINARY, NULL, -1},
|
||||
{"NAMESTRING", CL_ORDINARY, cl_namestring, 1},
|
||||
{"NBUTLAST", CL_ORDINARY, cl_nbutlast, -1},
|
||||
{"NCONC", CL_ORDINARY, cl_nconc, -1},
|
||||
|
|
@ -597,6 +623,7 @@ cl_symbols[] = {
|
|||
{"OUTPUT-STREAM-P", CL_ORDINARY, cl_output_stream_p, 1},
|
||||
{"PACKAGE", CL_ORDINARY, NULL, -1},
|
||||
{"PACKAGE-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"PACKAGE-ERROR-PACKAGE", CL_ORDINARY, NULL, -1},
|
||||
{"PACKAGE-NAME", CL_ORDINARY, cl_package_name, 1},
|
||||
{"PACKAGE-NICKNAMES", CL_ORDINARY, cl_package_nicknames, 1},
|
||||
{"PACKAGE-SHADOWING-SYMBOLS", CL_ORDINARY, cl_package_shadowing_symbols, 1},
|
||||
|
|
@ -666,8 +693,10 @@ cl_symbols[] = {
|
|||
{"READ-FROM-STRING", CL_ORDINARY, NULL, -1},
|
||||
{"READ-LINE", CL_ORDINARY, cl_read_line, -1},
|
||||
{"READ-PRESERVING-WHITESPACE", CL_ORDINARY, cl_read_preserving_whitespace, -1},
|
||||
{"READ-SEQUENCE", CL_ORDINARY, NULL, -1},
|
||||
{"READER-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"READTABLE", CL_ORDINARY, NULL, -1},
|
||||
{"READTABLE-CASE", CL_ORDINARY, NULL, -1},
|
||||
{"READTABLEP", CL_ORDINARY, cl_readtablep, 1},
|
||||
{"REAL", CL_ORDINARY, NULL, -1},
|
||||
{"REALP", CL_ORDINARY, cl_realp, 1},
|
||||
|
|
@ -686,6 +715,10 @@ cl_symbols[] = {
|
|||
{"REPLACE", CL_ORDINARY, NULL, -1},
|
||||
{"REQUIRE", CL_ORDINARY, NULL, -1},
|
||||
{"REST", CL_ORDINARY, cl_cdr, 1},
|
||||
{"RESTART", CL_ORDINARY, NULL, 1},
|
||||
{"RESTART-BIND", CL_ORDINARY, NULL, 1},
|
||||
{"RESTART-CASE", CL_ORDINARY, NULL, 1},
|
||||
{"RESTART-NAME", CL_ORDINARY, NULL, 1},
|
||||
{"RETURN", FORM_ORDINARY, NULL, -1},
|
||||
{"RETURN-FROM", FORM_ORDINARY, NULL, -1},
|
||||
{"REVAPPEND", CL_ORDINARY, cl_revappend, 2},
|
||||
|
|
@ -721,6 +754,7 @@ cl_symbols[] = {
|
|||
{"SHORT-FLOAT-EPSILON", CL_CONSTANT, NULL, -1},
|
||||
{"SHORT-FLOAT-NEGATIVE-EPSILON", CL_CONSTANT, NULL, -1},
|
||||
{"SHORT-SITE-NAME", CL_ORDINARY, NULL, -1},
|
||||
{"SIGNAL", CL_ORDINARY, NULL, -1},
|
||||
{"SIGNED-BYTE", CL_ORDINARY, NULL, -1},
|
||||
{"SIGNED-CHAR", CL_ORDINARY, NULL, -1},
|
||||
{"SIGNED-SHORT", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -752,7 +786,6 @@ cl_symbols[] = {
|
|||
{"SORT", CL_ORDINARY, NULL, -1},
|
||||
{"SPACE", CL_ORDINARY, NULL, -1},
|
||||
{"SPECIAL", CL_ORDINARY, NULL, -1},
|
||||
{"SPECIAL-FORM-P", CL_ORDINARY, cl_special_operator_p, 1},
|
||||
{"SPECIAL-OPERATOR-P", CL_ORDINARY, cl_special_operator_p, 1},
|
||||
{"SPEED", CL_ORDINARY, NULL, -1},
|
||||
{"SQRT", CL_ORDINARY, cl_sqrt, 1},
|
||||
|
|
@ -761,9 +794,12 @@ cl_symbols[] = {
|
|||
{"STANDARD-CHAR-P", CL_ORDINARY, cl_standard_char_p, 1},
|
||||
{"STEP", CL_ORDINARY, NULL, -1},
|
||||
{"STORAGE-CONDITION", CL_ORDINARY, NULL, -1},
|
||||
{"STORE-VALUE", CL_ORDINARY, NULL, -1},
|
||||
{"STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"STREAM-ELEMENT-TYPE", CL_ORDINARY, cl_stream_element_type, 1},
|
||||
{"STREAM-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"STREAM-ERROR-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"STREAM-EXTERNAL-FORMAT", CL_ORDINARY, NULL, -1},
|
||||
{"STREAMP", CL_ORDINARY, cl_streamp, 1},
|
||||
{"STRING", CL_ORDINARY, cl_string, 1},
|
||||
{"STRING-CAPITALIZE", CL_ORDINARY, cl_string_capitalize, -1},
|
||||
|
|
@ -809,7 +845,7 @@ cl_symbols[] = {
|
|||
{"SYMBOL-VALUE", CL_ORDINARY, cl_symbol_value, 1},
|
||||
{"SYMBOLP", CL_ORDINARY, cl_symbolp, 1},
|
||||
{"SYNONYM-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"TAG", CL_ORDINARY, NULL, -1},
|
||||
{"SYNONYM-STREAM-SYMBOL", CL_ORDINARY, NULL, -1},
|
||||
{"TAGBODY", FORM_ORDINARY, NULL, -1},
|
||||
{"TAILP", CL_ORDINARY, cl_tailp, 2},
|
||||
{"TAN", CL_ORDINARY, cl_tan, 1},
|
||||
|
|
@ -827,6 +863,8 @@ cl_symbols[] = {
|
|||
{"TRUENAME", CL_ORDINARY, cl_truename, 1},
|
||||
{"TRUNCATE", CL_ORDINARY, cl_truncate, -1},
|
||||
{"TWO-WAY-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"TWO-WAY-STREAM-INPUT-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"TWO-WAY-STREAM-OUTPUT-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"TYPE", CL_ORDINARY, NULL, -1},
|
||||
{"TYPE-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"TYPE-OF", CL_ORDINARY, cl_type_of, 1},
|
||||
|
|
@ -848,8 +886,10 @@ cl_symbols[] = {
|
|||
{"UNUSE-PACKAGE", CL_ORDINARY, cl_unuse_package, -1},
|
||||
{"UNWIND-PROTECT", FORM_ORDINARY, NULL, -1},
|
||||
{"UPGRADED-ARRAY-ELEMENT-TYPE", CL_ORDINARY, NULL, -1},
|
||||
{"UPGRADED-COMPLEX-PART-TYPE", CL_ORDINARY, NULL, -1},
|
||||
{"UPPER-CASE-P", CL_ORDINARY, cl_upper_case_p, 1},
|
||||
{"USE-PACKAGE", CL_ORDINARY, cl_use_package, -1},
|
||||
{"USE-VALUE", CL_ORDINARY, NULL, -1},
|
||||
{"USER-HOMEDIR-PATHNAME", CL_ORDINARY, cl_user_homedir_pathname, -1},
|
||||
{"VALUES", CL_ORDINARY, cl_values, -1},
|
||||
{"VALUES-LIST", CL_ORDINARY, cl_values_list, 1},
|
||||
|
|
@ -862,18 +902,22 @@ cl_symbols[] = {
|
|||
{"WARN", CL_ORDINARY, NULL, -1},
|
||||
{"WARNING", CL_ORDINARY, NULL, -1},
|
||||
{"WHEN", FORM_ORDINARY, NULL, -1},
|
||||
{"WILD-PATHNAME-P", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-COMPILATION-UNIT", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-CONDITION-RESTARTS", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-HASH-TABLE-ITERATOR", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-INPUT-FROM-STRING", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-OPEN-FILE", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-OPEN-STREAM", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-OUTPUT-TO-STRING", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-PACKAGE-ITERATOR", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-SIMPLE-RESTART", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-STANDARD-IO-SYNTAX", CL_ORDINARY, NULL, -1},
|
||||
{"WRITE", CL_ORDINARY, cl_write, -1},
|
||||
{"WRITE-BYTE", CL_ORDINARY, cl_write_byte, 2},
|
||||
{"WRITE-CHAR", CL_ORDINARY, cl_write_char, -1},
|
||||
{"WRITE-LINE", CL_ORDINARY, cl_write_line, -1},
|
||||
{"WRITE-SEQUENCE", CL_ORDINARY, NULL, -1},
|
||||
{"WRITE-STRING", CL_ORDINARY, cl_write_string, -1},
|
||||
{"WRITE-TO-STRING", CL_ORDINARY, NULL, -1},
|
||||
{"Y-OR-N-P", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -881,14 +925,16 @@ cl_symbols[] = {
|
|||
{"ZEROP", CL_ORDINARY, cl_zerop, 1},
|
||||
|
||||
#ifdef CLOS
|
||||
{"ALLOCATE-INSTANCE", CL_ORDINARY, NULL, 2},
|
||||
{"ADD-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"BUILT-IN-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"CALL-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"CALL-NEXT-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"CHANGE-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"CLASS-CHANGED", CL_ORDINARY, NULL, -1},
|
||||
{"CLASS-NAME", CL_ORDINARY, NULL, -1},
|
||||
{"CLASS-OF", CL_ORDINARY, NULL, -1},
|
||||
{"COMPUTE-APPLICABLE-METHODS", CL_ORDINARY, NULL, -1},
|
||||
{"DEFCLASS", CL_ORDINARY, NULL, -1},
|
||||
{"DEFGENERIC", CL_ORDINARY, NULL, -1},
|
||||
{"DEFINE-METHOD-COMBINATION", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -897,21 +943,20 @@ cl_symbols[] = {
|
|||
{"ENSURE-GENERIC-FUNCTION", CL_ORDINARY, NULL, -1},
|
||||
{"FIND-CLASS", CL_ORDINARY, cl_find_class, -1},
|
||||
{"FIND-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"GENERIC-FLET", CL_ORDINARY, NULL, -1},
|
||||
{"GENERIC-FUNCTION", CL_ORDINARY, NULL, -1},
|
||||
{"GENERIC-LABELS", CL_ORDINARY, NULL, -1},
|
||||
{"GET-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"IF", FORM_ORDINARY, NULL, -1},
|
||||
{"INITIALIZE-INSTANCE", CL_ORDINARY, NULL, -1},
|
||||
{"INVALID-METHOD-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-INSTANCE", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-INSTANCES-OBSOLETE", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-METHOD-CALL", CL_ORDINARY, NULL, -1},
|
||||
{"MAKE-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"METHOD-COMBINATION-ERROR", CL_ORDINARY, NULL, -1},
|
||||
{"METHOD-QUALIFIERS", CL_ORDINARY, NULL, -1},
|
||||
{"NEXT-METHOD-P", CL_ORDINARY, NULL, -1},
|
||||
{"NO-APPLICABLE-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"NO-NEXT-METHOD", CL_ORDINARY, NULL, -1},
|
||||
{"PRINT-OBJECT", CL_ORDINARY, NULL, -1},
|
||||
{"PRINT-UNREADABLE-OBJECT", CL_ORDINARY, NULL, -1},
|
||||
{"REINITIALIZE-INSTANCE", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -923,6 +968,7 @@ cl_symbols[] = {
|
|||
{"SLOT-MISSING", CL_ORDINARY, NULL, -1},
|
||||
{"SLOT-UNBOUND", CL_ORDINARY, NULL, -1},
|
||||
{"SLOT-VALUE", CL_ORDINARY, NULL, -1},
|
||||
{"STANDARD", CL_ORDINARY, NULL, -1},
|
||||
{"STANDARD-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"STANDARD-GENERIC-FUNCTION", CL_ORDINARY, NULL, -1},
|
||||
{"STANDARD-METHOD", CL_ORDINARY, NULL, -1},
|
||||
|
|
@ -930,10 +976,9 @@ cl_symbols[] = {
|
|||
{"STRUCTURE-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"STRUCTURE-OBJECT", CL_ORDINARY, NULL, -1},
|
||||
{"SUBCLASSP", CL_ORDINARY, NULL, -1},
|
||||
{"UPDATE-INSTANCE-FOR-DIFFERENT-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"UPDATE-INSTANCE-FOR-REDEFINED-CLASS", CL_ORDINARY, NULL, -1},
|
||||
{"UPDATE-INSTANCE-STRUCTURE", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-ACCESSORS", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-ADDED-METHODS", CL_ORDINARY, NULL, -1},
|
||||
{"WITH-SLOTS", CL_ORDINARY, NULL, -1},
|
||||
#endif
|
||||
|
||||
|
|
@ -960,6 +1005,7 @@ cl_symbols[] = {
|
|||
{"SI::,", SI_ORDINARY, NULL, -1},
|
||||
{"SI::,.", SI_ORDINARY, NULL, -1},
|
||||
{"SI::,@", SI_ORDINARY, NULL, -1},
|
||||
{"SI::ALLOCATE-RAW-INSTANCE", SI_ORDINARY, si_allocate_raw_instance, 2},
|
||||
{"SI::ARGC", SI_ORDINARY, si_argc, 0},
|
||||
{"SI::ARGV", SI_ORDINARY, si_argv, 1},
|
||||
{"SI::ASET", SI_ORDINARY, si_aset, -1},
|
||||
|
|
@ -977,7 +1023,6 @@ cl_symbols[] = {
|
|||
{"SI::COERCE-TO-PACKAGE", SI_ORDINARY, si_coerce_to_package, 1},
|
||||
{"SI::COMPILED-FUNCTION-BLOCK", SI_ORDINARY, si_compiled_function_block, 1},
|
||||
{"SI::COMPILED-FUNCTION-NAME", SI_ORDINARY, si_compiled_function_name, 1},
|
||||
{"SI::COMPUTE-APPLICABLE-METHODS", SI_ORDINARY, NULL, -1},
|
||||
{"SI::COMPUTE-EFFECTIVE-METHOD", SI_ORDINARY, NULL, -1},
|
||||
{"SI::COPY-STREAM", SI_ORDINARY, si_copy_stream, 1},
|
||||
{"SI::COPY-STRUCTURE", SI_ORDINARY, si_copy_structure, 1},
|
||||
|
|
@ -1016,6 +1061,7 @@ cl_symbols[] = {
|
|||
{"SI::LIST-NTH", SI_ORDINARY, si_list_nth, 2},
|
||||
{"SI::LOAD-SOURCE", SI_ORDINARY, si_load_source, 3},
|
||||
{"SI::LOGICAL-PATHNAME-P", SI_ORDINARY, si_logical_pathname_p, 1},
|
||||
{"SI::MACRO", SI_ORDINARY, NULL, -1},
|
||||
{"SI::MAKE-LAMBDA", SI_ORDINARY, si_make_lambda, 2},
|
||||
{"SI::MAKE-PURE-ARRAY", SI_ORDINARY, si_make_pure_array, -1},
|
||||
{"SI::MAKE-STRING-OUTPUT-STREAM-FROM-STRING", SI_ORDINARY, si_make_string_output_stream_from_string, 1},
|
||||
|
|
@ -1089,7 +1135,6 @@ cl_symbols[] = {
|
|||
{"SI::STRUCTURE-INCLUDE", SI_ORDINARY, NULL, -1},
|
||||
#else
|
||||
{"SI::ALLOCATE-GFUN", SI_ORDINARY, si_allocate_gfun, 3},
|
||||
{"SI::ALLOCATE-INSTANCE", SI_ORDINARY, si_allocate_instance, 2},
|
||||
{"SI::CHANGE-INSTANCE", SI_ORDINARY, si_change_instance, 4},
|
||||
{"SI::GFUN-NAME", SI_ORDINARY, si_gfun_name, 1},
|
||||
{"SI::GFUN-NAME-SET", SI_ORDINARY, si_gfun_name_set, 2},
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@
|
|||
(si:instance-ref method 4)
|
||||
(error "~A is not a standard method" method)))
|
||||
|
||||
(defun si:compute-applicable-methods (gf args)
|
||||
(defun compute-applicable-methods (gf args)
|
||||
(let* ((methods (methods gf))
|
||||
applicable-list
|
||||
args-specializers)
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
(key (list (class-name (si:instance-class obj))))
|
||||
(method (si:method-ht-get key table)))
|
||||
(unless method
|
||||
(setq method (si:compute-applicable-methods
|
||||
(setq method (compute-applicable-methods
|
||||
(si:gfun-instance gfun)
|
||||
(list obj))))
|
||||
method))
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
;;; Object initializations
|
||||
|
||||
(defun allocate-instance (class)
|
||||
(si:allocate-instance class (length (class-slots class))))
|
||||
(si:allocate-raw-instance class (length (class-slots class))))
|
||||
|
||||
;;; ----------------------------------------------------------------------
|
||||
;;; Methods
|
||||
|
|
@ -142,7 +142,7 @@
|
|||
(si:gfunp (setq gfun (fdefinition name))))
|
||||
|
||||
;; create a fake standard-generic-function object:
|
||||
(let ((gf-object (si:allocate-instance (find-class 't) 8)))
|
||||
(let ((gf-object (si:allocate-raw-instance (find-class 't) 8)))
|
||||
(declare (type standard-object gf-object))
|
||||
;; create a new gfun
|
||||
(setq gfun (make-gfun name lambda-list))
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@
|
|||
;;; ----------------------------------------------------------------------
|
||||
;;; bootstrap
|
||||
|
||||
(defun si:compute-applicable-methods (gf args)
|
||||
(defun compute-applicable-methods (gf args)
|
||||
(let* ((gfun (generic-function-dispatcher gf))
|
||||
(name (si:gfun-name gfun))
|
||||
(setfp (and (listp name) (eq 'SETF (first name))))
|
||||
|
|
|
|||
|
|
@ -514,7 +514,7 @@
|
|||
(if (not (search-allow-other-keys initargs))
|
||||
(check-initargs class initargs)))
|
||||
(let ((instance
|
||||
(si:allocate-instance class (class-instance-slot-count class))))
|
||||
(si:allocate-raw-instance class (class-instance-slot-count class))))
|
||||
(apply #'initialize-instance instance initargs)
|
||||
instance))
|
||||
|
||||
|
|
|
|||
|
|
@ -849,7 +849,7 @@ type_of(#0)==t_bitvector"))
|
|||
(BOUNDP (symbol) T nil t
|
||||
:inline-unsafe ((t) boolean nil nil "(#0)->symbol.dbind!=OBJNULL"))
|
||||
(MACRO-FUNCTION (symbol) T)
|
||||
(SPECIAL-FORM-P (symbol) T nil t)
|
||||
(SPECIAL-OPERATOR-P (symbol) T nil t)
|
||||
|
||||
; file unixsave.c
|
||||
(SAVE (T) T)
|
||||
|
|
@ -1034,7 +1034,7 @@ type_of(#0)==t_bitvector"))
|
|||
(si::SETF-NAMEP nil T nil t)
|
||||
|
||||
; file instance.c
|
||||
(si::ALLOCATE-INSTANCE (t fixnum) T)
|
||||
(si::ALLOCATE-RAW-INSTANCE (t fixnum) T)
|
||||
(si::INSTANCE-REF (t fixnum) T nil nil
|
||||
:inline-always ((standard-object fixnum) t nil nil
|
||||
"(#0)->instance.slots[#1]"))
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
(si::set-documentation
|
||||
symbol 'function
|
||||
(format nil "~A in ~A package:~%~A: ~A~A~%"
|
||||
(cond ((special-form-p symbol) "Special Form")
|
||||
(cond ((special-operator-p symbol) "Special Form")
|
||||
((macro-function symbol) "Macro")
|
||||
((fboundp symbol) "Function")
|
||||
(t ""))
|
||||
|
|
@ -2853,7 +2853,7 @@ Returns nil if the OBJECT is not null.")
|
|||
ECL/CLOS specific.
|
||||
Removes the value associated with the INDEX-th slot of INSTANCE.")
|
||||
|
||||
(docfun special-form-p function (symbol) "
|
||||
(docfun special-operator-p function (symbol) "
|
||||
Returns T if SYMBOL names a special form; NIL otherwise.
|
||||
The special forms defined in Common Lisp are:
|
||||
block if progv
|
||||
|
|
|
|||
|
|
@ -470,7 +470,7 @@ extern bool remhash(cl_object key, cl_object hash);
|
|||
/* instance.c */
|
||||
|
||||
#ifdef CLOS
|
||||
extern cl_object si_allocate_instance(cl_object clas, cl_object size);
|
||||
extern cl_object si_allocate_raw_instance(cl_object clas, cl_object size);
|
||||
extern cl_object si_change_instance(cl_object x, cl_object clas, cl_object size, cl_object corr);
|
||||
extern cl_object si_instance_class(cl_object x);
|
||||
extern cl_object si_instance_class_set(cl_object x, cl_object y);
|
||||
|
|
@ -482,7 +482,7 @@ extern cl_object si_unbound();
|
|||
extern cl_object si_sl_boundp(cl_object x);
|
||||
extern cl_object si_sl_makunbound(cl_object x, cl_object index);
|
||||
|
||||
extern cl_object cl_allocate_instance(cl_object clas, int size);
|
||||
extern cl_object ecl_allocate_instance(cl_object clas, int size);
|
||||
extern cl_object instance_ref(cl_object x, int i);
|
||||
extern cl_object instance_set(cl_object x, int i, cl_object v);
|
||||
extern void init_instance(void);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
KYOTO
|
||||
KCL
|
||||
ECL
|
||||
ECL
|
||||
common-lisp
|
||||
common-lisp-user
|
||||
cl
|
||||
|
|
@ -93,27 +92,3 @@
|
|||
(set-dispatch-macro-character #\# #\- 'sharp---reader)
|
||||
(set-dispatch-macro-character #\# #\- 'sharp---reader
|
||||
(sys::standard-readtable))
|
||||
|
||||
;;; ----------------------------------------------------------------------
|
||||
|
||||
(in-package "CL")
|
||||
|
||||
;
|
||||
; Conditions system
|
||||
;
|
||||
(export '(*break-on-signals* *debugger-hook* signal
|
||||
handler-case handler-bind ignore-errors define-condition make-condition
|
||||
with-simple-restart restart-case restart-bind restart-name
|
||||
restart-name find-restart compute-restarts invoke-restart
|
||||
invoke-restart-interactively abort continue muffle-warning
|
||||
store-value use-value invoke-debugger restart condition
|
||||
warning serious-condition simple-condition simple-warning simple-error
|
||||
simple-condition-format-string simple-condition-format-arguments
|
||||
storage-condition stack-overflow storage-exhausted type-error
|
||||
type-error-datum type-error-expected-type simple-type-error
|
||||
program-error control-error stream-error stream-error-stream
|
||||
end-of-file file-error file-error-pathname cell-error
|
||||
unbound-variable undefined-function arithmetic-error
|
||||
arithmetic-error-operation arithmetic-error-operands
|
||||
package-error package-error-package
|
||||
division-by-zero floating-point-overflow floating-point-underflow))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue