void Fmake_array(CL_FORM *base, int nargs) { BOOL supl_flags[7]; static CL_FORM * keylist[] = { SYMBOL(Slisp, 99), /* ELEMENT-TYPE */ SYMBOL(Slisp, 155), /* INITIAL-ELEMENT */ SYMBOL(Slisp, 103), /* INITIAL-CONTENTS */ SYMBOL(Slisp, 100), /* ADJUSTABLE */ SYMBOL(Slisp, 101), /* FILL-POINTER */ SYMBOL(Slisp, 156), /* DISPLACED-TO */ SYMBOL(Slisp, 157), /* DISPLACED-INDEX-OFFSET */ }; keysort(ARG(1), nargs - 1, 7, keylist, supl_flags, FALSE); if(NOT(supl_flags[0])) { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(1)); /* T */ } if(NOT(supl_flags[1])) { LOAD_NIL(ARG(2)); LOAD_NIL(ARG(8)); } else { LOAD_T(ARG(8)); } if(NOT(supl_flags[2])) { LOAD_NIL(ARG(3)); LOAD_NIL(ARG(9)); } else { LOAD_T(ARG(9)); } if(NOT(supl_flags[3])) { LOAD_NIL(ARG(4)); } if(NOT(supl_flags[4])) { LOAD_NIL(ARG(5)); } if(NOT(supl_flags[5])) { LOAD_NIL(ARG(6)); } if(NOT(supl_flags[6])) { LOAD_FIXNUM(ARG(10), 0, ARG(7)); LOAD_NIL(ARG(10)); } else { LOAD_T(ARG(10)); } make_array1(ARG(0)); }
void c_long_p(CL_FORM *base) { if(CL_C_LONG_P(STACK(base, 0))) { LOAD_T(STACK(base, 0)); } else { LOAD_NIL(STACK(base, 0)); } }
void Fin_package(CL_FORM *base, int nargs) { BOOL supl_flags[2]; static CL_FORM * keylist[] = { SYMBOL(Slisp, 383), /* NICKNAMES */ SYMBOL(Slisp, 391), /* USE */ }; keysort(ARG(1), nargs - 1, 2, keylist, supl_flags, FALSE); if(NOT(supl_flags[0])) { LOAD_NIL(ARG(1)); } if(NOT(supl_flags[1])) { LOAD_NIL(ARG(2)); LOAD_NIL(ARG(3)); } else { LOAD_T(ARG(3)); } in_package1(ARG(0)); }
void Fmake_pathname(CL_FORM *base, int nargs) { BOOL supl_flags[8]; static CL_FORM * keylist[] = { SYMBOL(Slisp, 251), /* HOST */ SYMBOL(Slisp, 252), /* DEVICE */ SYMBOL(Slisp, 253), /* DIRECTORY */ SYMBOL(Slisp, 254), /* NAME */ SYMBOL(Slisp, 80), /* TYPE */ SYMBOL(Slisp, 255), /* VERSION */ SYMBOL(Slisp, 275), /* DEFAULTS */ SYMBOL(Slisp, 277), /* CASE */ }; keysort(ARG(0), nargs - 0, 8, keylist, supl_flags, FALSE); if(NOT(supl_flags[0])) { LOAD_NIL(ARG(0)); LOAD_NIL(ARG(8)); } else { LOAD_T(ARG(8)); } if(NOT(supl_flags[1])) { LOAD_NIL(ARG(1)); LOAD_NIL(ARG(9)); } else { LOAD_T(ARG(9)); } if(NOT(supl_flags[2])) { LOAD_NIL(ARG(2)); LOAD_NIL(ARG(10)); } else { LOAD_T(ARG(10)); } if(NOT(supl_flags[3])) { LOAD_NIL(ARG(3)); LOAD_NIL(ARG(11)); } else { LOAD_T(ARG(11)); } if(NOT(supl_flags[4])) { LOAD_NIL(ARG(4)); LOAD_NIL(ARG(12)); } else { LOAD_T(ARG(12)); } if(NOT(supl_flags[5])) { LOAD_NIL(ARG(5)); LOAD_NIL(ARG(13)); } else { LOAD_T(ARG(13)); } if(NOT(supl_flags[6])) { LOAD_NIL(ARG(6)); } if(NOT(supl_flags[7])) { LOAD_SYMBOL(SYMBOL(Slisp, 276), ARG(7)); /* LOCAL */ } make_pathname1(ARG(0)); }
void unparse_unix_directory_list(CL_FORM *base) { LOAD_NIL(STACK(base, 1)); LOAD_NIL(STACK(base, 2)); { CL_FORM *lptr; lptr = form_alloc(STACK(base, 3), 2); COPY(STACK(base, 1), CAR(lptr)); COPY(STACK(base, 2), CDR(lptr)); LOAD_CONS(lptr, STACK(base, 1)); } if(CL_TRUEP(STACK(base, 0))) { COPY(STACK(base, 0), STACK(base, 2)); Fcar(STACK(base, 2)); COPY(STACK(base, 0), STACK(base, 3)); COPY(STACK(base, 3), STACK(base, 4)); Fcdr(STACK(base, 4)); COPY(STACK(base, 4), STACK(base, 0)); if(CL_SYMBOLP(STACK(base, 2)) && GET_SYMBOL(STACK(base, 2)) == SYMBOL(Slisp, 198)) /* ABSOLUTE */ { LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[0], STACK(base, 3)); /* / */ COPY(STACK(base, 1), STACK(base, 4)); add_q(STACK(base, 3)); } else { if(CL_SYMBOLP(STACK(base, 2)) && GET_SYMBOL(STACK(base, 2)) == SYMBOL(Slisp, 201)) /* RELATIVE */ { LOAD_T(STACK(base, 3)); } else { LOAD_NIL(STACK(base, 3)); } if(CL_TRUEP(STACK(base, 3))) { } else { LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[2], STACK(base, 4)); /* ecase: the value ~a is not a legal value */ COPY(STACK(base, 2), STACK(base, 5)); Ferror(STACK(base, 4), 2); } } LOAD_NIL(STACK(base, 2)); COPY(STACK(base, 0), STACK(base, 3)); M33_1:; if(CL_ATOMP(STACK(base, 3))) { LOAD_NIL(STACK(base, 2)); goto RETURN34; } COPY(STACK(base, 3), STACK(base, 4)); Fcar(STACK(base, 4)); COPY(STACK(base, 4), STACK(base, 2)); if(CL_SYMBOLP(STACK(base, 2)) && GET_SYMBOL(STACK(base, 2)) == SYMBOL(Slisp, 205)) /* UP */ { LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[4], STACK(base, 4)); /* ../ */ COPY(STACK(base, 1), STACK(base, 5)); add_q(STACK(base, 4)); } else { if(CL_SYMBOLP(STACK(base, 2)) && GET_SYMBOL(STACK(base, 2)) == SYMBOL(Slisp, 199)) /* BACK */ { LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[6], STACK(base, 4)); /* :BACK cannot be represented in namestrings. */ Ferror(STACK(base, 4), 1); } else { if(CL_SMAR_P(STACK(base, 2))) { COPY(STACK(base, 2), STACK(base, 4)); LOAD_SYMBOL(SYMBOL(Slisp, 43), STACK(base, 5)); /* STANDARD-CHAR */ LOAD_SYMBOL(SYMBOL(Slisp, 48), STACK(base, 6)); /* * */ check_array_internal(STACK(base, 4)); } else { LOAD_NIL(STACK(base, 4)); } if(CL_TRUEP(STACK(base, 4))) { bool_result = TRUE; } else { COPY(STACK(base, 2), STACK(base, 5)); LOAD_SYMBOL(SYMBOL(Slisp, 181), STACK(base, 6)); /* PATTERN */ struct_typep(STACK(base, 5)); bool_result = CL_TRUEP(STACK(base, 5)); } if(bool_result) { COPY(STACK(base, 2), STACK(base, 4)); unparse_unix_piece(STACK(base, 4)); COPY(STACK(base, 1), STACK(base, 5)); add_q(STACK(base, 4)); LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[8], STACK(base, 4)); /* / */ COPY(STACK(base, 1), STACK(base, 5)); add_q(STACK(base, 4)); } else { LOAD_SMSTR((CL_FORM *)&Kunparse_unix_directory_list[10], STACK(base, 4)); /* Invalid directory component: ~S */ COPY(STACK(base, 2), STACK(base, 5)); Ferror(STACK(base, 4), 2); } } } Fcdr(STACK(base, 3)); goto M33_1; RETURN34:; } LOAD_GLOBFUN(&CFconcatenate, STACK(base, 2)); LOAD_SYMBOL(SYMBOL(Slisp, 40), STACK(base, 3)); /* SIMPLE-STRING */ COPY(STACK(base, 1), STACK(base, 4)); Fcar(STACK(base, 4)); Fapply(STACK(base, 2), 3); COPY(STACK(base, 2), STACK(base, 0)); }