# HG changeset patch # User vimboss # Date 1134504548 0 # Node ID b9975513fe244047a60acc818edd8de94935cc28 # Parent e612bbdb670fca81a9f927be7c16bf44e8314538 updated for version 7.0169 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 Dec 12 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,14 +30,6 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -Patch from Yasuhiro Matsumoto: ":e ++enc=xxx" keeps encoding for conversion -errors and illegal bytes. Make default to replace bad bytes/characters with -'?' and allow for two alternatives: - :e ++enc=xxx ++bad=keep foo.txt - :e ++enc=xxx ++bad=drop foo.txt - :e ++enc=xxx ++bad=? foo.txt -(patch 6 December) - ml_get error with specific vimrc and lots of plugins. (Tomi Mickelsson) Win32: preserve the hidden attribute of the viminfo file. @@ -55,6 +47,7 @@ ccomplete: characters, advance to the first match instead of removing the popup menu. If there is no match remove the selection. (Yegappan Lakshmanan) - Complete the longest common match instead of the first match? + For all kinds of completions? Configurable? - !_TAG_FILE_FORMAT and it's ilk are listed in the global completions - When completing something that is a structure, add the "." or "->". - When a typedef or struct is local to a file only use it in that file? diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 12 +*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -440,6 +440,16 @@ Ex command modifiers: ~ |:sandbox| Execute a command in the sandbox. +Ex command arguments: ~ + +|++bad| Specify what happens with characters that can't be + converted and illegal bytes. (code example by Yasuhiro + Matsumoto) + Also, when a conversion error occurs or illegal bytes + are found include the line number in the error + message. + + New and extended functions: ~ |add()| append an item to a List diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -15712,6 +15712,8 @@ set_cmdarg(eap, oldarg) # ifdef FEAT_MBYTE if (eap->force_enc != 0) len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; + if (eap->bad_char != 0) + len += (unsigned)STRLEN(eap->cmd + eap->bad_char) + 7; # endif newval = alloc(len + 1); @@ -15731,6 +15733,9 @@ set_cmdarg(eap, oldarg) if (eap->force_enc != 0) sprintf((char *)newval + STRLEN(newval), " ++enc=%s", eap->cmd + eap->force_enc); + if (eap->bad_char != 0) + sprintf((char *)newval + STRLEN(newval), " ++bad=%s", + eap->cmd + eap->bad_char); # endif vimvars[VV_CMDARG].vv_str = newval; return oldval; diff --git a/src/ex_cmds.h b/src/ex_cmds.h --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -996,9 +996,10 @@ struct exarg int amount; /* number of '>' or '<' for shift command */ int regname; /* register name (NUL if none) */ int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */ - int force_ff; /* forced 'fileformat' (index in cmd[]) */ + int force_ff; /* ++ff= argument (index in cmd[]) */ #ifdef FEAT_MBYTE - int force_enc; /* forced 'encoding' (index in cmd[]) */ + int force_enc; /* ++enc= argument (index in cmd[]) */ + int bad_char; /* ++bad= argument (index in cmd[]) */ #endif #ifdef FEAT_USR_CMDS int useridx; /* user command index */