Problem: MS-Windows: CTRL-C kills shell in terminal window instead of the
command running in the shell.
Solution: Make CTRL-C only send a CTRL_C_EVENT and have CTRL-BREAK kill the
job. (partly by Yasuhiro Matsumoto, closes#1962)
Problem: Cannot specify directory or environment for a job.
Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro
Matsumoto, closes#1160)
Problem: MS-Windows: Backslashes and wildcards in backticks don't work.
Solution: Do not handle backslashes inside backticks in the wrong place.
(Yasuhiro Matsumoto, closes#1942)
Problem: No redraw after terminal was closed.
Solution: Set typebuf_was_filled. (Yasuhiro Matsumoto, closes#1925, closes
#1924) Add function to check for messages even when input is
available.
Problem: MS-Windows: fopen() and open() prototypes do not match the ones in
the system header file. Can't build without FEAT_MBYTE.
Solution: Add "const". Move macro to after including protoo.h.
Problem: On MS-Windows ":!start" does not work as expected.
Solution: When creating a process fails try passing the argument to
ShellExecute(). (Katsuya Hino, closes#1570)
Problem: Setting v:progpath is not quite right.
Solution: On MS-Windows add the extension. On Unix use the full path for a
relative directory. (partly by James McCoy, closes#1531)
Problem: Asan detects a memory error when EXITFREE is defined. (Dominique
Pelle)
Solution: In getvcol() check for ml_get_buf() returning an empty string.
Also skip adjusting the scroll position. Set "exiting" in
mch_exit() for all systems.
Problem: On MS-Windows setting an environment variable with multi-byte
strings does not work well.
Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata)
Problem: Setting language in gvim on MS-Windows does not work when
libintl.dll is dynamically linked with msvcrt.dll.
Solution: Use putenv() from libintl as well. (Ken Takata, closes#1082)
Problem: When a channel callback consumes a lot of time Vim becomes
unresponsive. (skywind)
Solution: Bail out of checking channel readahead after 100 msec.
Problem: When the channel callback gets job info the job may already have
been deleted. (lifepillar)
Solution: Do not delete the job when the channel is still useful. (ichizok,
closes#1242, closes#1245)
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
(Linwei)
Solution: Iterate over all processes and terminate the one where the parent
is the job process. Now only when there is no job object.
(Yasuhiro Matsumoto, closes#1203)
Problem: On Windows job_stop() stops cmd.exe, not the processes it runs.
(Linwei)
Solution: Iterate over all processes and terminate the one where the parent
is the job process. (Yasuhiro Matsumoto, closes#1184)
Problem: Code for MS-Windows is complicated because of the exceptions for
old systems.
Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata)
Problem: When using ":sleep" channel input is not handled.
Solution: When there is a channel check for input also when not in raw mode.
Check every 100 msec.
Problem: MS-Windows: some files remain after testing.
Solution: Close the channel output file. Wait for the file handle to be
closed before deleting the file.
Problem: On MS-Windows large files (> 2Gbyte) cause problems.
Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct
stat". Use 64 bit system functions if available. (Ken Takata)
Problem: When using feedkeys() in a timer the inserted characters are not
used right away.
Solution: Break the wait loop when characters have been added to typebuf.
use this for testing CursorHoldI.