From ec0579e110c44939a4c92a9cd725cad652316e2c Mon Sep 17 00:00:00 2001 From: otya128 Date: Thu, 15 Dec 2016 00:31:52 +0900 Subject: [PATCH] Fix RESTORE --- SMILEBASIC/VM.d | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index 3b71a19..17c3ca3 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -1719,7 +1719,18 @@ class RestoreExprCode : Code vm.pop(label); if(!label.isString) throw new TypeMismatch(); - datatable.dataIndex = datatable.label[label.stringValue]; + if (label.stringValue in datatable.label) + { + datatable.dataIndex = datatable.label[label.stringValue]; + } + else if (label.stringValue in vm.currentSlot.globalDataTable.label) + { + datatable.dataIndex = vm.currentSlot.globalDataTable.label[label.stringValue]; + } + else + { + throw new UndefinedLabel(); + } } override string toString(VM vm) {