@SubL(source = "sublisp/condition-macros.lisp", position = 1332) public static final SubLObject with_simple_restart_internal( SubLObject name, SubLObject format_control, SubLObject format_arguments, SubLObject body) { { SubLObject tag = Symbols.make_symbol($str1$RESTART_TAG); SubLObject dummy = Symbols.make_symbol($str2$DUMMY); return list( $sym3$CLET, list( list( tag, ((NIL != name) ? ((SubLObject) list($sym4$QUOTE, name)) : list($sym4$QUOTE, tag))), dummy), list($sym5$IGNORE, dummy), list( $sym3$CLET, list( list( $sym6$_RESTARTS_, listS( $sym7$CONS, listS( $sym8$LIST, tag, format_control, ConsesLow.append(format_arguments, NIL)), $list9))), listS($sym10$CCATCH, tag, dummy, ConsesLow.append(body, NIL)))); } }
/** 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; }
@SubL(source = "sublisp/condition-macros.lisp", position = 3587) public static final SubLObject ignore_errors_internal(SubLObject body) { { SubLObject tag = Symbols.make_symbol($str13$IGNORE_ERRORS_TAG); return list( $sym3$CLET, list(tag), list( $sym10$CCATCH, $kw14$IGNORE_ERRORS_TARGET, tag, list($sym5$IGNORE, tag), listS($sym15$WITH_ERROR_HANDLER, $list16, ConsesLow.append(body, NIL)))); } }
@SubL(source = "sublisp/condition-macros.lisp", position = 2533) public static final SubLObject with_error_handler_internal(SubLObject handler, SubLObject body) { return listS( $sym3$CLET, list(list($sym12$_ERROR_HANDLER_, handler)), ConsesLow.append(body, NIL)); }
@SubL(source = "sublisp/condition-macros.lisp", position = 2441) public static final SubLObject with_sublisp_error_handling_internal(SubLObject body) { return reader.bq_cons($sym11$PROGN, ConsesLow.append(body, NIL)); }
/** Replace the last cdr of NON-EMPTY-LIST with NEW-LAST-CDR */ @SubL(source = "cycl/subl-macros.lisp", position = 27221) public static final SubLObject rplacd_last(SubLObject non_empty_list, SubLObject new_last_cdr) { return ConsesLow.rplacd(conses_high.last(non_empty_list, UNPROVIDED), new_last_cdr); }