Mercurial > vim
comparison src/proto/vim9compile.pro @ 20528:489cb75c76b6 v8.2.0818
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Commit: https://github.com/vim/vim/commit/822ba24743af9ee1b5e7f656a7a61a38f3638bca
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 24 23:00:18 2020 +0200
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem: Vim9: using a discovery phase doesn't work well.
Solution: Remove the discovery phase, instead compile a function only when
it is used. Add :defcompile to compile def functions earlier.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 24 May 2020 23:15:04 +0200 |
parents | 7587d892c00c |
children | cb4831fa7e25 |
comparison
equal
deleted
inserted
replaced
20527:37ac4c5b4d27 | 20528:489cb75c76b6 |
---|---|
7 int get_script_item_idx(int sid, char_u *name, int check_writable); | 7 int get_script_item_idx(int sid, char_u *name, int check_writable); |
8 imported_T *find_imported(char_u *name, size_t len, cctx_T *cctx); | 8 imported_T *find_imported(char_u *name, size_t len, cctx_T *cctx); |
9 char_u *to_name_const_end(char_u *arg); | 9 char_u *to_name_const_end(char_u *arg); |
10 int assignment_len(char_u *p, int *heredoc); | 10 int assignment_len(char_u *p, int *heredoc); |
11 int check_vim9_unlet(char_u *name); | 11 int check_vim9_unlet(char_u *name); |
12 int add_def_function(ufunc_T *ufunc); | 12 int compile_def_function(ufunc_T *ufunc, int set_return_type, cctx_T *outer_cctx); |
13 void compile_def_function(ufunc_T *ufunc, int set_return_type, cctx_T *outer_cctx); | |
14 void delete_instr(isn_T *isn); | 13 void delete_instr(isn_T *isn); |
15 void delete_def_function(ufunc_T *ufunc); | 14 void delete_def_function(ufunc_T *ufunc); |
16 void free_def_functions(void); | 15 void free_def_functions(void); |
17 /* vim: set ft=c : */ | 16 /* vim: set ft=c : */ |