Mercurial > vim
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 |