diff runtime/doc/todo.txt @ 8061:abd64cf67bcf

commit https://github.com/vim/vim/commit/38a55639d603823efcf2d2fdf542dbffdeb60b75 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 15 22:07:32 2016 +0100 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Mon, 15 Feb 2016 22:45:05 +0100
parents 78106b0f2c56
children f5da459c5698
line wrap: on
line diff
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Feb 07
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Feb 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,6 +34,100 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
++channel:
+- Move netbeans NL handling to channel.c, use it for NL mode channel
+- ch_open fails when socket isn't present yet. (Marcin Szamotulski)
+  Retry when error is "connection refused".
+- channel test waittime is disabled for MS-Windows, causes a crash.
+- channel needs both stdout and stderr (GUI implementation)
+- implement TODO items in ":help channel":
+   - implement ch_setoptions(handle, {options})
+   - job_setoptions(job, {options})
+   - ch_close() closes stdin/stdout/stderr
+   - out-cb
+   - err-cb
+   - exit-cb  move code from mch_clear_job()
+   - job argument: killonexit
+   - ch_read() for stderr
+   - ch_getjob(handle)
+   - ch_read(handle [, timeout])
+   - ch_readall(handle [, timeout])
+   - job_info() should remove usable info: process ID, run/dead, etc.
+   - job_maystart()
+   - job_gethandle(), job_sethandle()
+   - add ch_status(): Whether channel is open.  Perhaps also mode, timeout.
+   - When channel closes invoke "close-cb".
+- Move more details from eval.txt to channel.txt.  Add tags in eval.txt.
+- When receiving malformed json starting with a quote it doesn't get
+  discarded.
+- When message in queue but there is no callback, drop it after a while?
+- Crash when closing channel after ch_sendexpr() with callback and outstanding
+  request (Christian Robinson).
+- cleanup on exit?  in mch_getout() and getout().
+- On Mac a 1 msec waittime is needed in ch_open(), why?
+- Add more log calls, basically at every branch, before every callback, etc.
+- Add timestamp to queued messages and callbacks with ID, remove after a
+  minute.
+- add remark about undo sync, is there a way to force it?
+- When starting a job, have an option to open the server socket, so we know
+  the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
+  Feb 9)  How to do this on MS-Windows?
+- Add more unit-testing in json_test.c
+- Add a test where ["eval","getline(123)"] gets a line with special
+  characters (NUL, 0x80, etc.).  Check that it isn't garbled.
+- make sure errors lead to a useful error msg. ["ex","foobar"]
+- json: implement UTF-16 surrogate pair.
+- For connection to server, a "keep open" flag would be useful.  Retry
+  connecting in the main loop with zero timeout.
+More plugin support:
+- Have a way to install a callback from the main loop.  Called every second or
+  so.
+- Need way to uniquely identify a window, no matter how windows are
+  rearranged.  Same for tab pages.
+      getwinid()             ID of current winow
+      getwinid({nr})         ID of window {nr}
+      getwinid({nr}, {tab})  ID of window {nr} in tab page {tab}
+      getwinnr({id})	     window nr of {id} or -1 if not open
+      gettabnr({id})	     tab page nr of {id} or -1 if not open
+      gotowin({id})
+  Make it so that the window ID can be used where currently a window nr is used
+
+Patch on #608: (Ken Takata)
+https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
+
+This difference is unexpected:
+    echo v:true == 1
+    1
+    echo [v:true] == [1]
+    0
+It's because tv_equal() works different.
+
+Add "runtime/bundles" ?
+    runtime/bundles/netrw/spec.vim
+    runtime/bundles/netrw/autoload/netrw.vim
+    runtime/bundles/netrw/syntax/netrw.vim
+    etc.
+Need an alternative for 'runtimepath' that tells where bundles are to be
+found. 'bundlepath' ?
+The plugins under 'bundlepath' would always be loaded.  Also have a path for
+optional plugins?  'optbundlepath'?  Or have directories "bundlesdef" and
+"bundlesopt"?
+Then use a command "loadplugin" to find a plugin in "optional".
+"bundles" is used by some plugin managers, need another name. "packages"?
+Add a "requires" / "provides" mechanism?
+    if my_feature_enabled
+      require +python
+    endif
+    require my_other_plugin
+~/vim/packages/netrw/def/netrw/plugin/netrw.vim
+~/vim/packages/netrw/opt/nwdebug/plugin/nwdebug.vim
+
+Why does this: 	echo "a" . 1.1
+result in:	a11
+Should recognize float (so long as it's not ".1.1").
+
+Allow for an empty dictionary key.
+
 Regexp problems:
 - The regexp engines are not reentrant, causing havoc when interrupted by a
   remote expression or something else.  Move global variables onto the stack
@@ -76,53 +170,8 @@ Regexp problems:
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
 - Search for \\~ causes error E874.
 
-- "\%1l^#.*" does not match on a line starting with "#".  The zero-width match
-  clears the start-of-line flag.
-  Patch by Christian, 2016 Jan 29.
-
-+channel:
-- implement job control:
-	job argument: redirect stdin/stdout
-	job argument: killonexit
-	let job = job_maystart('command', {address}, {options})
-- When receiving malformed json starting with a quote it doesn't get
-  discarded.
-- add ch_status(): Whether channel is open.  Perhaps also mode, timeout.
-  When channel closes invoke channel callback.
-- add ch_setcallback()
-- add ch_settimeout()
-- cleanup on exit?  in mch_getout() and getout().
-- Add a test for the channel callback.
-- implement debug log
-- Add timestamp to queued messages and callbacks with ID, remove after a
-  minute.
-- add remark about undo sync, is there a way to force it?
-- Add more testing in json_test.c
-- make sure errors lead to a useful error msg. ["ex","foobar"]
-- json: implement UTF-16 surrogate pair.
-- Need way to uniquely identify a window, no matter how windows are
-  rearranged.  Same for tab pages.
-      getwinid()             ID of current winow
-      getwinid({nr})         ID of window {nr}
-      getwinid({nr}, {tab})  ID of window {nr} in tab page {tab}
-      getwinnr({id})	     window nr of {id} or -1 if not open
-      gettabnr({id})	     tab page nr of {id} or -1 if not open
-      gotowin({id})
-  Make it so that the window ID can be used where currently a window nr is used
-- For connection to server, a "keep open" flag would be useful.  Retry
-  connecting in the main loop with zero timeout.
-
-Patch on #608: (Ken Takata)
-https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
-
-This difference is unexpected:
-    echo v:true == 1
-    1
-    echo [v:true] == [1]
-    0
-It's because tv_equal() works different.
-
-Allow for an empty dictionary key.
+Also include update_curswant() fix for getcurpos(). (Christian Brabandt, 2016
+Feb 9)
 
 Patch to put undo options together in undo window.
 (Gary Johnson, 2016 Jan 28)
@@ -221,8 +270,14 @@ Patch to fix display of listchars on the
 Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
 https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
 
+Patch to make the behavior of "w" more straightforward, but not Vi compatible.
+With a 'cpo' flag.  (Christian Brabandt, 2016 Feb 8)
+
 Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)
 
+Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 14)
+Only remembers one error.
+
 Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
 
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
@@ -271,7 +326,7 @@ Can we cache the syntax attributes, so t
 Build with Python on Mac does not always use the right library.
 (Kazunobu Kuriyama, 2015 Mar 28)
 
-Patch to add GTK 3 support. (Kazunobu Kuriyama, 2016 Feb 6)
+Patch to add GTK 3 support. (Kazunobu Kuriyama, 2016 Feb 13)
 Does not fully work yet.
 
 Need a Vim equivalent of Python's None and a way to test for it.
@@ -497,7 +552,7 @@ Bug: Autocompleting ":tag/pat" replaces 
 insert a space. (Micha Mos, 2014 Nov 7)
 
 Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
-Update Dec 6.
+Updated 2016 Feb 10
 
 Patch to add argument to :cquit. (Thinca, 2014 Oct 12)