Lines Matching +defs:property +defs:list
118 /* create or change object property */
120 /* remove object property */
125 /* Increment reference count of atom property */
127 /* Decrement reference count of atom property */
197 {LispFunction, Lisp_Adjoin, "adjoin item list &key key test test-not"},
203 {LispFunction, Lisp_Assoc, "assoc item list &key test test-not key"},
204 {LispFunction, Lisp_AssocIf, "assoc-if predicate list &key key"},
205 {LispFunction, Lisp_AssocIfNot, "assoc-if-not predicate list &key key"},
210 {LispFunction, Lisp_Butlast, "butlast list &optional count"},
211 {LispFunction, Lisp_Nbutlast, "nbutlast list &optional count"},
212 {LispFunction, Lisp_Car, "car list", 0, 0, Com_C_r},
213 {LispFunction, Lisp_Car, "first list", 0, 0, Com_C_r},
216 {LispFunction, Lisp_Cdr, "cdr list", 0, 0, Com_C_r},
217 {LispFunction, Lisp_Cdr, "rest list", 0, 0, Com_C_r},
251 {LispFunction, Lisp_CopyAlist, "copy-alist list"},
252 {LispFunction, Lisp_CopyList, "copy-list list"},
253 {LispFunction, Lisp_CopyTree, "copy-tree list"},
255 {LispFunction, Lisp_C_r, "caar list", 0, 0, Com_C_r},
256 {LispFunction, Lisp_C_r, "cadr list", 0, 0, Com_C_r},
257 {LispFunction, Lisp_C_r, "cdar list", 0, 0, Com_C_r},
258 {LispFunction, Lisp_C_r, "cddr list", 0, 0, Com_C_r},
259 {LispFunction, Lisp_C_r, "caaar list", 0, 0, Com_C_r},
260 {LispFunction, Lisp_C_r, "caadr list", 0, 0, Com_C_r},
261 {LispFunction, Lisp_C_r, "cadar list", 0, 0, Com_C_r},
262 {LispFunction, Lisp_C_r, "caddr list", 0, 0, Com_C_r},
263 {LispFunction, Lisp_C_r, "cdaar list", 0, 0, Com_C_r},
264 {LispFunction, Lisp_C_r, "cdadr list", 0, 0, Com_C_r},
265 {LispFunction, Lisp_C_r, "cddar list", 0, 0, Com_C_r},
266 {LispFunction, Lisp_C_r, "cdddr list", 0, 0, Com_C_r},
267 {LispFunction, Lisp_C_r, "caaaar list", 0, 0, Com_C_r},
268 {LispFunction, Lisp_C_r, "caaadr list", 0, 0, Com_C_r},
269 {LispFunction, Lisp_C_r, "caadar list", 0, 0, Com_C_r},
270 {LispFunction, Lisp_C_r, "caaddr list", 0, 0, Com_C_r},
271 {LispFunction, Lisp_C_r, "cadaar list", 0, 0, Com_C_r},
272 {LispFunction, Lisp_C_r, "cadadr list", 0, 0, Com_C_r},
273 {LispFunction, Lisp_C_r, "caddar list", 0, 0, Com_C_r},
274 {LispFunction, Lisp_C_r, "cadddr list", 0, 0, Com_C_r},
275 {LispFunction, Lisp_C_r, "cdaaar list", 0, 0, Com_C_r},
276 {LispFunction, Lisp_C_r, "cdaadr list", 0, 0, Com_C_r},
277 {LispFunction, Lisp_C_r, "cdadar list", 0, 0, Com_C_r},
278 {LispFunction, Lisp_C_r, "cdaddr list", 0, 0, Com_C_r},
279 {LispFunction, Lisp_C_r, "cddaar list", 0, 0, Com_C_r},
280 {LispFunction, Lisp_C_r, "cddadr list", 0, 0, Com_C_r},
281 {LispFunction, Lisp_C_r, "cdddar list", 0, 0, Com_C_r},
282 {LispFunction, Lisp_C_r, "cddddr list", 0, 0, Com_C_r},
285 {LispMacro, Lisp_Defmacro, "defmacro name lambda-list &rest body"},
287 {LispMacro, Lisp_Defun, "defun name lambda-list &rest body"},
288 {LispMacro, Lisp_Defsetf, "defsetf function lambda-list &rest body"},
371 {LispFunction, Lisp_Last, "last list &optional count", 0, 0, Com_Last},
372 {LispMacro, Lisp_Lambda, "lambda lambda-list &rest body"},
377 {LispFunction, Lisp_ListP, "list* object &rest more-objects"},
378 {LispFunction, Lisp_ListAllPackages, "list-all-packages"},
379 {LispFunction, Lisp_List, "list &rest args"},
380 {LispFunction, Lisp_ListLength, "list-length list"},
393 {LispFunction, Lisp_MakeList, "make-list size &key initial-element"},
402 {LispFunction, Lisp_Mapc, "mapc function list &rest more-lists"},
403 {LispFunction, Lisp_Mapcar, "mapcar function list &rest more-lists"},
404 {LispFunction, Lisp_Mapcan, "mapcan function list &rest more-lists"},
406 {LispFunction, Lisp_Mapl, "mapl function list &rest more-lists"},
407 {LispFunction, Lisp_Maplist, "maplist function list &rest more-lists"},
408 {LispFunction, Lisp_Mapcon, "mapcon function list &rest more-lists"},
409 {LispFunction, Lisp_Member, "member item list &key test test-not key"},
410 {LispFunction, Lisp_MemberIf, "member-if predicate list &key key"},
411 {LispFunction, Lisp_MemberIfNot, "member-if-not predicate list &key key"},
417 {LispMacro, Lisp_MultipleValueList, "multiple-value-list form"},
425 {LispFunction, Lisp_Nth, "nth index list"},
426 {LispFunction, Lisp_Nthcdr, "nthcdr index list", 0, 0, Com_Nthcdr},
431 {LispFunction, Lisp_Null, "null list", 0, 0, Com_Null},
441 {LispFunction, Lisp_PackageUseList, "package-use-list package"},
442 {LispFunction, Lisp_PackageUsedByList, "package-used-by-list package"},
565 {LispFunction, Lisp_ValuesList, "values-list list", 1},
577 {LispFunction, Lisp_XeditSetSymbolPlist, "lisp::set-symbol-plist symbol list", 0, 1},
605 /* byte code function argument list for functions that don't change it's
606 * &REST argument list. */
912 LispMark((*pentry)->data.atom->property->value);
914 /* Traverse atom list, protecting properties, and function/structure
919 if (atom->property != NOPROPERTY) {
921 LispMark(atom->property->properties);
924 LispProt(atom->property->fun.function);
926 LispProt(atom->property->setf);
928 LispProt(atom->property->structure.definition);
1343 atom->property = NOPROPERTY;
1353 LispProperty *property;
1355 if (atom->property != NOPROPERTY)
1358 property = LispCalloc(1, sizeof(LispProperty));
1359 LispMused(property);
1360 atom->property = property;
1361 property->package = lisp__data.pack;
1371 if (atom->property != NOPROPERTY)
1372 /* if atom->property is NOPROPERTY, this is an unbound symbol */
1373 ++atom->property->refcount;
1376 /* Assumes atom property is not NOPROPERTY */
1380 if (atom->property == NOPROPERTY)
1381 /* if atom->property is NOPROPERTY, this is an unbound symbol */
1384 if (atom->property->refcount <= 0)
1387 --atom->property->refcount;
1389 if (atom->property->refcount == 0) {
1391 free(atom->property);
1392 atom->property = NOPROPERTY;
1399 if (atom->property != NOPROPERTY) {
1428 if (atom->property == NOPROPERTY)
1448 atom->property->value = NULL;
1455 if (atom->property == NOPROPERTY)
1461 LispFreeArgList(atom->property->alist);
1466 atom->property->fun.function = bytecode;
1474 atom->property->fun.function = NULL;
1476 LispFreeArgList(atom->property->alist);
1477 atom->property->alist = NULL;
1485 if (atom->property == NOPROPERTY)
1494 LispFreeArgList(atom->property->alist);
1501 atom->property->fun.function = function;
1502 atom->property->alist = alist;
1510 atom->property->fun.function = NULL;
1512 LispFreeArgList(atom->property->alist);
1513 atom->property->alist = NULL;
1521 if (atom->property == NOPROPERTY)
1530 LispFreeArgList(atom->property->alist);
1534 atom->property->fun.builtin = builtin;
1535 atom->property->alist = alist;
1543 atom->property->fun.function = NULL;
1545 LispFreeArgList(atom->property->alist);
1546 atom->property->alist = NULL;
1553 if (atom->property == NOPROPERTY)
1558 LispFreeArgList(atom->property->salist);
1561 atom->property->setf = setf;
1562 atom->property->salist = alist;
1570 atom->property->setf = NULL;
1572 LispFreeArgList(atom->property->salist);
1573 atom->property->salist = NULL;
1585 if (atom->property == NOPROPERTY)
1590 atom->property->structure.definition = def;
1591 atom->property->structure.function = fun;
1599 atom->property->structure.definition = NULL;
1622 LispObj *list = NIL, *result = NIL;
1625 if (atom->property == NOPROPERTY)
1627 if (atom->property->properties == NULL) {
1629 atom->property->properties = NIL;
1636 for (base = list = atom->property->properties;
1637 CONSP(list);
1638 list = CDR(list)) {
1639 if (key == CAR(list)) {
1640 result = CDR(list);
1643 base = list;
1644 list = CDR(list);
1645 if (!CONSP(list))
1646 LispDestroy("%s: %s has an odd property list length",
1650 if (CONSP(list) && function == REM_PROPERTY) {
1651 if (!CONSP(CDR(list)))
1652 LispDestroy("REMPROP: %s has an odd property list length",
1654 if (base == list)
1655 atom->property->properties = CDDR(list);
1657 RPLACD(CDR(base), CDDR(list));
1661 if (!CONSP(list)) {
1663 atom->property->properties =
1664 CONS(key, CONS(NIL, atom->property->properties));
1665 result = CDR(atom->property->properties);
1697 LispReplaceAtomPropertyList(LispAtom *atom, LispObj *list)
1699 if (atom->property == NOPROPERTY)
1701 if (atom->property->properties == NULL)
1703 atom->property->properties = list;
1705 return (list);
1850 LispCheckArguments(LispFunType type, LispObj *list, const char *name, int builtin)
1870 if (!CONSP(list)) {
1871 if (list != NIL)
1872 LispDestroy("%s %s: %s cannot be a %s argument list",
1873 fnames[type], name, STROBJ(list), types[type]);
1884 for (; CONSP(list); list = CDR(list)) {
1885 spec = CAR(list);
1950 * argument list, so that a function argument keyword
2020 if (rest || aux || CDR(list) == NIL || !SYMBOLP(CADR(list))
2022 || (CDDR(list) != NIL && !SYMBOLP(CAR(CDDR(list))) &&
2023 ATOMID(CAR(CDDR(list))) != Saux))
2065 /* Untill more lambda-list keywords supported, don't allow
2091 * argument list, so that a function argument keyword
2134 /* Check for dotted argument list */
2135 if (list != NIL)
2137 fnames[type], name, STROBJ(list), types[type]);
2151 LispObj *name, *obj, *list, *cons, *code;
2173 list = cons = CONS(name, NIL);
2176 lisp__data.protect.objects[lisp__data.protect.length++] = list;
2184 alist = LispCheckArguments(builtin->type, CDR(list), atom->key->value, 1);
2185 builtin->symbol = CAR(list);
2201 LispObj **list, *obj;
2209 if ((list = (LispObj**)realloc(seg->objects,
2215 seg->objects = list;
2305 LispMark(object->data.array.list);
2458 LispProt(object->data.array.list);
2544 LispProtect(LispObj *key, LispObj *list)
2546 PRO = CONS(CONS(key, list), PRO);
2550 LispUProtect(LispObj *key, LispObj *list)
2555 if (CAR(CAR(obj)) == key && CDR(CAR(obj)) == list) {
2863 array->data.array.list = objects;
3144 atom->property->fun.builtin->type == LispFunction) ||
3146 atom->property->fun.function->funtype == LispFunction) ||
3148 atom->property->structure.function != STRUCT_NAME) ||
3182 /* Check if package not already in use-package list */
3189 /* Remember this package is in the use-package list */
3206 /* Traverse atom list, searching for extern symbols */
3224 if (current == NULL || current->data.atom->property == NOPROPERTY) {
3237 * property, the current package is the owner, not the previous one. */
3240 atom->property = symbol->data.atom->property;
3244 else if (current->data.atom->property != symbol->data.atom->property) {
3254 atom->property = symbol->data.atom->property;
3364 if (name->property->value == UNBOUND)
3367 return (name->property->value);
3371 return (name->a_object ? name->property->value : NULL);
3402 if (name->property->value == UNBOUND)
3405 return (&(name->property->value));
3409 return (name->a_object ? &(name->property->value) : NULL);
3544 if (name->property->value == UNBOUND && value)
3594 if (name->constant && name->a_object && name->property->value != value)
3673 LispReverse(LispObj *list)
3677 while (list != NIL) {
3678 tmp = CDR(list);
3679 CDR(list) = res;
3680 res = list;
3681 list = tmp;
3772 LispEvalBackquoteObject(LispObj *argument, int list, int quote)
3784 if (!list && argument->data.comma.atlist)
3785 /* cannot append, not in a list */
3842 /* always generate a new list for the result, even if nothing
3852 /* if false, last argument, and if cons is not NIL, a dotted list */
3853 int list = CONSP(cons), insert;
3855 if (list)
3861 /* need to insert list elements in result, not just cons it? */
3873 /* if starting result list */
3875 if (list)
3901 /* object was a dotted list */
3913 if (list) {
3925 /* if object is NIL, it is a empty list appended, not
3926 * creating a dotted list. */
3936 /* object was a dotted list */
3944 /* if last argument list element processed */
3945 if (!list)
4311 * in the argument list, it is an error. */
4316 /* Symbol found in the argument list. */
4341 /* Symbol found in the argument list. */
4509 /* If not in argument specification list... */
4537 /* always allocate a new list, don't know if it will be retained */
4628 builtin = atom->property->fun.builtin;
4632 base = LispMakeEnvironment(atom->property->alist,
4646 lambda = atom->property->fun.function;
4647 alist = atom->property->alist;
4656 lambda = atom->property->fun.function;
4658 alist = atom->property->alist;
4667 atom->property->structure.function != STRUCT_NAME) {
4670 if (atom->property->structure.function == STRUCT_CONSTRUCTOR)
4672 else if (atom->property->structure.function == STRUCT_CHECK)
4676 builtin = atom->property->fun.builtin;
4686 base = LispMakeEnvironment(atom->property->alist,
4691 base = LispMakeEnvironment(atom->property->alist,
4852 * destructuring and more lambda list keywords still missing.
4905 base = LispMakeEnvironment(atom->property->alist,
4907 body = atom->property->fun.function->data.lambda.code;
5214 /* Set package list, to be used by (gc) and (list-all-packages) */
5237 /* Update list of packages */
5404 /* Update list of packages */
5421 /* Update list of packages */