ref: 86dd6be4f4edc4fadf253eba3a7baded145cdef5
parent: c172296d07e2b73ca806669fff2e04471d3077aa
author: cancel <cancel@cancel.fm>
date: Mon Feb 18 13:48:20 EST 2019
Fix formatting
--- a/sim.c
+++ b/sim.c
@@ -230,7 +230,7 @@
_('H', halt) \ _('I', increment) \ _('J', jump) \- _('K', konkat) \+ _('K', konkat) \ _('L', loop) \ _('M', modulo) \ _('N', movement) \@@ -535,21 +535,24 @@
POKE(1, 0, PEEK(-1, 0));
END_OPERATOR
+// Note: this is merged from a pull request without being fully tested or
+// optimized
BEGIN_OPERATOR(konkat)
LOWERCASE_REQUIRES_BANG;
Isz len = (Isz)index_of(PEEK(0, -1));
- if (len == 0) len = 1;
+ if (len == 0)
+ len = 1;
PORT(0, -1, IN | PARAM);
- for ( Isz i = 0; i < len; ++i) {- PORT(0, i+1, IN);
- Glyph var = PEEK(0, i+1);
+ for (Isz i = 0; i < len; ++i) {+ PORT(0, i + 1, IN);
+ Glyph var = PEEK(0, i + 1);
Usz var_idx = safe_index_of(var);
- if( var_idx != 0 ){- Glyph result = extra_params->vars_slots[var_idx];
- if (result != '.'){- PORT(1, i+1, OUT);
- POKE(1, i+1, result);
- }
+ if (var_idx != 0) {+ Glyph result = extra_params->vars_slots[var_idx];
+ if (result != '.') {+ PORT(1, i + 1, OUT);
+ POKE(1, i + 1, result);
+ }
}
}
END_OPERATOR
--
⑨