# HG changeset patch # User vimboss # Date 1122763536 0 # Node ID 3ffdc64af1e53617586ad0cf14e039cb6f1cad34 # Parent 01af1008a8d89554f4cb91e6a340534f334fdb9e updated for version 7.0120 diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 29 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -53,7 +53,6 @@ Awaiting response: the screen. - mblen(NULL, 0) also in Vim 6.3? -Implement printf("blah %d: %s", nr, str)? Use vim_snprintf code. PLANNED FOR VERSION 7.0: @@ -69,9 +68,10 @@ PLANNED FOR VERSION 7.0: First cleanup the Insert-mode completion. UI: - - Use 'wildmenu' kind of thing. - - Put the list of choices right under the place where they would be - inserted. + - At first: use 'wildmenu' kind of thing. + - Nicer: Display the list of choices right under the place where they + would be inserted in a kind of meny (use scrollbar when there are many + alternatives). Completion logic: Use 'coupler' option to list items that connect words. For C: ".,->". @@ -1628,7 +1628,6 @@ 8 Add functions: mapname({idx}, mode) return the name of the idx'th mapping. Patch by Ilya Sher, 2004 Mar 4. Return a list instead. - printf(format, arg, ..) How to prevent a crash??? char2hex() convert char string to hex string. attributes() return file protection flags "drwxrwxrwx" filecopy(from, to) Copy a file diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -1405,7 +1405,8 @@ call_vim_function(func, argc, argv, safe } /* - * Call some vimL function and return the result as a string + * Call vimL function "func" and return the result as a string. + * Returns NULL when calling the function fails. * Uses argv[argc] for the function arguments. */ void * @@ -1416,20 +1417,43 @@ call_func_retstr(func, argc, argv, safe) int safe; /* use the sandbox */ { typval_T rettv; - char_u *retval = NULL; + char_u *retval; if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL) return NULL; retval = vim_strsave(get_tv_string(&rettv)); - clear_tv(&rettv); - return retval; } -/* - * Call some vimL function and return the result as a list +#if defined(FEAT_COMPL_FUNC) || defined(PROTO) +/* + * Call vimL function "func" and return the result as a number. + * Returns -1 when calling the function fails. + * Uses argv[argc] for the function arguments. + */ + long +call_func_retnr(func, argc, argv, safe) + char_u *func; + int argc; + char_u **argv; + int safe; /* use the sandbox */ +{ + typval_T rettv; + long retval; + + if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL) + return -1; + + retval = get_tv_number_chk(&rettv, NULL); + clear_tv(&rettv); + return retval; +} +#endif + +/* + * Call vimL function "func" and return the result as a list * Uses argv[argc] for the function arguments. */ void *