0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

373 Commits

Author SHA1 Message Date
Bram Moolenaar
4ab7968aa9 patch 8.0.1005: terminal without job updates slowly in GUI
Problem:    Terminal without job updates slowly in GUI.
Solution:   Poll for input when a channel has the keep_open flag.
2017-08-27 14:50:47 +02:00
Bram Moolenaar
e85928a324 patch 8.0.1003: 64 bit compiler warning
Problem:    64 bit compiler warning
Solution:   Add type cast. (Mike Williams)
2017-08-27 13:10:10 +02:00
Bram Moolenaar
02e177d3e8 patch 8.0.1002: unnecessarily updating screen after timer callback
Problem:    Unnecessarily updating screen after timer callback.
Solution:   Check if calling the timer sets must_redraw.
2017-08-26 23:43:28 +02:00
Bram Moolenaar
13ebb03e75 patch 8.0.1000: cannot open a terminal without running a job in it
Problem:    Cannot open a terminal without running a job in it.
Solution:   Make ":terminal NONE" open a terminal with a pty.
2017-08-26 22:02:51 +02:00
Bram Moolenaar
dc926dd0dd patch 8.0.0969: Coverity warning for unused return value
Problem:    Coverity warning for unused return value.
Solution:   Add (void) to avoid the warning.
2017-08-19 21:26:44 +02:00
Bram Moolenaar
683b796725 patch 8.0.0964: channel write buffer does not work with poll()
Problem:    Channel write buffer does not work with poll().
Solution:   Use the same mechanism as with select().
2017-08-19 15:51:59 +02:00
Bram Moolenaar
f66a2cda2c patch 8.0.0959: build failure on MS-Windows
Problem:    Build failure on MS-Windows.
Solution:   Use ioctlsocket() instead of fcntl().
2017-08-18 21:53:22 +02:00
Bram Moolenaar
97bd5e6527 patch 8.0.0957: a terminal job can deadlock when sending many keys
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.
2017-08-18 20:50:30 +02:00
Bram Moolenaar
dcaa61384c patch 8.0.0928: MS-Windows: passing arglist to job has escaping problems
Problem:    MS-Windows: passing arglist to job has escaping problems.
Solution:   Improve escaping. (Yasuhiro Matsumoto, closes #1954)
2017-08-13 17:13:09 +02:00
Bram Moolenaar
37c4583594 patch 8.0.0916: cannot specify properties of window for terminal open
Problem:    Cannot specify properties of window for when opening a window for
            a finished terminal job.
Solution:   Add "term_opencmd".
2017-08-12 16:01:04 +02:00
Bram Moolenaar
8cad930a25 patch 8.0.0912: cannot run a job in a hidden terminal
Problem:    Cannot run a job in a hidden terminal.
Solution:   Add option "hidden" and ++hidden.
2017-08-12 14:32:32 +02:00
Bram Moolenaar
da43b61ddd patch 8.0.0910: cannot create a terminal in the current window
Problem:    Cannot create a terminal in the current window.
Solution:   Add option "curwin" and ++curwin.
2017-08-11 22:27:50 +02:00
Bram Moolenaar
8ed5400739 patch 8.0.0909: channel test fails
Problem:    Channel test fails.
Solution:   Allow for "cwd" and "env" arguments.
2017-08-11 22:22:36 +02:00
Bram Moolenaar
08d384ff3a patch 8.0.0908: cannot set terminal size with options
Problem:    Cannot set terminal size with options.
Solution:   Add "term_rows", "term_cols" and "vertical".
2017-08-11 21:51:23 +02:00
Bram Moolenaar
05aafed54b patch 8.0.0902: cannot specify directory or environment for a job
Problem:    Cannot specify directory or environment for a job.
Solution:   Add the "cwd" and "env" arguments to job options. (Yasuhiro
            Matsumoto, closes #1160)
2017-08-11 19:12:11 +02:00
Bram Moolenaar
2d33e90f81 patch 8.0.0899: function name mch_stop_job() is confusing
Problem:    Function name mch_stop_job() is confusing.
Solution:   Rename to mch_signal_job().
2017-08-11 16:31:54 +02:00
Bram Moolenaar
f1237f1814 patch 8.0.0897: wrong error message for invalid term_finish value
Problem:    Wrong error message for invalid term_finish value
Solution:   Pass the right argument to emsg().
2017-08-11 15:45:28 +02:00
Bram Moolenaar
dd693ce28b patch 8.0.0896: cannot close a terminal window when the job ends
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.
2017-08-10 23:15:19 +02:00
Bram Moolenaar
a9f028103f patch 8.0.0869: job output is sometimes not displayed in a terminal
Problem:    Job output is sometimes not displayed in a terminal.
Solution:   Flush output before closing the channel.
2017-08-05 17:40:38 +02:00
Bram Moolenaar
8456ea8050 patch 8.0.0865: cannot build with channel but without terminal feature
Problem:    Cannot build with channel but without terminal feature.
Solution:   Add #ifdef
2017-08-05 15:02:05 +02:00
Bram Moolenaar
78712a7733 patch 8.0.0864: cannot specify the name of a terminal
Problem:    Cannot specify the name of a terminal.
Solution:   Add the "term_name" option. (Yasuhiro Matsumoto, closes #1936)
2017-08-05 14:50:12 +02:00
Bram Moolenaar
6b7355a30d patch 8.0.0860: side effects when channel appends to a buffer
Problem:    There may be side effects when a channel appends to a buffer that
            is not the current buffer.
Solution:   Properly switch to another buffer before appending. (Yasuhiro
            Matsumoto, closes #1926, closes #1937)
2017-08-04 21:37:54 +02:00
Bram Moolenaar
3c3a80dc59 patch 8.0.0849: crash when job exit callback wipes the terminal
Problem:    Crash when job exit callback wipes the terminal.
Solution:   Check for b_term to be NULL.  (Yasuhiro Matsumoto, closes #1922)
            Implement options for term_start() to be able to test.
            Make term_wait() more reliable.
2017-08-03 17:06:45 +02:00
Bram Moolenaar
2f3a90a3bd patch 8.0.0848: using multiple ch_log functions is clumsy
Problem:    Using multiple ch_log functions is clumsy.
Solution:   Use variable arguments. (Ozaki Kiichi, closes #1919)
2017-08-03 14:49:29 +02:00
Bram Moolenaar
7c9aec4ac8 patch 8.0.0846: cannot get the name of the pty of a job
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.
2017-08-03 13:51:25 +02:00
Bram Moolenaar
d85f271bf8 patch 8.0.0797: finished job in terminal window is not handled
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.
2017-07-28 21:51:57 +02:00
Bram Moolenaar
1f2903c431 patch 8.0.0761: options not set properly for a terminal buffer
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.
2017-07-23 19:51:01 +02:00
Bram Moolenaar
61a6605ea1 patch 8.0.0746: when :term fails the job is not properly cleaned up
Problem:    When :term fails the job is not properly cleaned up.
Solution:   Free the terminal. Handle a job that failed to start. (closes
            #1858)
2017-07-22 18:39:00 +02:00
Bram Moolenaar
5a1feb8091 patch 8.0.0744: terminal window does not use a pty
Problem:    A terminal window uses pipes instead of a pty.
Solution:   Add pty support.
2017-07-22 18:04:08 +02:00
Bram Moolenaar
8f84c3a866 patch 8.0.0742: terminal feature does not work on MS-Windows
Problem:    Terminal feature does not work on MS-Windows.
Solution:   Use libvterm and libwinpty on MS-Windows. (Yasuhiro Matsumoto)
2017-07-22 16:14:44 +02:00
Bram Moolenaar
96ca27a0ee patch 8.0.0728: the terminal structure is never freed
Problem:    The terminal structure is never freed.
Solution:   Free the structure and unreference what it contains.
2017-07-17 23:20:24 +02:00
Bram Moolenaar
c0aa482a5a patch 8.0.0719: build failure without +terminal feature
Problem:    Build failure without +terminal feature.
Solution:   Add #ifdefs.
2017-07-16 14:04:29 +02:00
Bram Moolenaar
cb8bbe9bf3 patch 8.0.0718: output of job in terminal is not displayed
Problem:    Output of job in terminal is not displayed.
Solution:   Connect the job output to the terminal.
2017-07-16 13:48:22 +02:00
Bram Moolenaar
c4da113ef9 patch 8.0.0716: not easy to start Vim cleanly
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".
2017-07-15 19:39:43 +02:00
Bram Moolenaar
29ae377ea7 patch 8.0.0592: if a job writes to a buffer screen is not updated
Problem:    If a job writes to a buffer and the user is typing a command, the
            screen isn't updated. When a message is displayed the changed
            buffer may cause it to be cleared. (Ramel Eshed)
Solution:   Update the screen and then the command line if the screen didn't
            scroll. Avoid inserting screen lines, as it clears any message.
            Update the status line when the buffer changed.
2017-04-30 19:39:39 +02:00
Bram Moolenaar
1a9020d4cb patch 8.0.0588: job_stop() often assumes the channel will be closed
Problem:    job_stop() often assumes the channel will be closed, while the job
            may not actually be stopped. (Martin Gammelsæter)
Solution:   Only assume the job stops on "kill".  Don't send a signal if the
            job has already ended. (closes #1632)
2017-04-29 16:24:38 +02:00
Bram Moolenaar
866c688610 patch 8.0.0544: cppcheck warnings
Problem:    Cppcheck warnings.
Solution:   Use temp variable. Change NUL to NULL. Swap conditions. (Dominique
            Pelle)
2017-04-07 14:02:01 +02:00
Bram Moolenaar
b113c3a618 patch 8.0.0387: compiler warnings
Problem:    compiler warnings
Solution:   Add type casts. (Christian Brabandt)
2017-02-28 21:26:17 +01:00
Bram Moolenaar
88989cc381 patch 8.0.0312: failure when a channel receives a split json message
Problem:    When a json message arrives in pieces, the start is dropped and
            the decoding fails.
Solution:   Do not drop the start when it is still needed. (Kay Zheng)  Add a
            test.  Reset the timeout when something is received.
2017-02-06 21:56:09 +01:00
Bram Moolenaar
7173b47958 patch 8.0.0183: ubsan warns for unaligned address
Problem:    Ubsan warns for using a pointer that is not aligned.
Solution:   First copy the address. (Yegappan Lakshmanan)
2017-01-14 17:04:38 +01:00
Bram Moolenaar
03c60c1573 patch 8.0.0166: JSON with a duplicate key gives an internal error
Problem:    JSON with a duplicate key gives an internal error. (Lcd)
Solution:   Give a normal error.  Avoid an error when parsing JSON from a
            remote client fails.
2017-01-10 15:15:37 +01:00
Bram Moolenaar
de33011ec6 patch 8.0.0160: EMSG() is sometimes used where it should be IEMSG()
Problem:    EMSG() is sometimes used for internal errors.
Solution:   Change them to IEMSG(). (Dominique Pelle)  And a few more.
2017-01-08 20:50:52 +01:00
Bram Moolenaar
958dc6923d patch 8.0.0107
Problem:    When reading channel output in a timer, messages may go missing.
            (Skywind)
Solution:   Add the "drop" option.  Write error messages in the channel log.
            Don't have ch_canread() check for the channel being open.
2016-12-01 15:34:12 +01:00
Bram Moolenaar
4b785f69c0 patch 8.0.0105
Problem:    When using ch_read() with zero timeout, can't tell the difference
            between reading an empty line and nothing available.
Solution:   Add ch_canread().
2016-11-29 21:54:44 +01:00
Bram Moolenaar
8a8199e4a1 patch 8.0.0103
Problem:    May not process channel readahead. (skywind)
Solution:   If there is readahead don't block on input.
2016-11-26 15:13:33 +01:00
Bram Moolenaar
833eb1d752 patch 8.0.0097
Problem:    When a channel callback consumes a lot of time Vim becomes
            unresponsive. (skywind)
Solution:   Bail out of checking channel readahead after 100 msec.
2016-11-24 17:22:50 +01:00
Bram Moolenaar
7df915d113 patch 8.0.0087
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)
2016-11-17 17:25:32 +01:00
Bram Moolenaar
3f7d090726 patch 8.0.0082
Problem:    Extension for configure should be ".ac".
Solution:   Rename configure.in to configure.ac. (James McCoy, closes #1173)
2016-11-12 21:13:42 +01:00
Bram Moolenaar
79cbdcb1ee patch 8.0.0076
Problem:    Channel log has double parens ()().
Solution:   Remove () for write_buf_line. (Yasuhiro Matsumoto)
2016-11-11 21:14:03 +01:00
Bram Moolenaar
01688ad545 patch 8.0.0050
Problem:    An exiting job is detected with a large latency.
Solution:   Check for pending job more often. (Ozaki Kiichi)  Change the
            double loop in mch_inchar() into one.
2016-10-27 20:00:07 +02:00