Mercurial > vim
comparison src/userfunc.c @ 13004:41e46caf1030 v8.0.1378
patch 8.0.1378: autoload script sources itself when defining function
commit https://github.com/vim/vim/commit/3388d334572f9d65a603d09d75e363805d96c5d9
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 7 22:23:04 2017 +0100
patch 8.0.1378: autoload script sources itself when defining function
Problem: Autoload script sources itself when defining function.
Solution: Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro
Matsumoto, closes #2423)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 07 Dec 2017 22:30:06 +0100 |
parents | f7b2ecaeb79c |
children | 30f9a62f5f51 |
comparison
equal
deleted
inserted
replaced
13003:aa448f6b6dc5 | 13004:41e46caf1030 |
---|---|
1884 * "fudi.fd_di" set, "fudi.fd_newkey" == NULL | 1884 * "fudi.fd_di" set, "fudi.fd_newkey" == NULL |
1885 * s:func script-local function name | 1885 * s:func script-local function name |
1886 * g:func global function name, same as "func" | 1886 * g:func global function name, same as "func" |
1887 */ | 1887 */ |
1888 p = eap->arg; | 1888 p = eap->arg; |
1889 name = trans_function_name(&p, eap->skip, 0, &fudi, NULL); | 1889 name = trans_function_name(&p, eap->skip, TFN_NO_AUTOLOAD, &fudi, NULL); |
1890 paren = (vim_strchr(p, '(') != NULL); | 1890 paren = (vim_strchr(p, '(') != NULL); |
1891 if (name == NULL && (fudi.fd_dict == NULL || !paren) && !eap->skip) | 1891 if (name == NULL && (fudi.fd_dict == NULL || !paren) && !eap->skip) |
1892 { | 1892 { |
1893 /* | 1893 /* |
1894 * Return on an invalid expression in braces, unless the expression | 1894 * Return on an invalid expression in braces, unless the expression |