0
0
mirror of https://github.com/vim/vim.git synced 2025-11-15 23:14:06 -05:00
Commit Graph

409 Commits

Author SHA1 Message Date
Bram Moolenaar
437bafe4c8 patch 7.4.2137
Problem:    Using function() with a name will find another function when it is
            redefined.
Solution:   Add funcref().  Refer to lambda using a partial.  Fix several
            reference counting issues.
2016-08-01 15:40:54 +02:00
Bram Moolenaar
57e69ff2cc patch 7.4.2131
Problem:    More memory leaks when using partial, e.g. for "exit-cb".
Solution:   Don't copy the callback when using a partial.
2016-07-30 23:05:09 +02:00
Bram Moolenaar
df48fb456f patch 7.4.2090
Problem:    Using submatch() in a lambda passed to substitute() is verbose.
Solution:   Use a static list and pass it as an optional argument to the
            function.  Fix memory leak.
2016-07-22 21:50:18 +02:00
Bram Moolenaar
5ef2e76284 patch 7.4.2045
Problem:    Memory leak when using a function callback.
Solution:   Don't save the function name when it's in the partial.
2016-07-15 21:29:35 +02:00
Bram Moolenaar
1436d8d51c patch 7.4.2026
Problem:    Reference counting for callbacks isn't right.
Solution:   Add free_callback(). (Ken Takata)  Fix reference count.
2016-07-11 22:41:15 +02:00
Bram Moolenaar
7c0a2f367f patch 7.4.2024
Problem:    More buf_valid() calls can be optimized.
Solution:   Use bufref_valid() instead.
2016-07-10 22:11:16 +02:00
Bram Moolenaar
bf2cc5f36d patch 7.4.1998
Problem:    When writing buffer lines to a job there is no NL to NUL
            conversion.
Solution:   Make it work symmetrical with writing lines from a job into a
            buffer.
2016-07-07 20:45:06 +02:00
Bram Moolenaar
adb78a77eb patch 7.4.1965
Problem:    When using a job in raw mode to append to a buffer garbage
            characters are added.
Solution:   Do not replace the trailing NUL with a NL. (Ozaki Kiichi)
2016-06-27 21:10:31 +02:00
Bram Moolenaar
aad30bbcde patch 7.4.1959
Problem:    Crash when running test_channel.vim on Windows.
Solution:   Check for NULL pointer result from FormatMessage(). (Christian
            Brabandt)
2016-06-26 17:31:03 +02:00
Bram Moolenaar
cf08946349 patch 7.4.1924
Problem:    Missing "void" for functions without argument.
Solution:   Add "void". (Hirohito Higashi)
2016-06-12 21:18:43 +02:00
Bram Moolenaar
5f1032d2a5 patch 7.4.1906
Problem:    Collapsing channel buffers and searching for NL does not work
            properly. (Xavier de Gary, Ramel Eshed)
Solution:   Do not assume the buffer contains a NUL or not.  Change NUL bytes
            to NL to avoid the string is truncated.
2016-06-07 22:16:36 +02:00
Bram Moolenaar
bbe8d91e69 patch 7.4.1902
Problem:    No test for collapsing buffers for a channel.  Some text is lost.
Solution:   Add a simple test.  Set rq_buflen correctly.
2016-06-05 16:10:57 +02:00
Bram Moolenaar
9ed96efb3d patch 7.4.1891
Problem:    Channel reading very long lines is slow.
Solution:   Collapse multiple buffers until a NL is found.
2016-06-04 17:17:11 +02:00
Bram Moolenaar
cf7c11a947 patch 7.4.1878
Problem:    Whether a job has exited isn't detected until a character is
            typed.  After calling exit_cb the cursor is in the wrong place.
Solution:   Don't wait forever for a character to be typed when there is a
            pending job.  Update the screen if neede after calling exit_cb.
2016-06-02 20:05:26 +02:00
Bram Moolenaar
ef3abc6442 patch 7.4.1859
Problem:    Cannot use a function reference for "exit_cb".
Solution:   Use get_callback(). (Yegappan Lakshmanan)
2016-05-29 16:44:26 +02:00
Bram Moolenaar
b127cfd75f patch 7.4.1858
Problem:    When a channel writes to a buffer it doesn't find a buffer by the
            short name but re-uses it anyway.
Solution:   Find buffer also by the short name.
2016-05-29 16:24:50 +02:00
Bram Moolenaar
9f5842e63f patch 7.4.1857
Problem:    When a channel appends to a buffer that is 'nomodifiable' there is
            an error but appending is done anyway.
Solution:   Add the 'modifiable' option.  Refuse to write to a 'nomodifiable'
            when the value is 1.
2016-05-29 16:17:08 +02:00
Bram Moolenaar
655da31a18 patch 7.4.1855
Problem:    Valgrind reports memory leak for job that is not freed.
Solution:   Free all jobs on exit.  Add test for failing job.
2016-05-28 22:22:34 +02:00
Bram Moolenaar
28ae577342 patch 7.4.1853
Problem:    Crash when job and channel are in the same dict while using
            partials. (Luc Hermitte)
Solution:   Do not decrement the channel reference count too early.
2016-05-28 14:16:10 +02:00
Bram Moolenaar
bf981eeb6b patch 7.4.1850
Problem:    GUI freezes when using a job. (Shougo)
Solution:   Unregister the channel when there is an input error.
2016-05-28 13:20:31 +02:00
Bram Moolenaar
5850a764ea patch 7.4.1849
Problem:    Still trying to read from channel that is going to be closed.
            (Ramel Eshed)
Solution:   Check if ch_to_be_closed is set.
2016-05-27 19:59:48 +02:00
Bram Moolenaar
f8df45d84f patch 7.4.1845
Problem:    Mentioning NetBeans when reading from channel. (Ramel Eshed)
Solution:   Make the text more generic.
2016-05-25 21:48:13 +02:00
Bram Moolenaar
de7eb0a47b patch 7.4.1829
Problem:    No message on channel log when buffer was freed.
Solution:   Log a message.
2016-05-09 20:54:33 +02:00
Bram Moolenaar
e0f76d0097 patch 7.4.1828
Problem:    May try to access buffer that's already freed.
Solution:   When freeing a buffer remove it from any channel.
2016-05-09 20:38:53 +02:00
Bram Moolenaar
fb6ffc732e patch 7.4.1827
Problem:    No error when invoking a callback when it's not safe.
Solution:   Add an error message.  Avoid the error when freeing a channel.
2016-05-09 17:58:04 +02:00
Bram Moolenaar
cf7ff70ca7 patch 7.4.1826
Problem:    Callbacks are invoked when it's not safe. (Andrew Stewart)
Solution:   When a channel is to be closed don't invoke callbacks right away,
            wait for a safe moment.
2016-05-09 17:20:14 +02:00
Bram Moolenaar
5d96e3ae53 patch 7.4.1825
Problem:    When job writes to buffer nothing is written. (Nicola)
Solution:   Do not discard a channel before writing is done.
2016-05-08 21:47:01 +02:00
Bram Moolenaar
36e0f7da9b patch 7.4.1824
Problem:    When a job is no longer referenced and does not have an exit
            callback the process may hang around in defunc state. (Nicola)
Solution:   Call job_status() if the job is running and won't get freed
            because it might still be useful.
2016-05-08 13:21:12 +02:00
Bram Moolenaar
cefe4f9948 patch 7.4.1817
Problem:    The screen is not updated if a callback is invoked when closing a
            channel.
Solution:   Invoke redraw_after_callback().
2016-05-04 21:49:19 +02:00
Bram Moolenaar
b8d4905592 patch 7.4.1814
Problem:    A channel may be garbage collected while it's still being used by
            a job. (James McCoy)
Solution:   Mark the channel as used if the job is still used.  Do the same
            for channels that are still used.
2016-05-01 14:22:16 +02:00
Bram Moolenaar
715d285d79 patch 7.4.1810
Problem:    Sending DETACH after a channel was closed isn't useful.
Solution:   Only add DETACH for a netbeans channel.
2016-04-30 17:06:31 +02:00
Bram Moolenaar
d75263c020 patch 7.4.1807
Problem:    Test_out_close_cb sometimes fails.
Solution:   Always write DETACH to out, not err.
2016-04-30 16:07:23 +02:00
Bram Moolenaar
674127e180 patch 7.4.1791
Problem:    Channel could be garbage collected too early.
Solution:   Don't free a channel or remove it from a job when it is still
            useful.
2016-04-26 20:30:07 +02:00
Bram Moolenaar
437905c25d patch 7.4.1789
Problem:    Cannot use ch_read() in the close callback.
Solution:   Do not discard the channel if there is readahead.  Do not discard
            readahead if there is a close callback.
2016-04-26 19:01:05 +02:00
Bram Moolenaar
b2658a1ab0 patch 7.4.1787
Problem:    When a job ends the close callback is invoked before other
            callbacks. On Windows the close callback is not called.
Solution:   First invoke out/err callbacks before the close callback.
            Make the close callback work on Windows.
2016-04-26 17:16:24 +02:00
Bram Moolenaar
7f7c3325d3 patch 7.4.1750
Problem:    When a buffer gets updated while in command line mode, the screen
            may be messed up.
Solution:   Postpone the redraw when the screen is scrolled.
2016-04-18 19:27:24 +02:00
Bram Moolenaar
ebf7dfa6f1 patch 7.4.1727
Problem:    Cannot detect a crash in tests when caused by garbagecollect().
Solution:   Add garbagecollect_for_testing().  Do not free a job if is still
            useful.
2016-04-14 12:46:51 +02:00
Bram Moolenaar
107e1eef1d patch 7.4.1719
Problem:    Leaking memory when there is a cycle involving a job and a
            partial.
Solution:   Add a copyID to job and channel.  Set references in items referred
            by them.  Go through all jobs and channels to find unreferenced
            items.  Also, decrement reference counts when garbage collecting.
2016-04-08 17:07:19 +02:00
Bram Moolenaar
0e4c1de556 patch 7.4.1717
Problem:    Leaking memory when opening a channel fails.
Solution:   Unreference partials in job options.
2016-04-07 21:40:38 +02:00
Bram Moolenaar
bdf0bda968 patch 7.4.1687
Problem:    The channel close_cb option does not work.
Solution:   Use jo_close_partial instead of jo_err_partial. (Damien)
2016-03-30 21:06:57 +02:00
Bram Moolenaar
925ccfde79 patch 7.4.1680
Problem:    Coverity warns for not checking name length (false positive).
Solution:   Only copy the characters we know are there.
2016-03-28 22:38:02 +02:00
Bram Moolenaar
8b877ac38e patch 7.4.1669
Problem:    When writing buffer lines to a pipe Vim may block.
Solution:   Avoid blocking, write more lines later.
2016-03-28 19:16:20 +02:00
Bram Moolenaar
ee1f7b3cb7 patch 7.4.1668
Problem:    channel_get_all() does multiple allocations.
Solution:   Compute the size and allocate once.
2016-03-28 14:42:14 +02:00
Bram Moolenaar
84e1d2b21a patch 7.4.1667
Problem:    Win32: waiting on a pipe with fixed sleep time.
Solution:   Start with a short delay and increase it when looping.
2016-03-28 14:20:41 +02:00
Bram Moolenaar
46c00a6565 patch 7.4.1666
Problem:    When reading JSON from a channel all readahead is used.
Solution:   Use the fill function to reduce overhead.
2016-03-28 14:11:42 +02:00
Bram Moolenaar
8038568722 patch 7.4.1665
Problem:    Crash when calling job_start() with a NULL string. (Dominique)
Solution:   Check for an invalid argument.
2016-03-27 19:13:35 +02:00
Bram Moolenaar
c4dcd60c76 patch 7.4.1662
Problem:    No test for an invalid Ex command on a channel.
Solution:   Test handling an invalid command gracefully.  Avoid getting an
            error message, do write it to the channel log.
2016-03-26 22:56:46 +01:00
Bram Moolenaar
573e445664 patch 7.4.1631
Problem:    Compiler doesn't understand switch on all enum values. (Tony
            Mechelynck)
Solution:   Initialize variable.
2016-03-21 22:35:10 +01:00
Bram Moolenaar
3f3fbd3fdb patch 7.4.1628
Problem:    64-bit Compiler warning.
Solution:   Change type of variable. (Mike Williams)
2016-03-21 12:36:28 +01:00
Bram Moolenaar
03602ec28e patch 7.4.1624
Problem:    Can't get info about a channel.
Solution:   Add ch_info().
2016-03-20 20:57:45 +01:00