Mercurial > vim
diff src/ex_getln.c @ 13:24d5189d3956
updated for version 7.0005
author | vimboss |
---|---|
date | Sat, 03 Jul 2004 16:05:59 +0000 |
parents | 4e2284e71352 |
children | 631143ac4a01 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3974,6 +3974,7 @@ ExpandUserDefined(xp, regmatch, num_file char_u num[50]; garray_T ga; int save_current_SID = current_SID; + struct cmdline_info save_ccline; if (xp->xp_arg == NULL || xp->xp_arg[0] == '\0') return FAIL; @@ -3987,9 +3988,17 @@ ExpandUserDefined(xp, regmatch, num_file args[1] = ccline.cmdbuff; args[2] = num; + /* Save the cmdline, we don't know what the function may do. */ + save_ccline = ccline; + ccline.cmdbuff = NULL; + ccline.cmdprompt = NULL; current_SID = xp->xp_scriptID; + all = call_vim_function(xp->xp_arg, 3, args, FALSE); + + ccline = save_ccline; current_SID = save_current_SID; + ccline.cmdbuff[ccline.cmdlen] = keep; if (all == NULL) return FAIL;