mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 15:48:21 +00:00
Fix nested lists disabling list mode.
Lists can't contain lists at runtime, but they can at parse time, so the optimizer must behave properly when handling nested lists. And it didn't, because it neglected to preserve the previous state of self.listmode. So we fix that.
This commit is contained in:
parent
133c1572f6
commit
c08d1edb5d
1 changed files with 4 additions and 2 deletions
|
@ -150,21 +150,23 @@ class outscript(object):
|
|||
if value == []:
|
||||
return '[]'
|
||||
if len(value) < 5:
|
||||
save_listmode = self.listmode
|
||||
self.listmode = True
|
||||
ret = '[' + self.Value2LSL(value[0])
|
||||
for elem in value[1:]:
|
||||
ret += ', ' + self.Value2LSL(elem)
|
||||
ret += ']'
|
||||
self.listmode = False
|
||||
self.listmode = save_listmode
|
||||
return ret
|
||||
ret = '' if lslcommon.IsCalc else '\n'
|
||||
first = True
|
||||
self.indentlevel += 1
|
||||
for entry in value:
|
||||
ret += self.dent() + ('[ ' if first else ', ')
|
||||
save_listmode = self.listmode
|
||||
self.listmode = True
|
||||
ret += self.Value2LSL(entry) + '\n'
|
||||
self.listmode = False
|
||||
self.listmode = save_listmode
|
||||
first = False
|
||||
self.indentlevel -= 1
|
||||
return ret + self.dent() + self.indent + ']'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue