Mirror of the Vim source from https://github.com/vim/vim
Revisión | 31bff9be0a7730f36e7de4792fec0688f2fc7076 (tree) |
---|---|
Tiempo | 2006-05-06 06:18:03 |
Autor | vimboss |
Commiter | vimboss |
updated for version 7.0g04
@@ -8791,7 +8791,11 @@ | ||
8791 | 8791 | } |
8792 | 8792 | } |
8793 | 8793 | else if (*p == '&' || *p == '+') /* option */ |
8794 | + { | |
8794 | 8795 | n = (get_option_tv(&p, NULL, TRUE) == OK); |
8796 | + if (*skipwhite(p) != NUL) | |
8797 | + n = FALSE; /* trailing garbage */ | |
8798 | + } | |
8795 | 8799 | else if (*p == '*') /* internal or user defined function */ |
8796 | 8800 | { |
8797 | 8801 | n = function_exists(p + 1); |
@@ -8830,6 +8834,8 @@ | ||
8830 | 8834 | clear_tv(&tv); |
8831 | 8835 | } |
8832 | 8836 | } |
8837 | + if (*p != NUL) | |
8838 | + n = FALSE; | |
8833 | 8839 | |
8834 | 8840 | vim_free(tofree); |
8835 | 8841 | } |
@@ -19109,14 +19115,18 @@ | ||
19109 | 19115 | int n = FALSE; |
19110 | 19116 | |
19111 | 19117 | p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET, NULL); |
19112 | - if (p != NULL) | |
19118 | + nm = skipwhite(nm); | |
19119 | + | |
19120 | + /* Only accept "funcname", "funcname ", "funcname (..." and | |
19121 | + * "funcname(...", not "funcname!...". */ | |
19122 | + if (p != NULL && (*nm == NUL || *nm == '(')) | |
19113 | 19123 | { |
19114 | 19124 | if (builtin_function(p)) |
19115 | 19125 | n = (find_internal_func(p) >= 0); |
19116 | 19126 | else |
19117 | 19127 | n = (find_func(p) != NULL); |
19118 | - vim_free(p); | |
19119 | - } | |
19128 | + } | |
19129 | + vim_free(p); | |
19120 | 19130 | return n; |
19121 | 19131 | } |
19122 | 19132 |