Lines Matching refs:object
53 LispObj *object; /* the circular object */
171 prin1 object &optional output-stream
174 LispObj *object, *output_stream;
177 object = ARGUMENT(0);
181 LispPrint(object, output_stream, 0);
183 return (object);
189 princ object &optional output-stream
193 LispObj *object, *output_stream;
196 object = ARGUMENT(0);
203 LispPrint(object, output_stream, 0);
206 return (object);
212 print object &optional output-stream
215 LispObj *object, *output_stream;
218 object = ARGUMENT(0);
223 LispPrint(object, output_stream, 0);
226 return (object);
256 write object &key case circle escape length level lines pretty readably right-margin stream
261 LispObj *object, *ocase, *circle, *escape, *length, *level, *stream;
269 object = ARGUMENT(0);
291 (void)LispWriteObject(stream, object);
295 return (object);
341 LispWriteObject(LispObj *stream, LispObj *object)
372 LispBuildCircle(object, &info);
396 bytes = LispDoWriteObject(stream, object, &info, 1);
404 LispBuildCircle(LispObj *object, write_info *info)
408 switch (OBJECT_TYPE(object)) {
410 LispDoBuildCircle(object, info);
415 if (LispCheckCircle(object, info) >= 0)
417 LispDoBuildCircle(object, info);
418 for (list = object->data.array.list;
425 if (LispCheckCircle(object, info) >= 0)
427 LispDoBuildCircle(object, info);
428 for (list = object->data.struc.fields;
435 LispDoBuildCircle(object, info);
436 LispBuildCircle(object->data.quote, info);
439 LispDoBuildCircle(object, info);
440 LispBuildCircle(object->data.comma.eval, info);
444 if (LispCheckCircle(object, info) >= 0)
446 LispDoBuildCircle(object, info);
447 LispBuildCircle(object->data.lambda.code, info);
455 LispDoBuildCircle(LispObj *object, write_info *info)
459 if (LispCheckCircle(object, info) >= 0)
463 if (info->objects[i] == object) {
468 info->circles[info->num_circles].object = object;
473 /* object pointer not yet recorded */
477 info->objects[info->num_objects++] = object;
479 if (CONSP(object)) {
480 if (CONSP(CAR(object)))
481 LispDoBuildCircle(CAR(object), info);
483 LispBuildCircle(CAR(object), info);
484 if (CONSP(CDR(object)))
485 LispDoBuildCircle(CDR(object), info);
487 LispBuildCircle(CDR(object), info);
492 LispCheckCircle(LispObj *object, write_info *info)
497 if (info->circles[i].object == object)
504 LispPrintCircle(LispObj *stream, LispObj *object, long circle,
528 #define WRITE_ATOM(object) \
529 name = ATOMID(object); \
535 #define WRITE_OBJECT(object) \
536 length += LispDoWriteObject(stream, object, info, 1)
786 LispWriteList(LispObj *stream, LispObj *object, write_info *info, int paren)
796 if (info->circles && (circle = LispCheckCircle(object, info)) >= 0) {
801 if (LispPrintCircle(stream, object, circle, &length, info) == 0) {
808 car = CAR(object);
809 cdr = CDR(object);
860 LispDoWriteObject(LispObj *stream, LispObj *object, write_info *info, int paren)
868 switch (OBJECT_TYPE(object)) {
870 if (object == NIL)
872 else if (object == T)
874 else if (object == DOT)
876 else if (object == UNSPEC)
878 else if (object == UNBOUND)
886 char *desc = LispIntToOpaqueType(object->data.opaque.type);
889 length += LispWriteCPointer(stream, object->data.opaque.data);
893 length += LispWriteAtom(stream, object, info);
896 if (object->data.atom->a_function) {
897 object = object->data.atom->property->fun.function;
901 if (object->data.atom->a_compiled)
903 else if (object->data.atom->a_builtin)
911 length += LispWriteAtom(stream, object->data.atom->object, info);
915 length += LispWriteString(stream, object, info);
918 length += LispWriteCharacter(stream, object, info);
921 length += LispWriteFloat(stream, object);
926 length += LispWriteInteger(stream, object);
929 format_integer(stk, object->data.ratio.numerator, 10);
932 format_integer(stk, object->data.ratio.denominator, 10);
939 sz = mpi_getsize(mpr_num(object->data.mp.ratio), 10) + 1 +
940 mpi_getsize(mpr_den(object->data.mp.ratio), 10) + 1 +
941 (mpi_sgn(mpr_num(object->data.mp.ratio)) < 0);
946 mpr_getstr(ptr, object->data.mp.ratio, 10);
954 object->data.complex.real, info, 0);
957 object->data.complex.imag, info, 0);
963 length += LispWriteList(stream, object, info, paren);
969 object = object->data.quote;
974 object = object->data.quote;
977 if (object->data.comma.atlist)
982 object = object->data.comma.eval;
988 object = object->data.quote;
991 length += LispWriteArray(stream, object, info);
994 length += LispWriteStruct(stream, object, info);
998 switch (object->funtype) {
1014 if (object->funtype != LispLambda) {
1015 length += LispWriteAtom(stream, object->data.lambda.name, info);
1017 length += LispWriteAlist(stream, object->data.lambda.name
1023 length += LispWriteAlist(stream, (LispArgList*)object->
1029 object->data.lambda.code, info, 0);
1034 if (object->data.stream.type == LispStreamFile)
1036 else if (object->data.stream.type == LispStreamString)
1038 else if (object->data.stream.type == LispStreamStandard)
1040 else if (object->data.stream.type == LispStreamPipe)
1045 if (!object->data.stream.readable && !object->data.stream.writable)
1049 if (object->data.stream.readable)
1052 if (object->data.stream.writable) {
1053 if (object->data.stream.readable)
1059 if (object->data.stream.type != LispStreamString) {
1062 object->data.stream.pathname,
1067 object->data.stream.source.file);
1068 if (object->data.stream.readable &&
1069 object->data.stream.type == LispStreamFile &&
1070 !object->data.stream.source.file->binary) {
1072 format_integer(stk, object->data.stream.source.file->line, 10);
1081 object = CAR(object->data.quote);
1087 THESTR(object->data.package.name),
1088 STRLEN(object->data.package.name));
1095 object->data.regex.pattern, info, 1);
1096 if (object->data.regex.options & RE_NOSPEC)
1099 if (object->data.regex.options & RE_ICASE)
1102 if (object->data.regex.options & RE_NOSUB)
1105 if (object->data.regex.options & RE_NEWLINE)
1114 object->data.bytecode.bytecode);
1120 length += LispWriteAtom(stream, object->data.hash.test, info);
1122 object->data.hash.table->rehash_size,
1123 object->data.hash.table->rehash_threshold);
1126 object->data.hash.table->count,
1127 object->data.hash.table->num_entries);
1264 LispWriteAtom(LispObj *stream, LispObj *object, write_info *info)
1267 LispAtom *atom = object->data.atom;
1312 LispWriteInteger(LispObj *stream, LispObj *object)
1314 return (LispFormatInteger(stream, object, 10, 0, 0, 0, 0, 0, 0));
1318 LispWriteCharacter(LispObj *stream, LispObj *object, write_info *info)
1320 return (LispFormatCharacter(stream, object, !info->print_escape, 0));
1324 LispWriteString(LispObj *stream, LispObj *object, write_info *info)
1326 return (LispWriteCString(stream, THESTR(object), STRLEN(object), info));
1330 LispWriteFloat(LispObj *stream, LispObj *object)
1332 double value = DFLOAT_VALUE(object);
1335 return (LispFormatFixedFloat(stream, object, 0, 0, NULL, 0, 0, 0));
1337 return (LispDoFormatExponentialFloat(stream, object, 0, 0, NULL,
1342 LispWriteArray(LispObj *stream, LispObj *object, write_info *info)
1347 if (info->circles && (circle = LispCheckCircle(object, info)) >= 0 &&
1348 LispPrintCircle(stream, object, circle, &length, info) == 0)
1351 if (object->data.array.rank == 0) {
1353 length += LispDoWriteObject(stream, object->data.array.list, info, 1);
1360 if (object->data.array.rank == 1)
1365 format_integer(stk, object->data.array.rank, 10);
1371 if (!object->data.array.zero) {
1374 if (object->data.array.rank == 1) {
1378 for (ary = object->data.array.dim, count = 1;
1381 for (ary = object->data.array.list; count > 0;
1400 rank = object->data.array.rank;
1405 for (i = 0, ary = object->data.array.dim; ary != NIL;
1410 ary = object->data.array.list;
1476 LispWriteStruct(LispObj *stream, LispObj *object, write_info *info)
1481 LispObj *def = object->data.struc.def;
1482 LispObj *field = object->data.struc.fields;
1484 if (info->circles && (circle = LispCheckCircle(object, info)) >= 0 &&
1485 LispPrintCircle(stream, object, circle, &length, info) == 0)
1507 LispFormatInteger(LispObj *stream, LispObj *object, int radix,
1514 if (LONGINTP(object))
1515 format_integer(stk, LONGINT_VALUE(object), radix);
1517 if (mpi_getsize(object->data.mp.integer, radix) >= sizeof(stk))
1518 str = mpi_getstr(NULL, object->data.mp.integer, radix);
1520 mpi_getstr(str, object->data.mp.integer, radix);
1806 LispFormatCharacter(LispObj *stream, LispObj *object,
1810 int ch = SCHAR_VALUE(object);
1853 LispFormatFixedFloat(LispObj *stream, LispObj *object,
1859 double value = DFLOAT_VALUE(object);
2018 LispFormatExponentialFloat(LispObj *stream, LispObj *object,
2022 return (LispDoFormatExponentialFloat(stream, object, atsign, w,
2028 LispDoFormatExponentialFloat(LispObj *stream, LispObj *object,
2035 double value = DFLOAT_VALUE(object);
2228 LispFormatGeneralFloat(LispObj *stream, LispObj *object,
2234 double value = DFLOAT_VALUE(object);
2262 length = LispFormatFixedFloat(stream, object, atsign, ww,
2269 length = LispFormatExponentialFloat(stream, object, atsign,
2277 LispFormatDollarFloat(LispObj *stream, LispObj *object,
2282 double value = DFLOAT_VALUE(object);