diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/environment.mu | 4 | ||||
-rw-r--r-- | shell/primitives.mu | 9 |
2 files changed, 3 insertions, 10 deletions
diff --git a/shell/environment.mu b/shell/environment.mu index 688590dd..0816f41b 100644 --- a/shell/environment.mu +++ b/shell/environment.mu @@ -283,9 +283,7 @@ fn edit-environment _self: (addr environment), key: grapheme, data-disk: (addr d var global-data/eax: (addr array global) <- lookup *global-data-ah var curr-offset/ebx: (offset global) <- compute-offset global-data, curr-index var curr/ebx: (addr global) <- index global-data, curr-offset - var curr-value-ah/eax: (addr handle cell) <- get curr, value - var curr-value/eax: (addr cell) <- lookup *curr-value-ah - var primitive?/eax: boolean <- primitive? curr-value + var primitive?/eax: boolean <- primitive-global? curr compare primitive?, 0/false break-if-= var go-modal-error-ah/eax: (addr handle array byte) <- get self, go-modal-error diff --git a/shell/primitives.mu b/shell/primitives.mu index 66bc3786..b7f46a6e 100644 --- a/shell/primitives.mu +++ b/shell/primitives.mu @@ -179,13 +179,8 @@ fn primitive-global? _x: (addr global) -> _/eax: boolean { break-if-!= return 0/false } - { - var value-type/eax: (addr int) <- get value, type - compare *value-type, 4/primitive - break-if-= - return 0/false - } - return 1/true + var primitive?/eax: boolean <- primitive? value + return primitive? } fn append-primitive _self: (addr global-table), name: (addr array byte) { |