]> granicus.if.org Git - vim/commitdiff
updated for version 7.0120 v7.0120
authorBram Moolenaar <Bram@vim.org>
Sat, 30 Jul 2005 22:45:36 +0000 (22:45 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 30 Jul 2005 22:45:36 +0000 (22:45 +0000)
runtime/doc/todo.txt
src/eval.c

index 656bb18560a7d91aefb78feca2cac6fc5b3a5a12..ac5f17f1ca494cc5abe39d7d9507416f783df2e5 100644 (file)
@@ -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
index 4e202f40444f0cc96ab7ad798627067af2a45ca5..596fa526cf5bc1e5657b255c6654a30307358658 100644 (file)
@@ -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 *