瀏覽代碼

Fixed a setter issue that affects some unit tests too

Marco Bambini 4 年之前
父節點
當前提交
a135732f5b
共有 2 個文件被更改,包括 3 次插入2 次删除
  1. 1 0
      src/runtime/gravity_vm.c
  2. 2 2
      src/shared/gravity_value.h

+ 1 - 0
src/runtime/gravity_vm.c

@@ -630,6 +630,7 @@ static bool gravity_vm_exec (gravity_vm *vm) {
                             // check for special setter trick
                             if (VALUE_ISA_CLOSURE(STACK_GET(r1))) {
                                 closure = VALUE_AS_CLOSURE(STACK_GET(r1));
+                                if (closure->f->tag == EXEC_TYPE_INTERNAL) r1copy = STACK_GET(rwin+1);
                                 SETVALUE(r1, r1copy);
                                 reset_r1 = true;
                                 goto execute_store_function;

+ 2 - 2
src/shared/gravity_value.h

@@ -66,8 +66,8 @@
 extern "C" {
 #endif
 
-#define GRAVITY_VERSION						"0.8.4"     // git tag 0.8.4
-#define GRAVITY_VERSION_NUMBER				0x000804    // git push --tags
+#define GRAVITY_VERSION						"0.8.5"     // git tag 0.8.5
+#define GRAVITY_VERSION_NUMBER				0x000805    // git push --tags
 #define GRAVITY_BUILD_DATE                  __DATE__
 
 #ifndef GRAVITY_ENABLE_DOUBLE