diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-13 21:24:06 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-13 21:24:06 +0200 |
commit | 0c6633a7ea50873ce8f0d744ea5758a1eb494010 (patch) | |
tree | 840bf61e338cecc6bfb8725faaf7a36c77bd09b0 | |
parent | 5f87b23229b1d5cc5bad4a263e513e72a91fe8ae (diff) | |
download | vim-0c6633a7ea50873ce8f0d744ea5758a1eb494010.zip |
updated for version 7.3.1187
Problem: "s:" is recognized but "<SID>" is not. (ZyX)
Solution: Translate "<SID>" like "s:".
-rw-r--r-- | src/eval.c | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/eval.c b/src/eval.c index 7e51a8a71..980d15e74 100644 --- a/src/eval.c +++ b/src/eval.c @@ -10976,21 +10976,22 @@ f_function(argvars, rettv) EMSG2(_("E700: Unknown function: %s"), s); else { - if (STRNCMP(s, "s:", 2) == 0) + if (STRNCMP(s, "s:", 2) == 0 || STRNCMP(s, "<SID>", 5) == 0) { char sid_buf[25]; + int off = *s == 's' ? 2 : 5; - /* Expand s: into <SNR>nr_, so that the function can also be - * called from another script. Using trans_function_name() would - * also work, but some plugins depend on the name being printable - * text. */ + /* Expand s: and <SID> into <SNR>nr_, so that the function can + * also be called from another script. Using trans_function_name() + * would also work, but some plugins depend on the name being + * printable text. */ sprintf(sid_buf, "<SNR>%ld_", (long)current_SID); rettv->vval.v_string = - alloc((int)(STRLEN(sid_buf) + STRLEN(s + 2) + 1)); + alloc((int)(STRLEN(sid_buf) + STRLEN(s + off) + 1)); if (rettv->vval.v_string != NULL) { STRCPY(rettv->vval.v_string, sid_buf); - STRCAT(rettv->vval.v_string, s + 2); + STRCAT(rettv->vval.v_string, s + off); } } else diff --git a/src/version.c b/src/version.c index ddc51d0fa..337bf308e 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1187, +/**/ 1186, /**/ 1185, |