Problem: Sending buffer lines to terminal doesn't work on MS-Windows.
Solution: Use CR instead of NL after every line. Make the EOF text work
properly. Add the ++eof argument to :terminal.
Problem: A terminal window with a running job behaves different from a
window containing a changed buffer.
Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a
terminal used to run is listed as "[Scratch]".
Problem: Cannot send lines to a terminal job.
Solution: Make [range]terminal send selected lines to the job.
Use ++rows and ++cols for the terminal size.
Problem: Job in terminal does not get CTRL-C, we send a SIGINT instead.
Solution: Don't call may_send_sigint() on CTRL-C. Make CTRL-W CTRL-C end
the job.
Problem: winpty.dll name is fixed.
Solution: Add the 'winptydll' option. Make the default name depend on
whether it is a 32-bit or 64-bit build. (idea by Yasuhiro
Matsumoto, closes#1978)
Problem: Highlight attributes are always combined.
Solution: Add the 'nocombine' value to replace attributes instead of
combining them. (scauligi, closes#1963)
Problem: Cannot specify directory or environment for a job.
Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro
Matsumoto, closes#1160)
Problem: Can't use the alternate screen in a terminal window.
Solution: Initialze the alternate screen. (Yasuhiro Matsumoto, closes
#1957) Add term_getaltscreen().
Problem: Cannot automaticlaly close a terminal window when the job ends.
Solution: Add the ++close argument to :term. Add the term_finish option to
term_start(). (Yasuhiro Matsumoto, closes#1950) Also add
++open.
Problem: term_scrape() and term_getline() require two arguments but it is
not enforced.
Solution: Correct minimal number of arguments. (Hirohito Higashi) Update
documentation. (Ken Takata)
Problem: A remote command starting with CTRL-\ CTRL-N does not work in the
terminal window. (Christian J. Robinson)
Solution: Use CTRL-\ CTRL-N as a prefix or a Normal mode command.
Problem: Cannot get the name of the pty of a job.
Solution: Add the "tty" entry to the job info. (Ozaki Kiichi, closes#1920)
Add the term_gettty() function.
Problem: The script to check translations fails if there is more than one
NL in one line.
Solution: Count the number of NL characters. Make count() accept a string.
Problem: Build problems with terminal on MS-Windows using MSVC.
Solution: Remove stdbool.h dependency. Only use ScreenLinesUC when it was
allocated. Fix typos. (Ken Takata)
Problem: Options of a buffer for a terminal window are not set properly.
Solution: Add "terminal" value for 'buftype'. Make 'buftype' and
'bufhidden' not depend on the quickfix feature.
Also set the buffer name and show "running" or "finished" in the
window title.
Problem: There is no way to notice that the quickfix window contents has
changed.
Solution: Increment b:changedtick when updating the quickfix window.
(Yegappan Lakshmanan)
Problem: Not easy to start Vim cleanly without changing the viminfo file.
Not possible to know whether the -i command line flag was used.
Solution: Add the --clean command line argument. Add the 'viminfofile'
option. Add "-u DEFAULTS".
Problem: An error in a timer can make Vim unusable.
Solution: Don't set the error flag or exception from a timer. Stop a timer
if it causes an error 3 out of 3 times. Discard an exception
caused inside a timer.
Problem: No terminal emulator support. Cannot properly run commands in the
GUI. Cannot run a job interactively with an ssh connection.
Solution: Very early implementation of the :terminal command. Includes
libvterm converted to ANSI C. Many parts still missing.