this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #1114 from RobLoach/js-error

Display the stack when there is an error

authored by

Vadim Grigoruk and committed by
GitHub
11a5eb2f 3357c278

+21 -19
+21 -19
src/jsapi.c
··· 172 172 colors[i] = duk_to_int(duk, -1); 173 173 count++; 174 174 duk_pop(duk); 175 - } 175 + } 176 176 } 177 177 } 178 178 else ··· 389 389 } 390 390 else 391 391 { 392 - result->index = duk_to_int(duk, -1); 392 + result->index = duk_to_int(duk, -1); 393 393 } 394 394 395 395 duk_pop(duk); ··· 426 426 colors[i] = duk_to_int(duk, -1); 427 427 count++; 428 428 duk_pop(duk); 429 - } 429 + } 430 430 } 431 431 } 432 432 else ··· 567 567 { 568 568 tic_api_pmem(tic, index, duk_to_uint(duk, 1), true); 569 569 } 570 - 570 + 571 571 duk_push_int(duk, val); 572 572 573 573 return 1; ··· 657 657 { 658 658 s32 radius = duk_to_int(duk, 2); 659 659 if(radius < 0) return 0; 660 - 660 + 661 661 s32 x = duk_to_int(duk, 0); 662 662 s32 y = duk_to_int(duk, 1); 663 663 s32 color = duk_to_int(duk, 3); ··· 673 673 { 674 674 s32 radius = duk_to_int(duk, 2); 675 675 if(radius < 0) return 0; 676 - 676 + 677 677 s32 x = duk_to_int(duk, 0); 678 678 s32 y = duk_to_int(duk, 1); 679 679 s32 color = duk_to_int(duk, 3); ··· 691 691 692 692 for(s32 i = 0; i < COUNT_OF(pt); i++) 693 693 pt[i] = duk_to_int(duk, i); 694 - 694 + 695 695 s32 color = duk_to_int(duk, 6); 696 696 697 697 tic_mem* tic = (tic_mem*)getDukMachine(duk); ··· 730 730 colors[i] = duk_to_int(duk, -1); 731 731 count++; 732 732 duk_pop(duk); 733 - } 733 + } 734 734 } 735 735 } 736 736 else ··· 749 749 pt[10], pt[11],// uv 3 750 750 use_map, // usemap 751 751 colors, count); // chroma 752 - 752 + 753 753 return 0; 754 754 } 755 755 ··· 762 762 s32 h = duk_opt_int(duk, 3, TIC80_HEIGHT); 763 763 764 764 tic_mem* tic = (tic_mem*)getDukMachine(duk); 765 - 765 + 766 766 tic_api_clip(tic, x, y, w, h); 767 767 768 768 return 0; ··· 882 882 duk_context* duktape = machine->js; 883 883 884 884 if (duk_pcompile_string(duktape, 0, code) != 0 || duk_peval_string(duktape, code) != 0) 885 - { 886 - machine->data->error(machine->data->data, duk_safe_to_string(duktape, -1)); 885 + { 886 + machine->data->error(machine->data->data, duk_safe_to_stacktrace(duktape, -1)); 887 887 duk_pop(duktape); 888 888 return false; 889 889 } ··· 903 903 { 904 904 if(duk_get_global_string(duk, TIC_FN)) 905 905 { 906 - if(duk_pcall(duk, 0) != 0) 907 - machine->data->error(machine->data->data, duk_safe_to_string(duk, -1)); 906 + if(duk_pcall(duk, 0) != DUK_EXEC_SUCCESS) 907 + { 908 + machine->data->error(machine->data->data, duk_safe_to_stacktrace(duk, -1)); 909 + } 908 910 } 909 911 else machine->data->error(machine->data->data, "'function TIC()...' isn't found :("); 910 912 ··· 917 919 tic_machine* machine = (tic_machine*)tic; 918 920 duk_context* duk = machine->js; 919 921 920 - if(duk_get_global_string(duk, name)) 922 + if(duk_get_global_string(duk, name)) 921 923 { 922 924 duk_push_int(duk, row); 923 925 924 926 if(duk_pcall(duk, 1) != 0) 925 - machine->data->error(machine->data->data, duk_safe_to_string(duk, -1)); 927 + machine->data->error(machine->data->data, duk_safe_to_stacktrace(duk, -1)); 926 928 } 927 929 928 930 duk_pop(duk); ··· 941 943 tic_machine* machine = (tic_machine*)tic; 942 944 duk_context* duk = machine->js; 943 945 944 - if(duk_get_global_string(duk, OVR_FN)) 946 + if(duk_get_global_string(duk, OVR_FN)) 945 947 { 946 948 if(duk_pcall(duk, 0) != 0) 947 - machine->data->error(machine->data->data, duk_safe_to_string(duk, -1)); 949 + machine->data->error(machine->data->data, duk_safe_to_stacktrace(duk, -1)); 948 950 } 949 951 950 952 duk_pop(duk); ··· 1025 1027 printf("TODO: JS eval not yet implemented\n."); 1026 1028 } 1027 1029 1028 - static const tic_script_config JsSyntaxConfig = 1030 + static const tic_script_config JsSyntaxConfig = 1029 1031 { 1030 1032 .init = initJavascript, 1031 1033 .close = closeJavascript,