@SubL(source = "cycl/subl-macros.lisp", position = 14186) public static final SubLObject do_sequence_index_doneP( SubLObject index, SubLObject end_index, SubLObject sequence) { if (sequence.isList()) { return Types.sublisp_null(sequence); } else { return Numbers.numE(index, end_index); } }
/** Return the value for INDICATOR in PLIST, or DEFAULT if not present */ public final SubLObject getf(SubLObject indicator, SubLObject v_default) { // @todo get rid of duplication with conses_high...this version shoul prevail // @todo hand optimize this code if ((v_default == CommonSymbols.UNPROVIDED)) { v_default = SubLNil.NIL; } SubLObject next = SubLNil.NIL; SubLObject key = SubLNil.NIL; for (next = this, key = ConsesLow.car(next); (SubLNil.NIL == Types.sublisp_null(next)); next = next.rest().rest(), key = ConsesLow.car(next)) { if ((indicator == key)) { return next.second(); } } return v_default; }
/** Return a plist which has no value stored for INDICATOR in PLIST */ public final SubLList remf(SubLObject indicator) { // @todo get rid of duplication with conses_high...this version shoul prevail // @todo hand optimize this code SubLObject back = SubLNil.NIL; SubLObject next = SubLNil.NIL; SubLObject key = SubLNil.NIL; for (back = SubLNil.NIL, next = this, key = ConsesLow.car(next); (SubLNil.NIL == Types.sublisp_null(next)); back = ConsesLow.cdr(next), next = next.rest().rest(), key = ConsesLow.car(next)) { if ((indicator == key)) { if ((SubLNil.NIL != back)) { ConsesLow.rplacd(back, next.rest().rest()); return this; } else { return next.rest().rest().toList(); } } } return this; }