]> granicus.if.org Git - vim/commitdiff
updated for version 7.0169 v7.0169
authorBram Moolenaar <Bram@vim.org>
Tue, 13 Dec 2005 20:09:08 +0000 (20:09 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 13 Dec 2005 20:09:08 +0000 (20:09 +0000)
runtime/doc/todo.txt
runtime/doc/version7.txt
src/eval.c
src/ex_cmds.h

index 821c47e4b67dd0a88dcd262c2fe1a95781a6ccae..c0030b0ab9483798fc46bbe386837c85abb18493 100644 (file)
@@ -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 Vim development.  See |sponsor|.
                                                        *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?
index ead361823a85009be046f85fdf3ca156d35032a7..c598635a1367c27380ccfc6c639e291a0e51c7d5 100644 (file)
@@ -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
index fe3c5a7ad95a1d47164b218f23fb9782272283ad..fb8e005868ab078ee99598b5dd6989a47d34a6d9 100644 (file)
@@ -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;
index c5adaeb1bf69acf2eb0af5ec8d57bf382e4ac610..87c9e6a232b5ab8ca90707b8ab4f24f2b9db6cff 100644 (file)
@@ -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 */