| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Problem: Terminal window redirecting stdout does not show stderr. (Matéo
Zanibelli)
Solution: When stdout is not connected to pty_master_fd then use it for
stderr. (closes #2903)
|
|
|
|
|
|
|
| |
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: 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: Various warnings from a static analyser
Solution: Add type casts, remove unneeded conditions. (Christian Brabandt,
closes #2770)
|
|
|
|
|
| |
Problem: Build failure on MS-Windows.
Solution: Build job arguments for MS-Windows. Fix allocating job twice.
|
|
|
|
|
| |
Problem: When running a terminal from the GUI 'term' is not useful.
Solution: Use $TERM in the GUI if it starts with "xterm". (closes #2776)
|
|
|
|
|
| |
Problem: Mac: getpagesize() is deprecated.
Solution: Use sysconf() instead. (Ozaki Kiichi, closes #2741)
|
|
|
|
|
| |
Problem: Warning for unused variable in tiny build. (Tony Mechelynck)
Solution: Move declaration to inner block.
|
|
|
|
|
|
| |
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: Mac: getting memory size doesn't work everywhere.
Solution: Use MACOS_X instead of MACOS_X_DARWIN. (Kazunobu Kuriyama)
|
|
|
|
|
| |
Problem: Can't build on older Mac, header file is missing.
Solution: Remove the header file. (Ozaki Kiichi, closes #2691)
|
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
|
|
|
|
|
| |
Problem: May leak file descriptors when executing job.
Solution: Close more file descriptors. (Ozaki Kiichi, closes #2531)
|
|
|
|
|
|
|
| |
Problem: On Mac 'maxmemtot' is set to a weird value.
Solution: For Mac use total memory and subtract system memory. For other
systems accept both a 32 bit and 64 bit result. (Ozaki Kiichi,
closes #2646)
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
|
|
|
|
|
| |
Problem: Duplicated code for getting a typed character. CursorHold is
called too often in the GUI. (lilydjwg)
Solution: Refactor code to move code up from mch_inchar(). Don't fire
CursorHold if feedkeys() was used. (closes #2451)
|
|
|
|
|
|
| |
Problem: balloon_show() only works in terminal when compiled with the GUI.
Solution: Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
specific file.
|
|
|
|
|
|
| |
Problem: Cannot use 'balloonexpr' in a terminal.
Solution: Add 'balloonevalterm' and add code to handle mouse movements in a
terminal. Initial implementation for Unix with GUI.
|
|
|
|
|
|
| |
Problem: File permissions may end up wrong when writing.
Solution: Use fchmod() instead of chmod() when possible. Don't truncate
until we know we can change the file.
|
|
|
|
|
|
| |
Problem: Mac features are confusing.
Solution: Make feature names more consistent, add "osxdarwin". Rename
feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
|
|
|
|
|
| |
Problem: Job_start() does not handle quote and backslash correctly.
Solution: Remove quotes, recognize and remove backslashes.
|
|
|
|
|
| |
Problem: Using termdebug results in 100% CPU time. (tomleb)
Solution: Use polling instead of select().
|
|
|
|
|
|
| |
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: Coverity warns for leaking resource.
Solution: Free pty_master_fd on failure.
|
|
|
|
|
|
| |
Problem: Cannot run terminal with spaces in argument.
Solution: Accept backslash to escape space and other characters. (closes
#1999)
|
|
|
|
|
|
|
|
| |
Problem: Detecting background color does not work in screen, even when it
is working like an xterm.
Solution: Make "screen.xterm" use termcap entries like an xterm. (Lubomir
Rintel, closes #2048) When termresponse version is huge also
recognize as not being an xterm.
|
|
|
|
|
| |
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 failing to open /dev/null.
Solution: When /dev/null can't be opened exit the child.
|
|
|
|
|
|
| |
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: Terminal may not use right characters for BS and Enter.
Solution: Get the characters from the tty.
|
|
|
|
|
|
| |
Problem: Cannot specify directory or environment for a job.
Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro
Matsumoto, closes #1160)
|
|
|
|
|
| |
Problem: Function name mch_stop_job() is confusing.
Solution: Rename to mch_signal_job().
|
|
|
|
|
|
|
| |
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: 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: Using slave pty after closing it.
Solution: Do the ioctl() before dup'ing it.
|
|
|
|
|
| |
Problem: Cannot kill a job in a terminal with CTRL-C.
Solution: Set the controlling tty and send SIGINT. (closes #1910)
|
|
|
|
|
| |
Problem: Can't build without the client-server feature.
Solution: Add #ifdef.
|
|
|
|
|
|
| |
Problem: A job running in a terminal window cannot easily communicate with
the Vim it is running in.
Solution: Pass v:servername in an environment variable. (closes #1908)
|
|
|
|
|
| |
Problem: Coverity: could leak pty file descriptor, theoretically.
Solution: If channel is NULL, free the file descriptors.
|
|
|
|
|
|
| |
Problem: Finished job in terminal window is not handled.
Solution: Add the scrollback buffer. Use it to fill the buffer when the job
has ended.
|
|
|
|
|
|
| |
Problem: Using wrong terminal name for terminal window.
Solution: When 'term' starts with "xterm" use it for $TERM in a terminal
window.
|
|
|
|
|
|
| |
Problem: A job running in a terminal does not get notified of changes in
the terminal size.
Solution: Use ioctl() and SIGWINCH to report the terminal size.
|
|
|
|
|
|
|
| |
Problem: When running Vim in a terminal window it does not detect the right
number of colors available.
Solution: Detect the version string that libvterm returns. Pass the number
of colors in $COLORS.
|
|
|
|
|
|
| |
Problem: When :term fails the job is not properly cleaned up.
Solution: Free the terminal. Handle a job that failed to start. (closes
#1858)
|
|
|
|
|
| |
Problem: A terminal window uses pipes instead of a pty.
Solution: Add pty support.
|
|
|
|
|
| |
Problem: Cannot build with HPUX.
Solution: Rename envbuf_TERM to envbuf_Term. (John Marriott)
|
|
|
|
|
|
| |
Problem: Terminal resizing doesn't work well.
Solution: Resize the terminal to the Vim window and the other way around.
Avoid mapping typed keys. Set the environment properly.
|
|
|
|
|
| |
Problem: Recognizing urxvt mouse codes does not work well.
Solution: Recognize "Esc[*M" and "Esc[*m". (Maurice Bos, closes #1486)
|
|
|
|
|
| |
Problem: Coverity complains about possible negative value.
Solution: Check return value of ftell() not to be negative.
|
|
|
|
|
|
| |
Problem: Check for available characters takes too long.
Solution: Only check did_start_blocking if wtime is negative. (Daisuke
Suzuki, closes #1591)
|