comparison src/ex_docmd.c @ 20538:9f921ba86d05 v8.2.0823

patch 8.2.0823: Vim9: script reload test is disabled Commit: https://github.com/vim/vim/commit/25e0f5863e9010a75a1ff0d04e8f886403968755 Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 25 22:36:50 2020 +0200 patch 8.2.0823: Vim9: script reload test is disabled Problem: Vim9: script reload test is disabled. Solution: Compile a function in the context of the script where it was defined. Set execution stack for compiled function. Add a test that an error is reported for the right file/function.
author Bram Moolenaar <Bram@vim.org>
date Mon, 25 May 2020 22:45:03 +0200
parents 8fa783f2c69c
children 501b72481d0a
comparison
equal deleted inserted replaced
20537:cceaa5ec43aa 20538:9f921ba86d05
632 char_u *fname = NULL; // function or script name 632 char_u *fname = NULL; // function or script name
633 linenr_T *breakpoint = NULL; // ptr to breakpoint field in cookie 633 linenr_T *breakpoint = NULL; // ptr to breakpoint field in cookie
634 int *dbg_tick = NULL; // ptr to dbg_tick field in cookie 634 int *dbg_tick = NULL; // ptr to dbg_tick field in cookie
635 struct dbg_stuff debug_saved; // saved things for debug mode 635 struct dbg_stuff debug_saved; // saved things for debug mode
636 int initial_trylevel; 636 int initial_trylevel;
637 struct msglist **saved_msg_list = NULL; 637 msglist_T **saved_msg_list = NULL;
638 struct msglist *private_msg_list; 638 msglist_T *private_msg_list;
639 639
640 // "fgetline" and "cookie" passed to do_one_cmd() 640 // "fgetline" and "cookie" passed to do_one_cmd()
641 char_u *(*cmd_getline)(int, void *, int, int); 641 char_u *(*cmd_getline)(int, void *, int, int);
642 void *cmd_cookie; 642 void *cmd_cookie;
643 struct loop_cookie cmd_loop_cookie; 643 struct loop_cookie cmd_loop_cookie;
1236 * commands are executed. 1236 * commands are executed.
1237 */ 1237 */
1238 if (did_throw) 1238 if (did_throw)
1239 { 1239 {
1240 void *p = NULL; 1240 void *p = NULL;
1241 struct msglist *messages = NULL, *next; 1241 msglist_T *messages = NULL, *next;
1242 1242
1243 /* 1243 /*
1244 * If the uncaught exception is a user exception, report it as an 1244 * If the uncaught exception is a user exception, report it as an
1245 * error. If it is an error exception, display the saved error 1245 * error. If it is an error exception, display the saved error
1246 * message now. For an interrupt exception, do nothing; the 1246 * message now. For an interrupt exception, do nothing; the