Age | Commit message (Collapse) | Author |
|
Problem: Cannot handle pressing CTRL-C in a prompt buffer.
Solution: Add prompt_setinterrupt().
|
|
Problem: $VIM_TERMINAL is also set when not in a terminal window.
Solution: Pass a flag to indicate whether the job runs in a terminal.
|
|
Problem: Difficult to make a plugin that feeds a line to a job.
Solution: Add the nitial code for the "prompt" buftype.
|
|
Problem: Get no clue why :gui does not fork.
Solution: Add a channel log message.
|
|
Problem: Compiler warning for signed/unsigned char pointers. (Cesar Romani)
Solution: Change the type of jv_argv.
|
|
Problem: Lose contact with jobs when :gui forks.
Solution: Don't fork when there is a running job. Make log message for a
died job clearer. Also close the terminal when stderr and stdout
are the same FD.
|
|
Problem: MS-Windows: warning for unused variable.
Solution: Move declaration inside #ifdef. (Mike Williams)
|
|
Problem: Job in terminal window with no output channel is killed.
Solution: Keep the job running when the input is a tty. (Ozaki Kiichi,
closes #2734)
|
|
Problem: MS-Windows: term_start() does not set job_info() cmd.
Solution: Share the code from job_start() to set jv_argv.
|
|
Problem: MS-Windows: channel tests fail.
Solution: Make a copy of the command before splitting it.
|
|
Problem: Build failure on MS-Windows.
Solution: Build job arguments for MS-Windows. Fix allocating job twice.
|
|
Problem: Cannot get a list of all the jobs. Cannot get the command of
the job.
Solution: When job_info() is called without an argument return a list of
jobs. Otherwise, include the command that the job is running.
(Yegappan Lakshmanan)
|
|
Problem: Some non-C89 code may slip through.
Solution: Enforce C89 in configure. Fix detected problems. (James McCoy,
closes #2735)
|
|
Problem: Can't set ANSI colors of a terminal window.
Solution: Add term_setansicolors(), term_getansicolors() and
g:term_ansi_colors. (Andy Massimino, closes #2747)
|
|
Problem: The format attribute fails with MinGW. (John Marriott)
Solution: Don't use the format attribute with MinGW.
|
|
Problem: No compiler warning for wrong printf format.
Solution: Add a printf attribute for gcc. Fix reported problems. (Dominique
Pelle, closes #2789)
|
|
Problem: Crash when passing non-dict argument as env to job_start().
Solution: Check for valid argument. (Ozaki Kiichi, closes #2765)
|
|
Problem: Crash when reading a channel.
Solution: Clear the write flag before writing. (idea by Shinya Ohyanagi,
closes #2769).
|
|
Problem: Shell commands in the GUI use a dumb terminal.
Solution: Add the "!" flag to 'guioptions' to execute system commands in a
special terminal window. Only for Unix now.
|
|
Problem: :qall never exits with an active terminal window.
Solution: Add a way to kill a job in a terminal window.
|
|
Problem: Terminal windows in a session are not properly restored.
Solution: Add "terminal" in 'sessionoptions'. When possible restore the
command running in a terminal.
|
|
Problem: Errors for job options are not very specific.
Solution: Add more specific error messages.
|
|
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
Problem: Slow redrawing with DirectX.
Solution: Avoid calling gui_mch_flush() unnecessarily, especially when
updating the cursor. (Ken Takata, closes #2560)
|
|
Problem: ch_readraw() waits for NL if channel mode is NL.
Solution: Pass a "raw" flag to channel_read_block(). (Yasuhiro Matsumoto)
|
|
Problem: Occasional crash when using a channel. (Marek)
Solution: Decrement reference count later. (closes #2315)
|
|
Problem: Using termdebug results in 100% CPU time. (tomleb)
Solution: Use polling instead of select().
|
|
Problem: Channel write fails if writing to log fails.
Solution: Ignore return value of fwrite(). (Ozaki Kiichi, closes #2081)
|
|
Problem: Leaking memory in input part of channel.
Solution: Clear the input part of channel. Free the entry. Move failing
command test to a separate file to avoid bogus leak reports
clouding tests that should not leak.
|
|
Problem: Memory leak for the channel write queue.
Solution: Free the write queue when clearing a channel.
|
|
Problem: term_start() does not take callbacks. When using two terminals
without a job only one is read from. A terminal without a window
returns the wrong pty.
Solution: Support "callback", "out_cb" and "err_cb". Fix terminal without a
window. Fix reading from multiple channels.
|
|
Problem: ":term NONE" does not work on MS-Windows.
Solution: Make it work. Split "pty" into "pty_in" and "pty_out". (Yasuhiro
Matsumoto, closes #2058, closes #2045)
|
|
Problem: ++eof argument for terminal only available on MS-Windows.
Solution: Also support ++eof on Unix. Add a test.
|
|
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: Sending buffer lines to terminal doesn't work on MS-Windows.
Solution: Send CTRL-D to mark the end of the text. (Yasuhiro Matsumoto,
closes #2043) Add the "eof_chars" option.
|
|
Problem: Terminal without job updates slowly in GUI.
Solution: Poll for input when a channel has the keep_open flag.
|
|
Problem: 64 bit compiler warning
Solution: Add type cast. (Mike Williams)
|
|
Problem: Unnecessarily updating screen after timer callback.
Solution: Check if calling the timer sets must_redraw.
|
|
Problem: Cannot open a terminal without running a job in it.
Solution: Make ":terminal NONE" open a terminal with a pty.
|
|
Problem: Coverity warning for unused return value.
Solution: Add (void) to avoid the warning.
|
|
Problem: Channel write buffer does not work with poll().
Solution: Use the same mechanism as with select().
|
|
Problem: Build failure on MS-Windows.
Solution: Use ioctlsocket() instead of fcntl().
|
|
Problem: When term_sendkeys() sends many keys it may get stuck in writing
to the job.
Solution: Make the write non-blocking, buffer keys to be sent.
|
|
Problem: MS-Windows: passing arglist to job has escaping problems.
Solution: Improve escaping. (Yasuhiro Matsumoto, closes #1954)
|
|
Problem: Cannot specify properties of window for when opening a window for
a finished terminal job.
Solution: Add "term_opencmd".
|
|
Problem: Cannot run a job in a hidden terminal.
Solution: Add option "hidden" and ++hidden.
|
|
Problem: Cannot create a terminal in the current window.
Solution: Add option "curwin" and ++curwin.
|
|
Problem: Channel test fails.
Solution: Allow for "cwd" and "env" arguments.
|
|
Problem: Cannot set terminal size with options.
Solution: Add "term_rows", "term_cols" and "vertical".
|
|
Problem: Cannot specify directory or environment for a job.
Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro
Matsumoto, closes #1160)
|