|
|
@ -1,6 +1,6 @@ |
|
|
|
#include "sim.h" |
|
|
|
#include "gbuffer.h" |
|
|
|
#include "mark.h" |
|
|
|
#include "sim.h" |
|
|
|
|
|
|
|
//////// Utilities
|
|
|
|
|
|
|
@ -706,13 +706,15 @@ BEGIN_OPERATOR(variable) |
|
|
|
LOWERCASE_REQUIRES_BANG; |
|
|
|
PORT(0, -1, IN | PARAM); |
|
|
|
PORT(0, 1, IN | PARAM); |
|
|
|
PORT(1, 0, OUT); |
|
|
|
Glyph left = PEEK(0, -1); |
|
|
|
Glyph right = PEEK(0, 1); |
|
|
|
if (right == '.') |
|
|
|
if (right == '.') { |
|
|
|
PORT(1, 0, OUT); |
|
|
|
return; |
|
|
|
} |
|
|
|
if (left == '.') { |
|
|
|
// Read
|
|
|
|
PORT(1, 0, OUT); |
|
|
|
Usz var_idx = safe_index_of(right); |
|
|
|
Glyph result = extra_params->vars_slots[var_idx]; |
|
|
|
if (result == '.') |
|
|
|