*todo.txt* For Vim version 7.3. Last change: 2013 Feb 06 VIM REFERENCE MANUAL by Bram Moolenaar TODO list for Vim *todo* This is a veeeery long list of known bugs, current work and desired improvements. To make it a little bit accessible, the items are grouped by subject. In the first column of the line a classification is used to be able to look for "the next thing to do": Priority classification: 9 next point release 8 next release 7 as soon as possible 6 soon 5 should be included 4 nice to have 3 consider including 2 maybe not 1 probably not - unclassified *votes-for-changes* See |develop.txt| for development plans. You can vote for which items should be worked on, but only if you sponsor Vim development. See |sponsor|. Issues can also be entered online: http://code.google.com/p/vim/issues/list Updates will be forwarded to the vim_dev maillist. Issues entered there will not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- Substitute with confirmation and then "q" does not replace anything. (John McGowan) Download counter for scripts no longer incremented? Looks like it. Several syntax file match "^\s*" which may get underlined if that's in the highlight group. Add a "\zs" after it? Go through more coverity reports. Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) Checking runtime scripts: Thilo Six, 2012 Jun 6. Patch for doc indenting. (Ken Takata, Feb 4) GTK: problem with 'L' in 'guioptions' changing the window width. (Aaron Cornelius, 2012 Feb 6) Configure change to detect Lua 5.2. (lilydjwg, 2013 Jan 31) Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3. Patch to avoid warnings in Perl code. (Christian Brabandt, 2013 Jan 30) The " mark is not updated for lines inserted above it. (Roland Eggner, 2013 Feb 5) Look into patch to add 'linenumber' option. (Nazri Ramliy, 2013 Feb 4) Another patch for Python threads, 2 and 3. (Ken Takata, 2013 Jan 31) Does this really work? Patch for 'relativenumber' being reset unexpectedly. (Christian Brabandt, 2013 Feb 1) Tests Feb 2. Patch to avoid useless compare. (Hayaki Saito, 2013 Feb 2) The CompleteDone autocommand needs some info passed to it: - The word that was selected (empty if abandoned complete) - Type of completion: tag, omnifunc, user func. Patch to make multibyte input work on Win32 console when codepage differs from 'encoding'. (Ken Takata, 2012 Sep 29) Patch for building with Ruby and Cygwin. (Ken Takata, 2013 Jan 9) Patch to make 'relativenumber' show the current lnum instead of zero. (Nazri Ramliy, 2013 Jan 29) It's possible to define an input() function that overrides the built-in one. (ZyX, 2012 Sep 28) Patch to add sha256() function. (Tyru, 2013 Jan 8) Test by Higashi, 2013 Feb 2. All together (tyru, 2013 Feb 5) Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12) Win32: When a directory name contains an exclamation mark, completion doesn't complete the contents of the directory. No escaping for the "!"? (Jan Stocker, 2012 Jan 5) Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15) Sutcliffe says it works well. Update 2007 May 22 for Vim 7.1 Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov) Update by Ken Takata (2012 Dec 31, 2013 Jan 4, 2013 Jan 26) Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22) Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23. Patch to add default value to getbufvar() et al. (Shougo Matsushita, Hirohito Higashi, 2013 Jan 1) Problem caused by patch 7.3.638: window->open does not update window correctly. Issue 91. Patch to fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26) Do allow real tags above the !_TAG entries. Undo older patch. Issue 90. Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep 28) With tests: Oct 9. Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec) Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option. (Yukihiro Nakadaira, 2012 Aug 16) Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18) Issue 54: document behavior of -complete, also expands arg. New syntax files for apt. (quidame, 2012 Sep 21) 'ff' is wrong for one-line file without EOL. (Issue 77) Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30, then Sep 1, reminder Oct 14) Issue 72: 'autochdir' causes problems for :vimgrep. Undo problem: line not removed as expected when using setline() from Insert mode. (Israel Chauca, 2010 May 13, more in second msg) Break undo when CTRL-R = changes the text? Or save more lines? Patch by Christian Brabandt, 2012 Nov 16. In the ATTENTION message about an existing swap file, mention the name of the process that is running. It might actually be some other program, e.g. after a reboot. MS-Windows: Crash opening very long file name starting with "\\". (Christian Brock, 2012 Jun 29) It's probably a good idea to make a negative value for 'sts' use the value of 'sw'. Patch by So8res, Oct 3 2012 patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6) Syntax update problem in one buffer opened in two windows, bottom window is not correctly updated. (Paul Harris, 2012 Feb 27) Patch to add assignments in cscope. (Uli Meis, Estabrooks, 2012 Sep 1) Alternate patch by Gary Johnson, Sep 4. Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4. Or use expand('')? Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9) Patch to add functions for signs. (Christian Brabandt,, 2013 Jan 27) Patch to use directX to draw text on Windows. Adds the 'directx' option. (Taro Muraoka, 2013 Jan 25) b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan 7) Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers, 2012 Aug 4) Patch to improve equivalence classes in regexp patterns. (Christian Brabandt, 2013 Jan 16, update Jan 17) Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24) But use Gnome instead of GTK? Should be possible to enable/disable matchparen per window or buffer. Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin Szamotulski, 2012 Nov 8) Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott, 2012 Aug 11) Disallow :new when BufUnload is being handled? MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29. Update Aug 31. Another patch for MingW, 2012 Dec 29. MS-Windows resizing problems: - Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun 20. Uses getWindowRect() instead of GetWindowPlacement() - Win32: When the taskbar is at the top of the screen creating the tabbar causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan 12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2) 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23) Help for b:undo_indent'. (Thilo Six, 2012 May 28) Also question if examples are correct. It should be possible to make globpath() return a list instead of a string, like with glob(). (Greg Novack, 2012 Nov 2) The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O. Suggestion for another map. (Philip Mat, 2012 Jun 18) But use "gi" instead of "a". Or use CTRL-\ CTRL-O. Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012 Aug 16) Have an option for spell checking to not mark any Chinese, Japanese or other double-width characters as error. Or perhaps all characters above 256. (Bill Sun) Helps a lot for mixed Asian and latin text. When there are no command line arguments ":next" and ":argu" give E163, which is confusing. Should say "the argument list is empty". URXVT: - will get stuck if byte sequence does not contain the expected semicolon. - Use urxvt mouse support also in xterm. Explanations: http://www.midnight-commander.org/ticket/2662 MS-Windows: test 17 fails. Analysis by Michael Soyka, 2012 Nov 5. Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns) New tests Jul 13. Update Jul 17. Discussion Jul 18. When running Vim in silent ex mode, an existing swapfile causes Vim to wait for a user action without a prompt. (Maarten Billemont, 2012 Feb 3) Do give the prompt? Quit with an error? Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope, 2012 Mar 21, update Mar 31) With fix for memory leak: Ken Takata, 2012 Aug 24 Another update Sep 24. Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14) Patch for input method status. (Hirohito Higashi, 2012 Apr 18) Patch to print the result of a :python command. (Maxim Philippov , 2012 Aug 16) Update Aug 17. Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17) Patch Sep 18. Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira, 2012 Jul 20) Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27) And one for gui_x11.txt. - Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30) Version for latest MacVim: Tobia Conforto, 2009 Nov 23 More recent version: https://retracile.net/wiki/VimBreakIndent Posted to vim-dev by Taylor Hedberg, 2011 Nov 25 Problem with starting Visual block mode with :norm when 'virtualedit' is set. (David glts, 2012 Jun 5) ":cd" doesn't work when current directory path contains "**". finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10) Requires a rewrite of the file_file_in_path code. Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21) Should use has("browsefilter") in ftplugins. Requires patch 7.3.593. Issue 48: foldopen error can't be caught by try/catch "dg_" deletes including the last character, "d:normal! g_" doesn't. (Nomen Nescio, 2012 Jun 27) Patch to sort functions starting with '<' after others. Omit dict functions, they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11) Patch to pass list to or(), and() and xor(). (Yasuhiro Matsumoto, 2012 Feb 8) Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011 Nov 20) Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26) Update Jun 2. Patch to add ":py3do". (Lilydjwg, 2012 Apr 7) `] moves to character after insert, instead of the last inserted character. (Yukihiro Nakadaira, 2011 Dec 9) Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29) Updated syntax file for ssh_config, maintainer doesn't respond. (Leonard Ehrenfried, 2011 Sep 26) BufWinLeave triggers too late when quitting last window in a tab page. (Lech Lorens, 2012 Feb 21) Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17) Only for MS-Windows. No documentation. Do we want this? Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27) Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1) Needs more work. Pinged 2012 Jan 4. Issue 64: when 'incsearch' is on can't paste LF on command line. On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz, 2012 Jun 19) 'cursorline' is displayed too short when there are concealed characters and 'list' is set. (Dennis Preiser) Patch 7.3.116 was the wrong solution. Christian Brabandt has another incomplete patch. (2011 Jul 13) With concealed text mouse click doesn't put the cursor in the right position. (Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly, need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called. 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) 'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt, 2012 Apr 2. 'cursorline' works on a text line only. Add 'cursorscreenline' for highlighting the screen line. (Christian Brabandt, 2012 Mar 31) Win32: Does building a 64 bit version with VC9 give warnings for int conversions? (Mike Williams) Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17) New feature, requires testing. Made some remarks. Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep 17) Asked for feedback from others. Win32: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012 Jan 19) Win32: default for 'backupcopy' is wrong for a symbolic link. (mklink one two). (Benjamin Fritz, 2012 Mar 15) Need to escape $HOME on Windows? (ZyX, 2011 Jul 21) "2" in 'formatopions' not working in comments. (Christian Corneliussen, 2011 Oct 26) Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20) Using "p" in Visual mode while specifying the small delete register "- overwrites the register before it is put. (Marcin Szamotulski, 2012 Nov 23) With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it. 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? popup completion menu closes quickly when there is a fold in the buffer. (Jan Christoph Ebersbach, 2011 Jul 3) Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26) When using a Vim server, a # in the path causes an error message. (Jeff Lanzarotta, 2011 Feb 17) Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben Fritz (2011 Oct 27). Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5) Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011 Jun 17) When there is a ">" in a line that "gq" wraps to the start of the next line, then the following line will pick it up as a leader. Should get the leader from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27) 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) Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25) Patch to make "z=" work when 'spell' is off. Does this have nasty side effects? (Christian Brabandt, 2012 Aug 5) Would also need to do this for spellbadword() and spellsuggest(). 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) Make 'formatprg' global-local. (Sung Pae) When a buffer-local mapping is used, but a global mapping starts with the same characters, Vim currently waits for the next typed character to find out if the global mapping matches. It is probably better to let the local mapping win and not wait. (discussion with Andy Wokula, 2013 Jan 30) Patch by Michael Henry, 2013 Jan 30. 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. When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18) 7 Make "ga" show the digraph for a character, if it exists. Patch from Christian Brabandt, 2011 Aug 19. maparg() does not show the