--- a/trunk/doc/todo.txt
+++ b/trunk/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  最近更新: 2010年8月
+*todo.txt*      For Vim version 7.3.  最近更新: 2011年5月
 
 
 		  VIM 参考手册	  by Bram Moolenaar
@@ -32,61 +32,366 @@
 							*known-bugs*
 ----------------------- 已知漏洞和当前工作 --------------------------
 
-":find e" completion, editing a file in the Vim source directory, 'path' set
-to "./proto", does not shorten ./proto/eval.pro, probably because of
-./proto/ex_eval.pro.
-
-Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
-
-Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
-
-CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
-2010 Aug 8)
-
-":command Print echo 'print'" works, but ":Print" doesn't.  Builtin Print
-should be overruled. (Aaron Thoma)
-
-GTK: drawing a double-width combining character over single-width characters
-doesn't look right. (Dominique Pelle, 2010 Aug 8)
-
-Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
-^M is displayed as ^J sometimes.  Getting 'ff' value from wrong window/buffer?
-
-Problem producing tags file when hebrew.frx is present.  It has a BOM.
-Results in E670. (Tony Mechelynck, 2010 May 2)
-
-setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
-
-Test 73 fails on MS-Windows when compiled with DJGPP and run twice.  How to
-delete the Xfind directory?  Add an rmdir() function, just like we have
-mkdir().
-
-'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
-
-":helpgrep" does not put the cursor in the correct column when preceded by
-accented character. (Tony Mechelynck, 2010 Apr 15)
-
-Echo starts in the wrong column:
-    while 1 | let s = input('A') | echo 'R' | endw
-(Boyko Bantchev, 2010 Aug 9)
-
-Patch: Let rare word highlighting overrule good word highlighting.
-(Jakson A. Aquino, 2010 Jul 30)
-
-Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
-
-":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
-
-Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
-Additional info by Dominique Pelle. (also on 2010 Apr 10)
-
-Is ~/bin (literally) in $PATH supposed to work?  (Paul, 2010 March 29)
-Looks like only bash can do it. (Yakov Lerner)
+Go through more coverity reports.
+
+Hong Xu: I think src/Make_ro.mak should also be removed.
+Two patches 2011 May 15
+
+Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
+
+Ex command ":s/ \?/ /g" splits multi-byte characters into bytes. (Dominique
+Pelle, 2011 May 7).
+
+In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
+Jun 1)
+Patch by Jean-Rene David, 2011 Apr 30.
+
+When "b" is a symlink to directory "a", resolve("b/") doesn't result in "a/".
+(ZyX, 2011 Feb 12)
+Patch by Jean-Rene David, 2011 Apr 30.
+
+Patch to set v:register default depending on "unnamed" in 'clipboard'. (Ingo
+Karkat, 2011 Jan 16)
+
+Patch to add 'cscoperelative'. (Raghavendra Prabhu, 2011 Apr 18)
+
+9   "} else" causes following lines to be indented too much. (Rouben
+    Rostamian, 2008 Aug 30)
+Patch by Lech Lorens, 2011 May 16, with more tests.
+
+New syntax file for dnsmasq. (Thilo Six, 2011 Apr 18)
+
+Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
+
+Patch for:
+    InsertCharPre   - user typed character Insert mode, before inserting the
+		      char.  Pattern is matched with text before the cursor.
+		      Set v:char to the character, can be changed.
+		      (not triggered when 'paste' is set).
+(Jakson A. Aquino, 2011 Jan 29)
+
+Patch for "No errors" showing up after QuickfixCmdPost. (Mike Lundy, 2011 Feb
+3)
+
+Patch for cmdline completion of ":lang".  (Dominique Pelle, 2011 Feb 5)
+
+Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
+Lepa, 2011 Jan 18)
+
+Patch to support ":!start /b cmd". (Xaizek, 2010 Dec 22)
+
+Patch for syntax "extend" not working correctly. (Ben Schmidt, 2011 May 15)
+
+Patch to build with GTK on Mac. (Ben Schmidt, 2011 Jan 18)
+Use another name instead of FEAT_GUI_ELSEWHERE.
+
+Patch for xxd makefile to avoid generating .dSYM files. (Ben Schmidt, 2011 Jan
+18)
+
+Patch to show sign for folded text. (Christian Brabandt, 2011 Jan 12)
+Method to reproduce it: Jan 16.
+
+Patch to improve optwin.vim. (ZyX, 2011 Jan 29)
+
+Patch for Python 3 support. (lilydjwg, 2011 Feb 24)
+
+Patch to make putting from clipboard linewise when the text ends in a newline.
+(Sung Pae)  Do we want this?
+
+Patch to add third dict argument to sort(). (ZyX, 2011 May 15)
+
+Building the MingW version without clipboard but with multi-byte doesn't
+work. (Bill Lam, 2010 Sep 18)
+
+Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
+2011 Mar 16)  Update Mar 24.
+
+Patch to disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka, 2010
+Nov 25)
+
+7   Output for ":scriptnames" and ":breaklist" should shorten the file names:
+    use "~/" when possible.
+Patch by Jean-Rene David, 2011 May 1.
+
+Patch for better #if 0 syntax highlighting for C code. (Ben Schmidt, 2011 Jan
+20)
+Change to C syntax folding to make it work much faster, but a bit less
+reliable. (Lech Lorens, 2009 Nov 9)  Enable with an option?
+Most time is spent in in_id_list().
+Updated to merge both patches. (Ben Schmidt, 2011 May 2)
+
+GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
+Update 2011 Feb 3.
+
+Patch to use pipes on Win32.  (Vincent Berthoux, 2011 Feb 28)
+Update Mar 1 using 'shelltemp'.
+
+Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
+Needs more work.
+
+"gh<Del>" deletes the current line, except when it's the last line.
+Hint by Christian Brabandt, 2011 Mar 22
+
+The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
+Compare with how old Vi works and with posix spec.  terminal is 80 x 24,
+'scroll' option set to 11.
+
+'cursorline' is displayed too short when there are concealed characters and
+'list' is set.  (Dennis Preiser)
+Patch 7.3.116 was the wrong solution.
+
+When opening file from windows explorer, characters inside [] cause
+problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
+
+Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
+
+Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
+Winckler, 2011 May 11)
+Use function to set paste option and restore it, use CTRL-R+ to paste.
+
+Help file foldexpr (ZyX)
+
+Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
+only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
+21, Ben Fritz, 2010 Sep 14)
+
+Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
+
+In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
+Mechelynck, 2011 Apr 25).  Can reproduce the crash sometimes:
+   gvim -N -u NONE --cmd 'set lines=99999 columns=99999'
+(gvim:25968): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
+The program 'gvim' received an X Window System error.
+This probably reflects a bug in the program.
+The error was 'RenderBadPicture (invalid Picture parameter)'.
+  (Details: serial 313 error_code 161 request_code 149 minor_code 8)
+  (Note to programmers: normally, X errors are reported asynchronously;
+   that is, you will receive the error a while after causing it.
+   To debug your program, run it with the --sync command line
+   option to change this behavior. You can then get a meaningful
+   backtrace from your debugger if you break on the gdk_x_error() function.)
+Check that number of pixels doesn't go above 65535?
 
 8   Add an event like CursorHold that is triggered repeatedly, not just once
     after typing something.
 Need for CursorHold that retriggers.  Use a key that doesn't do anything, or a
 function that resets did_cursorhold.
+Patch by Christian Brabandt, 2011 May 6.
+
+CursorHold repeats typed key when it's the start of a mapping.
+(Will Gray, 2011 Mar 23)
+Christian Brabandt: problem is that OP_PENDING isn't set.
+
+Windows keys not set properly on Windows 7?  (cncyber, 2010 Aug 26)
+
+This line hangs Vim, because of syntax HL:
+call append(line, "INFO  ....12....18....24....30....36....42....48....54....60....66....72....78%$")
+
+When using a Vim server, a # in the path causes an error message.
+(Jeff Lanzarotta, 2011 Feb 17)
+
+Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
+
+Using ":break" or something else that stops executing commands inside a
+":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
+15)
+
+Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
+
+On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
+64 bits value.  Change all number options to use nropt_T and define it to the
+right type.
+
+string() can't parse back "inf" and "nan".  Fix documentation or fix code?
+(ZyX, 2010 Aug 23)
+
+When doing "redir => s:foo" in a script and then "redir END" somewhere else
+(e.g. in a function) it can't find s:foo.
+
+maparg() does not show the <script> flag.  When temporarily changing a
+mapping, how to restore the script ID?
+
+Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
+Update Nov 19.  James Vega: still not right.  Christian: it's difficult.
+
+Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
+Also add named groups: \%{name}(re)  and \%{name}g
+
+Bug in try/catch: return with invalid compare throws error that isn't caught.
+(ZyX, 2011 Jan 26)
+
+Highlighting stops working after changing it many times.  Script to reproduce
+it: Pablo Contreras, 2010 Oct 12  Windows XP and 7.  Font is never freed?
+
+After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
+Also for another example (ZyX, 2011 Jan 24)
+
+Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
+
+"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
+
+Deleting a linewise selection that includes the last line of the file leaves
+an empty line. (Ben Schmidt, 2011 Mar 17)
+Patch by Christian Brabandt, 2011 Mar 19.
+
+Patch to support sorting on floating point number.  (Alex Jakushev, 2010 Oct
+30)
+
+When a script contains "redir => s:foo" but doesn't end redirection, a
+following "redir" command gives an error for not being able to access s:foo.
+(ZyX, 2011 Mar 27)
+
+Problem with "syn sync gouphere". (Gustavo Niemeyer, 2011 Jan 27)
+
+Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
+2010 Dec 18)
+
+In the sandbox it's not allowed to do many things, but it's possible to change
+or set variables.  Add a way to prevent variables from being changed in the
+sandbox?  E.g.: ":protect g:restore_settings".
+
+GTK: drawing a double-width combining character over single-width characters
+doesn't look right. (Dominique Pelle, 2010 Aug 8)
+
+GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
+
+Win32: tear-off menu does not work when menu language is German. (Markus
+Bossler, 2011 Mar 2)  Fixed by 7.3.095?
+
+Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
+
+7.3.014 changed how backslash at end of line works, but still get a NUL when
+there is one backslash. (Ray Frush, 2010 Nov 18)  What does the original ex
+do?
+
+Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov
+22)
+
+New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
+- move compflags to separate growarray?
+- instead of a regexp use a hashtable.  Expand '?', '*", '+'.  What would be
+  the maximum repeat for * and +?
+
+"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
+2011 Feb 27)
+
+Copy/paste between Vim and Google chrome doesn't work well for multi-byte
+characters. (Ben Haskell, 2010 Sep 17)
+When putting text in the cut buffer (when exiting) and conversion doesn't work
+properly, Prepend "ENC==={value of 'enc'}:" to the text and don't convert?
+Then it should at least work from Vim to Vim and in other applications it's
+clear why it doesn't work.
+
+Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
+^M is displayed as ^J sometimes.  Getting 'ff' value from wrong window/buffer?
+
+When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
+exit.  It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
+9)  Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
+
+g` not working correctly when using :edit.  It works OK when editing a file on
+the command line. (Ingo Karkat, 2011 Jan 25)
+
+Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
+crash? (Raiwil, 2010 Nov 17)
+
+Python: Adding line to buffer other than the current one doesn't work
+correctly. (Rozbujnik, 2010 Dec 19)
+
+Patch to add 'systemencoding', convert between 'encoding' and this for file
+names, shell commands and the like.  (Kikuchan, 2010 Oct 14)
+Assume the system converts between the actual encoding of the filesystem to
+the system encoding (usually utf-8).
+
+Problem producing tags file when hebrew.frx is present.  It has a BOM.
+Results in E670. (Tony Mechelynck, 2010 May 2)
+
+Ruby: ":ruby print $buffer.number" returns zero.
+
+setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
+
+7   The 'directory' option supports changing path separators to "%" to make
+    file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
+    Patch by Christian Brabandt, 2010 Oct 21.
+
+getpos()/setpos() don't include curswant.  getpos() could return a fifth
+element.  setpos() could accept an optional fifth element.
+Patch by Christian Brabandt, 2010 Sep 6.  Check that new argument is optional
+and that it's documented.
+
+With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
+2010 Oct 24)
+
+Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
+Alternative from Christian Brabandt. (2010 Sep 19)
+
+Messages in message.txt are highlighted as examples.
+
+When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
+Oct 22)  'isprint' is set to "@,161-255".
+
+Test 73 fails on MS-Windows when compiled with DJGPP and run twice.  How to
+delete the Xfind directory?  Add an rmdir() function, just like we have
+mkdir().
+
+":echo "\x85" =~# '[\u0085]'" returns 1 instead of 0. (ZyX, 2010 Oct 3)
+
+'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
+
+When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
+right away. (Samuel Ferencik, 2010 Dec 7)
+
+Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
+
+Using CompilerSet doesn't record where an option was set from.  E.g., in the
+gcc compiler plugin. (Gary Johnson, 2010 Dec 13)
+
+":helpgrep" does not put the cursor in the correct column when preceded by
+accented character. (Tony Mechelynck, 2010 Apr 15)
+
+Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
+setwinvar().
+
+Echo starts in the wrong column:
+    while 1 | let s = input('A') | echo 'R' | endw
+(Boyko Bantchev, 2010 Aug 9)
+
+Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
+
+When writing a file > 2Gbyte, the reported number of bytes is negative.
+(Antonio Colombo, 2010 Dec 18)
+
+Patch: Let rare word highlighting overrule good word highlighting.
+(Jakson A. Aquino, 2010 Jul 30)
+
+Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
+
+Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
+
+When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
+instead of one. (Constantin Pan, 2010 Sep 10)
+
+Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
+
+Patch to handle resizing when tab is opened, when at full size. (Yukihiro
+Nakadaira, 2010 Jan 6)
+
+Writing nested List and Dict in viminfo gives error message and can't be read
+back. (Yukihiro Nakadaira, 2010 Nov 13)
+
+Can 'undolevels' be a buffer-local option?  Helps for making big changes in
+one file only, set 'ul' to -1 only for that buffer.
+Patch by Christian Brabandt, 2010 Dec 17.  Needs test.
+
+Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
+Additional info by Dominique Pelle. (also on 2010 Apr 10)
+
+CreateFile and CreateFileW are used without sharing, filewritable() fails when
+the file was already open (e.g. script is being sourced).  Add FILE_SHARE_READ|
+FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
+
+Is ~/bin (literally) in $PATH supposed to work?  (Paul, 2010 March 29)
+Looks like only bash can do it. (Yakov Lerner)
 
 Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
 Jun 29)  Caused by 7.2.433?
@@ -112,11 +417,20 @@
 Find tail?  Might have a / in argument.  Find space?  Might have space in
 path.
 
+Test 51 fails when language set to German. (Marco, 2011 Jan 9)
+Dominique can't reproduc it.
+
 ":function f(x) keepjumps" creates a function where every command is executed
 like it has ":keepjumps" before it.
 
 Coverity: ask someone to create new user: Dominique.
 Check if there are new reported defects: http://scan.coverity.com/rung2.html
+
+Patch to support :undo absolute jump to file save number. (Christian Brabandt,
+2010 Nov 5)
+
+Patch to use 'foldnextmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
+Jan 7)
 
 When setting 'undofile' while the file is already loaded, but unchanged, try
 to read the undo file.  Requires computing a checksum of the text. (Andy
@@ -127,6 +441,10 @@
 
 Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
 
+With 'wildmode' set to "longest:full,full" and pressing Tab once the first
+entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
+Feb 12)
+
 Display error when 'tabline' that includes a file name with double-width
 characters. (2010 Aug 14, bootleq)
 
@@ -136,19 +454,24 @@
 mode. (Israel Chauca, 2010 May 13, more in second msg)
 Break undo when CTRL-R = changes the text?  Or save more lines?
 
-Change to C syntax folding to make it work much faster, but a bit less
-reliable. (Lech Lorens, 2009 Nov 9)  Enable with an option?
-Most time is spent in in_id_list().
-
 Slow combination of folding and PHP syntax highlighting.  Script to reproduce
 it.  Caused by "syntax sync fromstart" in combination with patch 7.2.274.
 (Christian Brabandt, 2010 May 27)
+Generally, folding with 'foldmethod' set to "syntax" is slow.  Do profiling to
+find out why.
 
 When completion inserts the first match, it may trigger the line to be folded.
 Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
 
-In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
-Jun 1)
+Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.  Works OK for
+echo, just not for  ":call" and ":call call()". (Ted, 2011 Mar 17)
+
+Cannot use getchar() inside :normal and using an expression mapping.  Is this
+supposed to work?  (XyX, 2010 Sep 22)
+
+When using an expression mapping with a multi-byte character each byte is
+converted to a utf-8 character. (ZyX, 2011 Jan 4)
+Patch for possible solution. (Yukihiro Nakadaira, 2011 Jan 5)
 
 When a:base in 'completefunc' starts with a number it's passed as a number,
 not a string. (Sean Ma)  Need to add flag to call_func_retlist() to force a
@@ -156,10 +479,16 @@
 
 There is no command line completion for ":lmap".
 
+":e ~br<Tab>" does not complete to ":e /home/bram/".  Would need to use
+getpwent() to find all the matches.
+
 Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
 
 For running gvim on an USB stick: avoid the OLE registration.  Use a command
 line argument -noregister.
+
+When using an expression in 'statusline' leading white space sometimes goes
+missing (but not always). (ZyX, 2010 Nov 1)
 
 When a mapping exists both for insert mode and lang-insert mode, the last one
 doesn't work. (Tyru, 2010 May 6)  Or is this intended?
@@ -180,7 +509,12 @@
 List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
 Are they all OK?  Update Jul 22.
 
+Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
+
 Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
+
+Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
+Sep 1)
 
 Putting a Visual block while 'visualedit' is "all" does not leave the cursor
 on the first character. (John Beckett, 2010 Aug 7)
@@ -269,6 +603,10 @@
 
 Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
 
+Support a 'systemencoding' option (for Unix).  It specifies the encoding of
+file names. (Kikuchan, 2010 Oct 5).  Useful on a latin1 or double-byte Asian
+system when 'encoding' is "utf-8".
+
 Win32: A --remote command that has a directory name starting with a ( doesn't
 work, the backslash is removed, assuming that it escapes the (. (Valery
 Kondakoff, 2009 May 13)
@@ -290,25 +628,23 @@
 Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
 (Felix Kater, 2009 Mar 3)
 
-maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
-These are needed to save and restore a mapping.
-Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
+Session file generates error upon loading, cause bu --remote-silent-tab.
+(7tommm (ytommm) 2010 Nov 24)
 
 Using ~ works OK on 'a' with composing char, but not on 0x0418  with composing
 char 0x0301. (Tony Mechelynck, 2009 Mar 4)
+
+A function on a dictionary is not profiled. (Zyx, 2010 Dec 25)
 
 Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
 messages, even though locale is not supported.  But ":lang messages
 es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
 2009 Jan 26)
 
-When $HOME contains special characters, sich as a comma, escape them when used
+When $HOME contains special characters, such as a comma, escape them when used
 in an option. (Michael Hordijk, 2009 May 5)
 Turn "esc" argument of expand_env_esc() into string of chars to be escaped.
 
-Can 'undolevels' be a buffer-local option?  Helps for making big changes in
-one file only, set 'ul' to -1 only for that buffer.
-
 Should make 'ignorecase' global-local, so that it makes sense setting it from
 a modeline.
 
@@ -326,6 +662,11 @@
 
 Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
 (Henrik Ohman, 2009, Jan 29)
+
+shellescape() depends on 'shellshash' for quoting.  That doesn't work when
+'shellslash' is set but using cmd.exe. (Ben Fritz)
+Use a different option or let it depend on whether 'shell' looks like a
+unix-like shell?
 
 Allow patches to add something to version.c, like with an official patch, so
 that :version output shows which patches have been applied.
@@ -375,11 +716,6 @@
 ":bufdo e" when buffers are open in windows.  ex_listdo(eap) could set the
 option only for when jumping to another buffer, not when the command argument
 is executed.
-
-Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
-11)  I can't reproduce it.  It's probably caused by a handle_drop() call
-in combination with autocommands that invoke a ":redraw" command.
-Another valgrind output Jun 30.
 
 ":pedit %" with a BufReadPre autocommand causes the cursor to move to the
 first line. (Ingo Karkat, 2008 Jul 1)  Ian Kelling is working on this.
@@ -410,9 +746,6 @@
 c.vim: XXX in a comment is colored yellow, but not when it's after "#if 0".
 (Ilya Dogolazky, 2009 Aug 7)
 
-Win32:  ":dis +" shows nothing, but "+p does insert text.  Problem with "* and
-"+ being the same thing?
-
 You can type ":w ++bad=x fname", but the ++bad argument is ignored.  Give an
 error message?  Or is this easy to implement?  (Nathan Stratton Treadway, 2008
 Aug 20)  This is in ucs2bytes(), search for 0xBF.  Using the ++bad argument is
@@ -426,6 +759,15 @@
 Win32: associating a type with Vim doesn't take care of space after a
 backslash? (Robert Vibrant, 2008 Jun 5)
 
+Win32: bold font doesn't work when 'guifontwide' has been set. (Yue Wu, 2010
+Aug 23)
+
+When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
+line.  It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
+
+Using an insert mode expression mapping, cursor is not in the expected
+position. (ZyX, 2010 Aug 29)
+
 After using <Tab> for command line completion after ":ta blah" and getting E33
 (no tags file), further editing the command to e.g., ":echo 'blah'", the
 command is not executed.  Fix by Ian Kelling?
@@ -439,9 +781,6 @@
 When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work
 either.  Matt Wozniski:  nv_at() calls do_execreg() which uses
 put_in_typebuf().  Char mapped twice?
-
-8   Some file systems are case-sensitive, some are not.  Turn
-    CASE_INSENSITIVE_FILENAME into an option, at least for completion.
 
 Despite adding save_subexpr() this still doesn't work properly:
 Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')
@@ -498,6 +837,9 @@
 Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
 changed or the window is resized.
 
+GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit"
+the window isn't redrawn properly, see two vertical bars.
+
 Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008
 Mar 5)  Alternative: Kazuki Sakamoto, Mar 7.
 
@@ -515,6 +857,12 @@
 result in no matches.  Convert chars to lower case? (Erik Wognsen, 2009 Apr
 16)
 
+Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
+Haskell, 2010 Aug 24)
+
+Fail to edit file after failed register access.  Error flag remains set?
+(Lech Lorens, 2010 Aug 30)
+
 Patch for redo register. (Ben Schmidt, 2007 Oct 19)
 Await response to question to make the register writable.
 
@@ -528,6 +876,8 @@
 each choice does.  Similar to  ":help swap-exists-choices"
 
 try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
+
+try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
 
 Recognize and ignore BOM in error file. (Aleksey Baibarin)
 
@@ -562,6 +912,10 @@
 
 Can't easily close the help window, like ":pc" closes the preview window and
 ":ccl" closes the quickfix window.  Add ":hclose". (Chris Gaal)
+Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
+
+Patch for :lmake not updating the quickfix window title. (Lech Lorens, 2011
+Mar 26)
 
 When 'diffopt' has "context:0" a single deleted line causes two folds to merge
 and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -590,6 +944,9 @@
 Asked about latest version: 0.77.1 is on www.vim.org.
 
 More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
+
+Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
+http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
 
 Insert mode completion: When editing the text and pressing CTRL-N again goes
 back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
@@ -645,6 +1002,9 @@
 However, for backwards compatibility escaping might be necessary.  Check if
 the user put quotes around the expanded item?
 
+A throw in a function causes missing an endif below the call. (Spiros
+Bousbouras, 2011 May 16)
+
 Error E324 can be given when a cron script has wiped out our temp directory.
 Give a clear error message about this (and tell them not to wipe out /tmp).
 
@@ -664,6 +1024,18 @@
 moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
 
 Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
+Latest version: 2011 May 18
+8   Windows install with NSIS: make it possible to do a silent install, see
+    http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
+    Version from Guopeng Wen that does this (2010 Dec 27)
+
+Windows installer: licence text should not use indent, causes bad word wrap.
+(Benjamin Fritz, 2010 Aug 16)
+
+Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
+makes his own wrapper).  Add a magic string with the version number to the
+.bat file and check for it in the uninstaller.  E.g.
+          # uninstall key: vim7.3*
 
 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
 2007 Feb 8)
@@ -720,9 +1092,6 @@
 Unfinished patch by Jelle Geerts, 2008 Aug 24.
 Let mch_avail_mem() return Kbyte instead?
 
-Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
-Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
-
 Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
 Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
 only takes 'shellslash' into account.
@@ -777,6 +1146,8 @@
 Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
 Needs more work.
 
+Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg)
+
 The need_fileinfo flag is messy.  Instead make the message right away and put
 it in keep_msg?
 
@@ -803,9 +1174,6 @@
 
 input() completion should not insert a backslash to escape a space in a file
 name?
-
-getpos()/setpos() don't include curswant.  getpos() could return a fifth
-element.  setpos() could accept an optional fifth element.
 
 Ruby completion is insecure.  Can this be fixed?
 
@@ -918,6 +1286,12 @@
 tree stops unexpectedly when using ":cd " and entering a directory that
 doesn't contain other directories.
 
+Setting 'background' resets the Normal background color:
+   highlight Normal ctermbg=DarkGray
+   set background=dark
+This is undesired, 'background' is supposed to tell Vim what the background
+color is, not reset it.
+
 Linux distributions:
 - Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
   known to Vim.  88 colors instead of 16 works better.  See ":help
@@ -986,6 +1360,9 @@
 Cursor line at bottom of window instead of halfway after saving view and
 restoring.  Only with 'nowrap'. (Robert Webb, 2008 Aug 25)
 
+Netrw has trouble executing autocommands only for a directory.  Add <isdir>
+and <notisdir> to autocommand patterns?  Also <isfile>?
+
 Add command modifier that skips wildcard expansion, so that you don't need to
 put backslashes before special chars, only for white space.
 
@@ -994,9 +1371,6 @@
 
 In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
 can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
-
-Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
-to the primary monitor. (Afton Lewis, 2007 Mar 9)  Old resizing problem?
 
 GTK: when the Tab pages bar appears or disappears while the window is
 maximized the window is no longer maximized.  Patch that has some idea but
@@ -1004,8 +1378,8 @@
 Also: the window may no longer fit on the screen, thus the command line is not
 visible.
 
-GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit"
-the window isn't redrawn properly, see two vertical bars.
+When right after "vim file", "M" then CTRL-W v the windows are scrolled
+differently and unexpectedly.  Caused by patch 7.2.398?
 
 The magic clipboard format "VimClipboard2" appears in several places.  Should
 be only one.
@@ -1068,9 +1442,6 @@
 VERASE key is Delete.  Set VERASE to Backspace? (patch by Stephane Chazelas,
 2007 Oct 16)
 
-When entering a C /* comment, after typing <Enter> for 70 times the indent
-disappears. (Vincent Beffara, 2008 Jul 3)
-
 TermResponse autocommand isn't always triggered when using vimdiff. (Aron
 Griffis, 2007 Sep 19)
 
@@ -1103,7 +1474,12 @@
 2010 Jun 30)
 
 
-补丁:
+下一发布版本:
+-   Rename src/Makefile and create a new one like toplevel Makefile that
+    creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
+
+
+更多补丁:
 -   Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
     Needs a few tests.
 -   Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
@@ -1142,7 +1518,6 @@
     No maintenance in two years...
 -   Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
 -   Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)
-
 
 等待补丁信息的更新:
 9   Mac unicode patch (Da Woon Jung, Eckehard Berns):
@@ -1322,9 +1697,18 @@
     the wide functions.
 8   On Windows 98 the unicows library is needed to support functions with UCS2
     file names.  Can we load unicows.dll dynamically?
+8   Win32: With two monitors, gvim partly on both, and adding/removing a
+    scrollbar Vim resizes and moves to one of the monitors. (Chris Monkiewicz,
+    2008 Oct)
 8   When the primary monitor is below or right of the secondary monitor and
     Vim is on the secondary monitor it will often move to the primary monitor.
     Window position coordinates can be negative. (James Harvey)
+    When the primary monitor is on the right, coordinates on the left monitor
+    are negative.  Clamping to zero means gvim jups to the primary monitor.
+    (Michael Wookey, 2010 Aug 17)
+    Probably the same issue: When the GUI tab pages line is displayed Vim
+    jumps from the secondary to the primary monitor. (Afton Lewis, 2007 Mar 9)
+    Possible solution using GetSystemMetrics() (Sergey Khorev, 2010 Aug 18)
 8   The -P argument doesn't work very well with many MDI applications.
     The last argument of CreateWindowEx() should be used, see MSDN docs.
     Tutorial: http://win32assembly.online.fr/tut32.html
@@ -1388,8 +1772,6 @@
     scroll?
 7   Scrollbar width doesn't change when selecting other windows appearance.
     Also background color of Toolbar and rectangle below vert. scrollbar.
-7   "!start /min cmd" should run in a minimized window, instead of using
-    "/min" as the command name. (Rogall)
 6   Drawing text transparently doesn't seem to work (when drawing part cursor).
 8   CTRL key doesn't always work in combination with ALT key.  It does work
     for function keys, not for alphabetic characters.  Perhaps this is because
@@ -1436,6 +1818,8 @@
 
 
 Athena GUI:
+9   The first event for any button in the menu or toolbar appears to get lost.
+    The second click on a menu does work.
 9   When dragging the scrollbar thumb very fast, focus is only obtained in
     the scrollbar itself.  And the thumb is no longer updated when moving
     through files.
@@ -1455,7 +1839,7 @@
 
 
 Motif GUI:
--   gui_mch_browsedir() is missing.
+-   gui_mch_browsedir() is missing, browsedir() doesn't work nicely.
 7   Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
     David Harrison says it's OK (it exists in Motif 1.2).
 8   Lesstif: When deleting a menu that's torn off, the torn off menu becomes
@@ -1486,7 +1870,7 @@
 8   When translating menus ignore the part after the Tab, the shortcut.  So
     that the same menu item with a different shortcut (e.g., for the Mac) are
     still translated.
-8   Add menu separators for Amiga, RISCOS.
+8   Add menu separators for Amiga.
 8   Add way to specify the file filter for the browse dialog.  At least for
     browse().
 8   Add dialog for search/replace to other GUIs?  Tk has something for this,
@@ -1665,33 +2049,17 @@
 
 Macintosh:
 -   GUI: gui_mch_browsedir() is missing.
-7   Patch to add 'transparency' option.  Disadvantage: it's slow. (Eckehard
-    Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
-    Needs more work.  Add when someone really wants it.
 7   Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
     Load the Perl library dynamically see Python sources file dynload_mac
     (Jack)
     dynamic linking: http://developer.apple.com/technotes/tn2002/tn2064.html
-8   Inputting Unicode characters does not work in the terminal.  They appear
-    to arrive as upper and lower bytes. (David Brown, 2004 April 17)
-8   Typing Unicode characters doesn't work at all in the GUI.
 8   inputdialog() doesn't resize when giving more text lines. (David Fishburn,
     2006 Sept 28)
-9   Problems in Carbon version for OS X: (Benji Fisher)
-    - keyboard shortcuts in the menus get lost.
-8   The Vim/About menu doesn't work.
-8   ":gui" doesn't fork.  Enabling the code in gui.c to fork causes a SEGV.
 8   Define vim_mkdir() for Macintosh.
 8   Define mch_writable() for Macintosh.
 9   When DiskLock is running, using a swap file causes a crash.  Appears to be
     a problem with writing a file that starts with a dot. (Giacalone)
-9   On G3 Mac, OS version 8, control strip causes characters messed up when
-    scrolling (CTRL-L cleans it up). (Benji Fisher)
-9   On G3 Mac, OS version 8, variable-speed scrolling doesn't work, after two
-    seconds of scrolling the screen freezes. (Benji Fisher)
 9   In mac_expandpath() check that handling of backslashes is done properly.
-8   Standard Mac shortcuts are missing.  (Amerige)
-8   Handling of non-fixed width fonts is wrong. (Amerige)
 
 
 "小" 问题:
@@ -1747,8 +2115,6 @@
 6   Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 8   Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
     ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
-7   Output for ":scriptnames" and ":breaklist" should shorten the file names:
-    use "~/" when possible.
 7   mb_off2cells() doesn't work correctly on the tail byte of a double-byte
     character. (Yasuhiro Matsumoto)  It should return 1 when used on a tail
     byte, like for utf-8.  Store second byte of double-byte in ScreenLines2[]
@@ -1775,13 +2141,6 @@
     works.
 8   A very long message in confirm() can't be quit.  Make this possible with
     CTRL-C.
-7   clip_x11_own_selection() uses CurrentTime, that is not allowed.  VNC X
-    server has a problem with this.  (Mark Waggoner) Remembering the timestamp
-    of events isn't always possible.  We don't get them in an xterm.  GTK
-    doesn't obtain the selection again when the timestamp differs, thus it
-    won't work for GTK anyway.
-8   When the clipboard isn't supported: ":yank*" gives a confusing error
-    message.  Specifically mention that the register name is invalid.
 8   "gf" always excludes trailing punctuation characters.  file_name_in_line()
     is currently fixed to use ".,:;!".  Add an option to make this
     configurable?
@@ -1795,8 +2154,6 @@
     is a multi-byte character.
 8   When appending to a file and 'patchmode' isn't empty, a backup file is
     always written, even when the original file already exists.
-7   When using "daw" on the last word in a file and this is a single letter,
-    nothing is deleted.  Should delete the letter and preceding white space.
 9   When getting focus while writing a large file, could warn for this file
     being changed outside of Vim.  Avoid checking this while the file is being
     written.
@@ -2046,6 +2403,9 @@
 -   Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
     are not on the boot disk.  This is caused by a wrong value of $HOMEDRIVE.
     This is a bug in XP, see MSKB article 818134.
+-   Win32, MS-Windows: expanding plugin/**/*.vim also picks up
+    dir/ctags.vim,v.  This is because the short file name is something like
+    "ctags~1.vim" and that matches the pattern.
 -   SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
     scroll bar for the "files" selection.  This is a problem in the Motif
     libraries, get a patch from Sun.
@@ -2171,8 +2531,6 @@
 
 
 对用户更友好:
-8   Windows install with NSIS: make it possible to do a silent install, see
-    http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
 8   Windows install with install.exe: Use .exe instead of .bat files for
     links, so that command line arguments are passed on unmodified? (Walter
     Briscoe)
@@ -2446,7 +2804,7 @@
     For Windows, the charset_pairs[] table could be used.  But how do we know
     if a font exists?
 -   Do keyboard conversion from 'termencoding' to 'encoding' with
-    convert_input() for Mac GUI and RiscOS GUI.
+    convert_input() for Mac GUI.
 -   Add mnemonics from RFC1345 longer than two characters.
     Support CTRL-K _{mnemonic}_
 7   In "-- INSERT (lang) --" show the name of the keymap used instead of
@@ -2587,9 +2945,6 @@
     colors.  And add colors, so that Green+Red becomes Yellow.
     E.g. for this html:
 	<B> bold text <I> italic+bold text </B> italic text </I>
-7   Wild idea: Not only set highlighting, but also change what is displayed
-    (e.g., remove characters, so that "<B>bold</B>" can be shown as "bold"):
-	:syn region boldstuff start="<B>" display="" end="</B>" display=""
 7   CTRL-] checks the highlight group for finding out what the tag is.
 7   Add an explanation how a list of words can be used to highlight misspelled
     words.
@@ -2712,6 +3067,10 @@
 				Patch by Ilya Sher, 2004 Mar 4.
 				Return a list instead.
 	char2hex()		convert char string to hex string.
+	crypt()			encrypt string
+	decrypt()		decrypt string
+	base64enc()		base 64 encoding
+	base64dec()		base 64 decoding
 	attributes()		return file protection flags "drwxrwxrwx"
 	filecopy(from, to)	Copy a file
 	shorten(fname)		shorten a file name, like home_replace()
@@ -2763,8 +3122,6 @@
     "command" would use <> notation.
     Does scratch buffer have a number?  Or re-use same number?
 7   Add function to generate unique number (date in milliseconds).
-7   Automatically load a function from a file when it is called.  Need an
-    option for the search path. (Sekera)
 
 
 健壮性:
@@ -2816,7 +3173,7 @@
     http://www.theregister.co.uk/content/4/22908.html. (Andre Pang)
 7   Check how performance of loading the wordlist can be improved (adding a
     lot of abbreviations).
-7   DOS console: Add t_DL support, to make scrolling faster.
+7   MS-DOS console: Add t_DL support, to make scrolling faster.
 7   Compile Ex commands to byte codes.  Store byte codes in a vim script file
     at the end, after "compiled:.  Make it look like a single comment line
     for old Vim versions.  Insert first line "Vim script compiled <timestamp>.
@@ -2949,7 +3306,7 @@
 
 
 滚动:
-8   Add "zm" command: scroll horizontally to put the cursor in the middle.
+8   Add "zy" command: scroll horizontally to put the cursor in the middle.
 6   Add option to set the overlap for CTRL-F and CTRL-B. (Garhi)
 -   extend 'scrollbind' option: 'scrollopt' words "search", "relative", etc..
     Also 'e'xecute some commands (search, vertical movements) in all bound
@@ -3095,7 +3452,7 @@
 
 
 GUI:
-8   Make inputdialog() work for Photon, Amiga, RiscOS.
+8   Make inputdialog() work for Photon, Amiga.
 -   <C--> cannot be mapped.  Should be possible to recognize this as a
     normal "-" with the Ctrl modifier.
 7   Implement ":popup" for other systems than Windows.
@@ -3185,8 +3542,6 @@
     CursorHold), go through the list once and cache the result for a specific
     buffer.  Invalidate the cache when adding/deleting autocommands or
     changing the buffer name.
-8   Add ScriptReadCmd event: used to load remote Vim scripts, e.g.
-    "vim -u http://mach/path/vimrc".
 7   Add TagJump event: do something after jumping to a tag.
 8   Add "TagJumpFile" autocommand: When jumping to another file for a tag.
     Can be used to open "main.c.gz" when "main.c" isn't found.
@@ -3208,9 +3563,9 @@
     handled (e.g., other font) (Ron Aaron)
 7   When trying to open a directory, trigger an OpenDirectory event.
 7   Add file type in front of file pattern: <d> for directory, <l> for link,
-    <x> for executable, etc.  <&xxx> for Risc OS.  With commas to separate
-    alternatives.  The autocommand is only executed when both the file type
-    AND the file pattern match. (Leonard)
+    <x> for executable, etc.  With commas to separate alternatives.  The
+    autocommand is only executed when both the file type AND the file pattern
+    match. (Leonard)
 5   Add option that specifies extensions which are to be discarded from the
     file name.  E.g. 'ausuffix', with ".gz,.orig".  Such that file.c.gz will
     trigger the "*.c" autocommands.  (Belabas)
@@ -3237,13 +3592,7 @@
     PreDirChanged/PostDirChanged
 		    - Before/after ":cd" has been used (for changing the
 		      window title)
-    BufReadAction   - replaces reading a file
-    BufWriteAction  - replaces writing a file
     ShutDown	    - when the system is about to shut down
-    InsertCharPre   - user typed character Insert mode, before inserting the
-		      char.  Pattern is matched with text before the cursor.
-		      Set v:char to the character, can be changed.
-		      (not triggered when 'paste' is set).
     InsertCharPost  - user typed a character in Insert mode, after inserting
 		      the char.
     BufModified	    - When a buffer becomes modified, or unmodified (for
@@ -3454,6 +3803,7 @@
 7   Use CTRL-G <count> to repeat what follows.  Useful for inserting a
     character multiple times or repeating CTRL-Y.
 -   Make 'revins' work in Replace mode.
+9   Can't use multi-byte characters for 'matchpairs'.
 7   Use 'matchpairs' for 'showmatch': When inserting a character check if it
     appears in the rhs of 'matchpairs'.
 -   In Insert mode (and command line editing?): Allow undo of the last typed
@@ -3473,12 +3823,10 @@
 
 
 'cindent'、'smartindent':
-9   ") :" confuses continuation line: (Colin Bennett, 2007 Dec 14)
-        cout << "a"
-                << ") :"
-                << "y";
-9   "} else" causes following lines to be indented too much. (Rouben
-    Rostamian, 2008 Aug 30)
+9   Wrapping a variable initialization should have extra indent:
+	char * veryLongName =
+		"very long string"
+    Also check if "cino=+10" is used correctly.
 8   Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
 8   Why are continuation lines outside of a {} block not indented?  E.g.:
 	long_type foo =
@@ -3715,21 +4063,14 @@
 8   Add a flag to ":abbrev" to eat the character that triggers the
     abbreviation.  Thus "abb ab xxx" and typing "ab<Space>" inserts "xxx" and
     not the <Space>.
-8   Allow mapping of CTRL-@ (anywhere in the LHS).
 8   Give a warning when using CTRL-C in the lhs of a mapping.  It will never
     (?) work.
 8   Add a way to save a current mapping and restore it later.  Use a function
     that returns the mapping command to restore it: mapcmd()?  mapcheck() is
     not fool proof.  How to handle ambiguous mappings?
 7   Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
-7   Allow mapping "Q" and "Q}" at the same time.  Need to put a flag with "Q",
-    that it needs an extra character before it can match.  See Vile 'maplonger'
-    option.
 7   When someone tries to unmap with a trailing space, and it fails, try
     unmapping without the trailing space.  Helps for ":unmap xx | unmap yy".
-7   Make it possible to map 'wildchar', but only when it's a special character
-    (like CTRL-E).  Currently it's only recognized when typed.  Useful for
-    mapping a key to do something and then completion.
 6   Context-sensitive abbreviations: Specify syntax group(s) in which the
     abbreviations are to be used.
 -   Add mappings that take arguments.  Could work like the ":s" command.  For
@@ -3741,12 +4082,9 @@
     :map q<Char>	    :s/<Char>/\u\0/g
     Or implicit:
     :map q			<Register>d<Number>$
--   Make it possible to include a <Nul> in the lhs and rhs of a mapping.
 -   Add command to repeat a whole mapping ("." only repeats the last change in
     a mapping).  Also: Repeat a whole insert command, including any mappings
     that it included.  Sort-of automatic recording?
--   Add an option to ":map" that makes it display the special keys in
-    <> notation (e.g. <CR> instead of ^M).  Or just always do this?
 -   Include an option (or flag to 'cpoptions') that makes errors in mappings
     not flush the rest of the mapping (like nvi does).
 -   Use context sensitiveness of completion to switch abbreviations and
@@ -3794,6 +4132,8 @@
     Use "&/" for searching the text in the Visual area?
 9   Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
     matching text.
+8   Add a modifier to interpret a space like "\_s\+" to make it much easier to
+    search for a phrase.
 8   Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)".  \@g stands
     for "go recursive here" and \@( \) marks the recursive part.
     Perl does it this way:
@@ -3990,6 +4330,9 @@
     should then mean the number of the last buffer.  E.g.: "4,$bdel".
 7   Add an option to mostly use slashes in file names.  Separately for
     internal use and for when executing an external program?
+8   Some file systems are case-sensitive, some are not.  Besides
+    'wildignorecase' there might be more parts inside
+    CASE_INSENSITIVE_FILENAME that are useful on Unix.
 
 
 交换 (.swp) 文件:
@@ -4174,6 +4517,7 @@
 二合字母:
 7   Make "ga" show the digraph for a character, if it exists.
     Also the keymap?
+    Also show the code of the character after conversion to 'filenecoding'.
 -   Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
     below/above).
 -   Use digraph table to tell Vim about the collating sequence of special
@@ -4193,8 +4537,6 @@
 8   'backupskip' doesn't write a backup file at all, a bit dangerous for some
     applications.  Add 'backupelsewhere' to write a backup file in another
     directory?  Or add a flag to 'backupdir'?
-7   The 'directory' option supports changing path separators to "%" to make
-    file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
 6   Add an option to write a new, numbered, backup file each time.  Like
     'patchmode', e.g., 'backupmode'.
 6   Make it possible to write 'patchmode' files to a different directory.
@@ -4293,6 +4635,8 @@
 
 
 其他改进:
+9   Python: be able to define a Python function that can be called directly
+    from Vim script.  Requires converting the arguments and return value.
 8   ":sign unplace * file={filename}" should work.  Also: ":sign unplace *
     buffer={bufnr}".  So one can remove all signs for one file/buffer.
 7   Add plugins for formatting?  Should be able to make a choice depending on
@@ -4312,6 +4656,8 @@
 7   Instead of filtering errors with a shell script it should be possible to
     do this with Vim script.  A function that filters the raw text that comes
     from the 'makeprg'?
+9   Add %F to 'errorformat': file name without spaces.  Useful on Unix to
+    avoid matching something up to a time 11:22:33.
 -   Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
     Govindachar)
 7   Add a command that goes back to the position from before jumping to the
@@ -4388,6 +4734,8 @@
 3   Make "2d%" work like "d%d%" instead of "d2%"?
 7   "g CTRL-O" jumps back to last used buffer.	Skip CTRL-O jumps in the same
     buffer.  Make jumplist remember the last ten accessed buffers?
+7   Make it possible to set the size of the jumplist (also to a smaller number
+    than the default). (Nikolai Weibull)
 -   Add code to disable the CAPS key when going from Insert to Normal mode.
 -   Set date/protection/etc. of the patchfile the same as the original file.
 -   Use growarray for termcodes[] in term.c
@@ -4396,7 +4744,7 @@
     (like "v" makes the operator characterwise-exclusive).  "x" could be used.
 -   Make a set of operations on list of names: expand wildcards, replace home
     dir, append a string, delete a string, etc.
--   Remove mktemp() and use tmpname() only?  Ctags does this.
+-   Remove using mktemp() and use tmpname() only?  Ctags does this.
 -   When replacing environment variables, and there is one that is not set,
     turn it into an empty string?  Only when expanding options? (Hiebert)
 -   Option to set command to be executed instead of producing a beep (e.g. to
@@ -4481,7 +4829,6 @@
     expanded.  Is there a better way to do this?
 -   Add ":@!" command, to ":@" like what ":source!" is to ":source".
 8   Add ":@:!": repeat last command with forceit set.
--   Should be possible to write to a device, e.g. ":w! /dev/null".
 -   Add 't_normal': Used whenever t_me, t_se, t_ue or t_Zr is empty.
 -   ":cab map test ^V| je", ":cunab map" doesn't work.	This is vi compatible!
 -   CTRL-W CTRL-E and CTRL-W CTRL-Y should move the current window up or down
@@ -4559,9 +4906,6 @@
 -   ":split file1 file2" adds two more windows (Webb).
 -   Don't give message "Incomplete last line" when editing binary file.
 -   Add ":a", ":i" for preloading of named buffers.
--   Allow autowrite when doing ":e file" (with an option 'eaw').
--   Allow a "+command" argument before each file name in the Vim command line:
-    "vim +123 file1 +234 file2 +345 file3". ???
 -   When entering text, keep other windows on same buffer updated (when a line
     entered)?
 -   Check out how screen does output optimizing.  Apparently this is possible
@@ -4635,8 +4979,6 @@
     working in another window.  Put cmdline in a separate window?
 -   Add possibility to put output of Ex commands in a buffer or file, e.g. for
     ":set all".  ":r :set all"?
--   'edit' option: When off changing the buffer is not possible (Really
-    read-only mode).
 -   When the 'equalalways' option is set, creating a new window should not
     result in windows to become bigger.  Deleting a window should not result in
     a window to become smaller (Webb).