comparison runtime/doc/todo.txt @ 15878:314694a2e74a

Update runtime files. commit https://github.com/vim/vim/commit/4c92e75dd4ddb68dd92a86dd02d53c70dd4af33a Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 17 21:18:32 2019 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sun, 17 Feb 2019 21:30:08 +0100
parents fe57e4f0eac1
children c3c1abe7aff2
comparison
equal deleted inserted replaced
15877:904e9bd83419 15878:314694a2e74a
1 *todo.txt* For Vim version 8.1. Last change: 2019 Feb 02 1 *todo.txt* For Vim version 8.1. Last change: 2019 Feb 17
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
35 The #1234 numbers refer to an issue or pull request on github. To see it in a 35 The #1234 numbers refer to an issue or pull request on github. To see it in a
36 browser use: https://github.com/vim/vim/issues/1234 36 browser use: https://github.com/vim/vim/issues/1234
37 (replace 1234 with the issue/pull number) 37 (replace 1234 with the issue/pull number)
38 *known-bugs* 38 *known-bugs*
39 -------------------- Known bugs and current work ----------------------- 39 -------------------- Known bugs and current work -----------------------
40
41 Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
42 Added test, updates, June 23.
43 Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
44 Remark from Ameretat Reith (2014 Oct 13) with patch on top.
40 45
41 Timer test doesn't work on MS-Windows console, any way to make it work? 46 Timer test doesn't work on MS-Windows console, any way to make it work?
42 47
43 'incsearch' with :s: (#3321) 48 'incsearch' with :s: (#3321)
44 - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area 49 - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
72 script while stepping through it. Simple version would use an extra window. 77 script while stepping through it. Simple version would use an extra window.
73 More complete solution would actually run Vim in a Terminal and control it 78 More complete solution would actually run Vim in a Terminal and control it
74 with another Vim instance. 79 with another Vim instance.
75 80
76 Terminal emulator window: 81 Terminal emulator window:
82 - When the job in the terminal doesn't use mouse events, let the scroll wheel
83 scroll the scrollback, like a terminal does at the shell prompt. #2490
84 And use modeless selection. #2962
77 - When Vim runs in the terminal and changes the title, the statusline needs to 85 - When Vim runs in the terminal and changes the title, the statusline needs to
78 be redrawn. 86 be redrawn.
79 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt. 87 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
80 (#3327) 88 (#3327)
81 - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907) 89 - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
82 - GUI: hang until key typed. (#3530) 90 - GUI: hang until key typed. (#3530)
83 - When the job in the terminal doesn't use mouse events, let the scroll wheel
84 scroll the scrollback, like a terminal does at the shell prompt. #2490
85 And use modeless selection. #2962
86 - Allow for specifying the directory, with ++cwd={dir}. 91 - Allow for specifying the directory, with ++cwd={dir}.
87 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2, 92 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
88 #2977) 93 #2977)
89 - Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it 94 - Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
90 directly. Perhaps ":term ++shell cmd". (#3340) 95 directly. Perhaps ":term ++shell cmd". (#3340)
115 - WINVER conflict, should use 0x0600 by default? 120 - WINVER conflict, should use 0x0600 by default?
116 121
117 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May 122 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
118 13, #2910) Can't reproduce? 123 13, #2910) Can't reproduce?
119 124
120 Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
121
122 Errors found with random data: 125 Errors found with random data:
123 heap-buffer-overflow in alist_add (#2472) 126 heap-buffer-overflow in alist_add (#2472)
124
125 Win32 key codes are messy. Mike Williams tried to fix that, but now old
126 mappings no longer work. Create a new terminal for the better solution?
127 127
128 Improve fallback for menu translations, to avoid having to create lots of 128 Improve fallback for menu translations, to avoid having to create lots of
129 files that source the actual file. E.g. menu_da_de -> menu_da 129 files that source the actual file. E.g. menu_da_de -> menu_da
130 Include part of #3242? 130 Include part of #3242?
131
132 Improvement for :terminal winpty/conpty option. Ozaki Kiichi, #3905
133
134 Patch to change WIN32 macro names. (Hirohito Higashi, #3932)
131 135
132 When a terminal exit_cb closes the window, a following typed key is lost, if 136 When a terminal exit_cb closes the window, a following typed key is lost, if
133 it's in a mapping. (2018 Oct 6, #2302, #3522) 137 it's in a mapping. (2018 Oct 6, #2302, #3522)
134 138
135 Completion mixes results from the current buffer with tags and other files. 139 Completion mixes results from the current buffer with tags and other files.
140 144
141 Internal diff doesn't handle binary file like external diff does. (Mike 145 Internal diff doesn't handle binary file like external diff does. (Mike
142 Williams, 2018 Oct 30) 146 Williams, 2018 Oct 30)
143 147
144 Problem with :tlmenu: Detach item added with all modes? Issue #3563. 148 Problem with :tlmenu: Detach item added with all modes? Issue #3563.
149
150 Patch to reduce amount of memory used by functions that keep reference.
151 (ichizok, #3961)
145 152
146 When using a timer callback vgetc_busy is reset, allowing for using input(). 153 When using a timer callback vgetc_busy is reset, allowing for using input().
147 But in a channel callback this does not happen. We need to do something 154 But in a channel callback this does not happen. We need to do something
148 similar to check_due_timer(). Also see #3809. 155 similar to check_due_timer(). Also see #3809.
149 156
165 Another request: #3811. 172 Another request: #3811.
166 173
167 More warnings from static analysis: 174 More warnings from static analysis:
168 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list 175 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
169 176
177 When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
178 Suggested patch on the issue.
179
170 nvo-mode mapping works on Windows, not on Linux. (#3678) 180 nvo-mode mapping works on Windows, not on Linux. (#3678)
171 181
172 Patch to be able to separately map CTRL-H and BS on Windows. 182 Patch to be able to separately map CTRL-H and BS on Windows.
173 (Linwei, 2017 Jul 11, #1833) 183 (Linwei, 2017 Jul 11, #1833)
174 184
185 Patch to fix encoding of messages on MS-Windows. (Yasuhiro Matsumoto, 2019 Feb
186 13, #3914)
187
188 Patch to fix encoding conversion in messages. (#3969)
189
190 Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
191 Also run all tests with C locale?
192
175 Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29, 193 Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
176 #3879) 194 #3879)
177 195
196 "vat" doesn't work well on XML when the closing > is on another line.
197 #3927
198
199 Patch to include ARM64 support. (Leendert van Doorn, 2019 Feb 9)
200
201 Patch to fix hang when opening file where an intermediate directory is not
202 readable on MS-Windows. (link on #3923)
203
178 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17) 204 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
179 Related to bracketed paste. I cannot reproduce it. 205 Related to bracketed paste. I cannot reproduce it.
206
207 Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
208 New update 2017 Apr 10, #1628
209 https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
210 Updated by Andy Massimino, 2018 Feb 7:
211 https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
212 Or should we make it asynchronous?
180 213
181 When 'confirm' is set a "silent q" doesn't show the prompt. It should in this 214 When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
182 case. (Nate Peterson, 2019 Jan 31, #3892) 215 case. (Nate Peterson, 2019 Jan 31, #3892)
183 For "silent! q" it should not prompt and just fail. 216 For "silent! q" it should not prompt and just fail.
184 217
185 Using CTRL-L to add a character to the search string doesn't work for the last 218 Using CTRL-L to add a character to the search string doesn't work for the last
186 character in the file. (Smylers, 2018 Nov 17, #3620) 219 character in the file. (Smylers, 2018 Nov 17, #3620)
187 Suggested patch by Hirohito Higashi, 2018 Nov 18. 220 Suggested patch by Hirohito Higashi, 2018 Nov 18.
188 221
189 Using CTRL-L to add a character to the search string that contains \v, 222 Using CTRL-L to add a character to the search string that contains \v,
190 punctiuation is repeated. (Smylers, 2018 Nov 17, #3621) 223 punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
191 224
192 Using CTRL-L during search only picks up the base character, not a combining 225 Using CTRL-L during search only picks up the base character, not a combining
193 character. (Rick, 2018 Dec 11, #3682) 226 character. (Rick, 2018 Dec 11, #3682)
194 227
195 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550). 228 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
196
197 Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
198 Not ready to include yet.
199 229
200 Problem with two buffers with the same name a/b, if it didn't exist before and 230 Problem with two buffers with the same name a/b, if it didn't exist before and
201 is created outside of Vim. (dskloetg, 2018 Jul 16, #3219) 231 is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
202 232
203 When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly 233 When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly
209 (Sep 8) 239 (Sep 8)
210 240
211 Patch to add complete_mode(). Shougo - #3866. Alternate patch by Hirohito 241 Patch to add complete_mode(). Shougo - #3866. Alternate patch by Hirohito
212 Higashi, 2019 Jan 27, included now? 242 Higashi, 2019 Jan 27, included now?
213 243
244 Patch to make winnr() return the window above/below/beside a window.
245 (Yegappan Lakshmanan, #3993)
246
214 Patch for ConPTY support, new one: #3794 Does this work now? It should. 247 Patch for ConPTY support, new one: #3794 Does this work now? It should.
215 (Nobuhiro Takasaki) 248 (Nobuhiro Takasaki)
216 249
217 Add function to make use of internal diff, working on two lists and returning 250 Add function to make use of internal diff, working on two lists and returning
218 unified diff (list of lines). 251 unified diff (list of lines).
252
253 When splitting a window with few text lines, the relative cursor position is
254 kept, which means part of the text isn't displayed. Better show all the text
255 when possible. (Dylan Lloyd, #3973)
256
257 Tag stack is incorrect after CTRL-T and then :tag. (Andy Massimino, 2019 Feb
258 12, #3944) With Patch for a solution. Needs a test.
219 259
220 Patch to implement 'diffref' option. (#3535) 260 Patch to implement 'diffref' option. (#3535)
221 Easier to use a 'diffmaster' option, is the extra complexity needed? 261 Easier to use a 'diffmaster' option, is the extra complexity needed?
222 262
223 Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579) 263 Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
228 cursorline highlighting not removed after yanking in Visual mode. 268 cursorline highlighting not removed after yanking in Visual mode.
229 (Matéo Zanibelli, 2018 Oct 30, #3578) 269 (Matéo Zanibelli, 2018 Oct 30, #3578)
230 Patch by Christian, Oct 30. 270 Patch by Christian, Oct 30.
231 271
232 Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890) 272 Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
273
274 Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
275
276 Patch to add environ(), gets a dict with all environment vars, and getenv(),
277 useful for environment vars that are not made of keyword chars.
278 (Yasuhiro Matsumoto, #2875)
279
280 Patch to add optional arguments with default values.
281 (Andy Massimino, #3952) under development
233 282
234 Memory leaks in test_channel? (or is it because of fork()) 283 Memory leaks in test_channel? (or is it because of fork())
235 Using uninitialized value in test_crypt. 284 Using uninitialized value in test_crypt.
236 Memory leak in test_terminal: 285 Memory leak in test_terminal:
237 ==23530== by 0x2640D7: alloc (misc2.c:874) 286 ==23530== by 0x2640D7: alloc (misc2.c:874)
241 ==23530== by 0x17CB9A: fname_expand (buffer.c:4838) 290 ==23530== by 0x17CB9A: fname_expand (buffer.c:4838)
242 ==23530== by 0x1759AB: buflist_new (buffer.c:1889) 291 ==23530== by 0x1759AB: buflist_new (buffer.c:1889)
243 ==23530== by 0x35C923: term_start (terminal.c:421) 292 ==23530== by 0x35C923: term_start (terminal.c:421)
244 ==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377) 293 ==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
245 ==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383) 294 ==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
295 Memory leak in test_alot with pyeval() (allocating partial)
246 296
247 gethostbyname() is old, use getaddrinfo() if available. (#3227) 297 gethostbyname() is old, use getaddrinfo() if available. (#3227)
248 298
249 Patch to add match count and current index "3/44" when using "n" command. 299 Patch to add match count and current index "3/44" when using "n" command.
250 (Christian Brabandt, on issue #453). Only when search string was typed? 300 (Christian Brabandt, on issue #453). Only when search string was typed?
251 301
252 matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul 302 matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
253 19. 303 19.
304
305 Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
306 Does #2405 do this?
307
308 Patch to add an interrupt() function: sets got_int. Useful in an autocommand
309 such as BufWritePre that checks the file name or contents.
254 310
255 Should make 'listchars' global-local. Local to window or to buffer? 311 Should make 'listchars' global-local. Local to window or to buffer?
256 Probably window. 312 Probably window.
257 Add something like 'fillchars' local to window, but allow for specifying a 313 Add something like 'fillchars' local to window, but allow for specifying a
258 highlight name. Esp. for the statusline. 314 highlight name. Esp. for the statusline.
316 Better name? 372 Better name?
317 373
318 MS-Windows: .lnk file not resolved properly when 'encoding' is set. 374 MS-Windows: .lnk file not resolved properly when 'encoding' is set.
319 (lkintact, 2018 Sep 22, #3473) 375 (lkintact, 2018 Sep 22, #3473)
320 376
377 Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
378
379 Win32 key codes are messy. Mike Williams tried to fix that, but now old
380 mappings no longer work. Create a new terminal for the better solution?
381
321 Script generated by :mksession does not work well if there are windows with 382 Script generated by :mksession does not work well if there are windows with
322 modified buffers 383 modified buffers
323 change "silent only" into "silent only!" 384 change "silent only" into "silent only!"
324 change "edit fname" of first buffer to "hide edit fname" 385 change "edit fname" of first buffer to "hide edit fname"
325 skip "badd fname" if "fname" is already in the buffer list 386 skip "badd fname" if "fname" is already in the buffer list
347 Height of quickfix window is not retained with vertical splits. (Lifepillar, 408 Height of quickfix window is not retained with vertical splits. (Lifepillar,
348 2018 Aug 24, #2998) 409 2018 Aug 24, #2998)
349 410
350 Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24, 411 Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
351 #2999) 412 #2999)
413
414 Add more testing of the GTK GUI.
415 - gtk_test_widget_click() can be used to simulate a click in a widget.
352 416
353 Tests failing for "make testgui" with GTK: 417 Tests failing for "make testgui" with GTK:
354 - Test_setbufvar_options() 418 - Test_setbufvar_options()
355 - Test_exit_callback_interval() 419 - Test_exit_callback_interval()
356 420
819 Implement optional arguments for functions. 883 Implement optional arguments for functions.
820 func Foo(start, count = 1 all = 1) 884 func Foo(start, count = 1 all = 1)
821 call Foo(12) 885 call Foo(12)
822 call Foo(12, all = 0) 886 call Foo(12, all = 0)
823 call Foo(12, 15, 0) 887 call Foo(12, 15, 0)
824
825 Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
826 support, or similar.
827 Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
828 888
829 Add a command to take a range of lines, filter them and put the output 889 Add a command to take a range of lines, filter them and put the output
830 somewhere else. :{range}copy {dest} !cmd 890 somewhere else. :{range}copy {dest} !cmd
831 891
832 Patch to fix that empty first tab is not in session. 892 Patch to fix that empty first tab is not in session.
1003 Patch for systemlist(), add empty item. (thinca, Sep 30, #1135) 1063 Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)
1004 Add an argument to choose binary or non-binary (like readfile()), when omitted 1064 Add an argument to choose binary or non-binary (like readfile()), when omitted
1005 use the current behavior. 1065 use the current behavior.
1006 Include the test. 1066 Include the test.
1007 1067
1008 Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
1009 New update 2017 Apr 10, #1628
1010
1011 When 'keywordprg' starts with ":" the argument is still escaped as a shell 1068 When 'keywordprg' starts with ":" the argument is still escaped as a shell
1012 command argument. (Romain Lafourcade, 2016 Oct 16, #1175) 1069 command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
1013 1070
1014 Patch to support CamelCase for spell checking: See a lower-to-upper case 1071 Patch to support CamelCase for spell checking: See a lower-to-upper case
1015 change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235) 1072 change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
2076 highlighting. Don't disable Syntax autocommands then? Or add a flag/modifier 2133 highlighting. Don't disable Syntax autocommands then? Or add a flag/modifier
2077 to avoid changing 'eventignore'? 2134 to avoid changing 'eventignore'?
2078 2135
2079 Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6) 2136 Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
2080 Probably needs a bit of work. 2137 Probably needs a bit of work.
2081
2082 Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
2083 Added test, updates, June 23.
2084 Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
2085 With modification for Tatweel character: https://dpaste.de/VmFw
2086 Remark from Ameretat Reith (2014 Oct 13)
2087 2138
2088 List of encoding aliases. (Takao Fujiwara, 2009 Jul 18) 2139 List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
2089 Are they all OK? Update Jul 22. 2140 Are they all OK? Update Jul 22.
2090 2141
2091 Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18) 2142 Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
3089 - Win32: tearoff menu window should have a scrollbar when it's taller than 3140 - Win32: tearoff menu window should have a scrollbar when it's taller than
3090 the screen. 3141 the screen.
3091 8 The -P argument doesn't work very well with many MDI applications. 3142 8 The -P argument doesn't work very well with many MDI applications.
3092 The last argument of CreateWindowEx() should be used, see MSDN docs. 3143 The last argument of CreateWindowEx() should be used, see MSDN docs.
3093 Tutorial: http://win32assembly.online.fr/tut32.html 3144 Tutorial: http://win32assembly.online.fr/tut32.html
3094 8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
3095 WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
3096 6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":" 3145 6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
3097 of ":only" is highlighted like the cursor. (Lipelis) 3146 of ":only" is highlighted like the cursor. (Lipelis)
3098 8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide 3147 8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
3099 characters to make Asian languages work. Win32 fonts contain both 3148 characters to make Asian languages work. Win32 fonts contain both
3100 type of characters. 3149 type of characters.