regression fix
This commit is contained in:
+2
-6
@@ -268,11 +268,7 @@ func (c *Clyx) popCallerToken() any {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if stream == nil {
|
if stream == nil {
|
||||||
if len(c.tokenStreams) == 0 {
|
|
||||||
stream = &c.tokens
|
stream = &c.tokens
|
||||||
} else {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if len(*stream) == 0 { return nil }
|
if len(*stream) == 0 { return nil }
|
||||||
t := (*stream)[0]
|
t := (*stream)[0]
|
||||||
@@ -296,11 +292,11 @@ func (c *Clyx) cmdDefw() {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if stream == nil && len(c.tokenStreams) == 0 {
|
if stream == nil {
|
||||||
stream = &c.tokens
|
stream = &c.tokens
|
||||||
}
|
}
|
||||||
var val any
|
var val any
|
||||||
if stream != nil && len(*stream) > 0 {
|
if len(*stream) > 0 {
|
||||||
t0 := (*stream)[0]
|
t0 := (*stream)[0]
|
||||||
isQForm := false
|
isQForm := false
|
||||||
if s, ok := t0.(string); ok && s == "[" { isQForm = true } else if _, ok := t0.([]any); ok { isQForm = true }
|
if s, ok := t0.(string); ok && s == "[" { isQForm = true } else if _, ok := t0.([]any); ok { isQForm = true }
|
||||||
|
|||||||
@@ -108,10 +108,7 @@ class Clyx:
|
|||||||
t = stream
|
t = stream
|
||||||
break
|
break
|
||||||
if t is None:
|
if t is None:
|
||||||
if not self._token_streams:
|
|
||||||
t = self._tokens
|
t = self._tokens
|
||||||
else:
|
|
||||||
return None
|
|
||||||
if not t: return None
|
if not t: return None
|
||||||
val = t.pop(0)
|
val = t.pop(0)
|
||||||
if val == '[': return self._parse_qform(t)
|
if val == '[': return self._parse_qform(t)
|
||||||
@@ -123,7 +120,7 @@ class Clyx:
|
|||||||
if stream:
|
if stream:
|
||||||
t = stream
|
t = stream
|
||||||
break
|
break
|
||||||
if t is None and not self._token_streams:
|
if t is None:
|
||||||
t = self._tokens
|
t = self._tokens
|
||||||
val = self._pop_caller_token() if (t and (t[0] == '[' or isinstance(t[0], list))) else self._stack.pop()
|
val = self._pop_caller_token() if (t and (t[0] == '[' or isinstance(t[0], list))) else self._stack.pop()
|
||||||
if isinstance(val, str): val = self._norm_token(val)
|
if isinstance(val, str): val = self._norm_token(val)
|
||||||
|
|||||||
@@ -230,6 +230,7 @@ if [
|
|||||||
"Testing definition words..." puts cr
|
"Testing definition words..." puts cr
|
||||||
|
|
||||||
"my_const" [ 99 ] defw my_const 99 = if [ " defw (no-inline) PASS" puts cr ] [ " defw (no-inline) FAIL" puts cr ] # Test defw
|
"my_const" [ 99 ] defw my_const 99 = if [ " defw (no-inline) PASS" puts cr ] [ " defw (no-inline) FAIL" puts cr ] # Test defw
|
||||||
|
"test_defw_map" [ [ 1 2 3 ] [ 2 * ] map ] defw test_defw_map [ 2 4 6 ] streq if [ " map inside defw PASS" puts cr ] [ " map inside defw FAIL" puts cr ] # Test map inside defw
|
||||||
:: my_inline [ 100 ]
|
:: my_inline [ 100 ]
|
||||||
my_inline 100 = if [ " :: (inline) PASS" puts cr ] [ " :: (inline) FAIL" puts cr ] # Test inline ::
|
my_inline 100 = if [ " :: (inline) PASS" puts cr ] [ " :: (inline) FAIL" puts cr ] # Test inline ::
|
||||||
5 then 5 = if [ " then PASS" puts cr ] [ " then FAIL" puts cr ] # Test then
|
5 then 5 = if [ " then PASS" puts cr ] [ " then FAIL" puts cr ] # Test then
|
||||||
|
|||||||
Reference in New Issue
Block a user