summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-07-30 22:45:36 +0000
committerBram Moolenaar <Bram@vim.org>2005-07-30 22:45:36 +0000
commit25ceb2274727c22bed19fda2f64eeaea38518d80 (patch)
treed6f7fcee7fe4d11c9f58e7d54310e5c83b722823
parent5a8684e7821a35e371b845b60699df527a855a9f (diff)
updated for version 7.0120v7.0120
-rw-r--r--runtime/doc/todo.txt11
-rw-r--r--src/eval.c32
2 files changed, 33 insertions, 10 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 656bb18560..ac5f17f1ca 100644
--- 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 @@ Built-in script language:
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
index 4e202f4044..596fa526cf 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1405,7 +1405,8 @@ call_vim_function(func, argc, argv, safe, rettv)
}
/*
- * 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;
+}
+#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 some vimL function and return the result as a list
+ * Call vimL function "func" and return the result as a list
* Uses argv[argc] for the function arguments.
*/
void *