oni-link
971fd3e18e
vim-patch:7.4.236
...
Problem: It's not that easy to check the Vim patch version.
Solution: Make has("patch-7.4.123") work. (partly by Marc Weber)
https://code.google.com/p/vim/source/detail?r=a44087db72386d080e9da870d751daf498004be8
2014-04-19 09:40:18 -03:00
John Schmidt
63cc8b6934
Remove lalloc_clear
...
Use `xcalloc` instead. Change some local variables
to avoid casting.
2014-04-19 09:36:17 -03:00
Thiago de Arruda
204d3dfafc
Add missing names to BACKERS.md
2014-04-18 16:28:47 -03:00
Thiago de Arruda
587f5f0aab
Fix bug of job_stop
not emitting JobExit
...
The `job_stop` function was calling `uv_read_stop` on the std{out,err} streams.
This is now responsibility of `RStream` and because of those calls `job_stop`
wasn't emitting the `JobExit` event.
2014-04-18 16:12:26 -03:00
Thiago de Arruda
7fb36ebb1d
Remove unnecessary cleanup label from job_start
...
The argument vector is now freed in the `close_cb` function in job.c
2014-04-18 16:12:00 -03:00
Thiago de Arruda
246d92edb5
Free job data on close_cb
2014-04-18 16:12:00 -03:00
Thiago de Arruda
9979e9eac9
Stop job prepare watcher when there are no jobs
...
No need to check for job status when no jobs are running
2014-04-18 16:12:00 -03:00
Thiago de Arruda
d59034ea93
Refactor job.c module to use WStream
...
After a job has accumulated 1mb of stdin data we assume that it's stuck and kill
it.
2014-04-18 16:12:00 -03:00
Thiago de Arruda
913e92324a
Extract writing boilerplate into wstream.c module
2014-04-18 16:12:00 -03:00
Thiago de Arruda
d31d3dda3d
Correctly free libuv handles
...
This ensures memory chunks for libuv handles are only freed after the event loop
no longer has references to it.
2014-04-18 16:11:59 -03:00
Thiago de Arruda
9acb960713
Refactor job control to use RStream events
...
Instead of a single 'job read' callback, job control consumers need to provide
callbacks for "stdout read", "stderr read" and "exit". For vimscript, the
JobActivity autocommand is still used to handle every job event, for example:
```vim
:let srv1_id = jobstart('netcat-server-1', 'nc', ['-l', '9991'])
:let srv2_id = jobstart('netcat-server-2', 'nc', ['-l', '9991'])
function JobEvent()
" v:job_data[0] = the job id
" v:job_data[1] = the event type, one of "stdout", "stderr" or "exit"
" v:job_data[2] = data read from stdout or stderr
if v:job_data[1] == 'stdout'
let str = 'Message from job '.v:job_data[0].': '.v:job_data[2]
elseif v:job_data[1] == 'stderr'
let str = 'Error message from job '.v:job_data[0].': '.v:job_data[2]
else
" Exit
let str = 'Job '.v:job_data[0].' exited'
endif
call append(line('$'), str)
endfunction
au JobActivity netcat-server-* call JobEvent()
```
And to see messages from 'job 1', run in another terminal:
```sh
bash -c "while true; do echo 123; sleep 1; done" | nc localhost 9991
```
2014-04-18 16:11:59 -03:00
Thiago de Arruda
350144f511
Create EventType for RStream reading
...
RStream will be the main way Neovim receives asynchronous messages, so it is
best to have a specialized EventType for it. A new flag parameter was added to
`rstream_new` which tells the RStream instance to defer event handling for later
with KE_EVENT instead of handling it directly from libuv callback.
2014-04-18 16:11:59 -03:00
Thiago de Arruda
c40428c934
Deal with backpressure on RStream instances
...
Each RStream instance will now stop its libuv watcher when the buffer is full,
and automatically restart when some data is read with `rstream_read`.
2014-04-18 16:11:59 -03:00
ccvergara
9d16a6b370
update backers.md with bountysource survey responses
2014-04-18 15:49:49 -03:00
Richard Hartmann
d422b994aa
Correct 'RichiH' name in BACKERS.md
2014-04-18 10:55:15 -03:00
oni-link
c142abf7e8
vim-patch:7.4.226
...
Problem: Cursurline highlighting not redrawn when scrolling. (John
Marriott)
Solution: Check for required redraw in two places.
https://code.google.com/p/vim/source/detail?r=b650f2db8f9604124c0ddfb14af0c04bd4ae0580
2014-04-18 10:03:07 -03:00
oni-link
ca4005d759
vim-patch:7.4.245
...
Problem: Crash for "vim -u NONE -N -c '&&'".
Solution: Check for the pattern to be NULL. (Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=80421d934ebde183ce545ab8d9eb3a4c2065c169
2014-04-17 17:49:12 -03:00
Marco Hinz
85b5a75a69
Remove 'textmode' option
...
'textmode' is an option obsoleted for at least 10 years in favor of
'fileformat'.
2014-04-16 20:18:37 -03:00
Thiago de Arruda
a53f784738
Handle special KE_EVENT case where maxlen < 3
...
Possible bug reported by @oni-link [here](https://github.com/neovim/neovim/pull/485/files#r11664573 ).
It was handled by doing a circular walk through a key buffer and saving the
index between calls with a static variable.
Also replaced some `char_u` occurrences by `uint8_t` and removed unused
headers in input.c module.
2014-04-16 19:54:57 -03:00
Thiago de Arruda
937922271a
Configure travis to use prebuilt dependencies
...
Dependencies are now hosted in a github repository and this brings two advantages:
- Improved build time with travis since we no longer have to build each
dependency
- Less chance of build errors due to external servers being down since Github is
now the single point of failure
2014-04-16 19:43:45 -03:00
Marco Hinz
43c6ec6803
Remove modelines
...
Removed modelines are better than modelines that differ from file to
file.
2014-04-16 14:03:19 -03:00
Thiago de Arruda
f276e97de9
Refactor input module to use RStream class
2014-04-16 09:56:45 -03:00
Thiago de Arruda
6e4e40a0f7
Refactor job control module to use RStream class
2014-04-16 09:56:45 -03:00
Thiago de Arruda
001d05541b
Extract reading boilerplate into rstream.c module
...
The `RStream` class hides the differences between files and other types of
streams with a simpler, general-purpose API for performing non-blocking reads
with libuv. Most of the code was adapted from input.c.
2014-04-16 09:56:45 -03:00
Klemen Košir
b405a64133
Initialize a variable.
2014-04-16 09:50:27 -03:00
Marco Hinz
b94239e03c
vim-patch:7.4.253
...
Problem: Crash when using cpp syntax file with pattern using external
match. (Havard Garnes)
Solution: Discard match when end column is before start column.
https://code.google.com/p/vim/source/detail?r=4901a36479f200b2e6700ad91c26911d92deb886
2014-04-16 09:48:50 -03:00
Marco Hinz
cb0adf60de
vim-patch:7.4.251
...
Problem: Crash when BufAdd autocommand wipes out the buffer.
Solution: Check for buffer to still be valid. Postpone freeing the
buffer structure. (Hirohito Higashi)
https://code.google.com/p/vim/source/detail?r=29eb4c2a33ac701bfcd4d2e2bed7864eba876e0e
2014-04-16 09:46:01 -03:00
Marco Hinz
40970917dc
vim-patch:7.4.240
...
Problem: ":tjump" shows "\n" as "\\n".
Solution: Skip over "\" that escapes a backslash. (Gary Johnson)
https://code.google.com/p/vim/source/detail?r=8d1ba0a23588932d22ad37cbd87ae3bbd4bfeff8
2014-04-16 09:45:08 -03:00
Marco Hinz
fca5a5e744
vim-patch:7.4.239
...
Problem: ":e +" does not position cursor at end of the file.
Solution: Check for "+" being the last character (ZyX)
https://code.google.com/p/vim/source/detail?r=98bfec9ea7608f312129475d4ca0ae6d1c6c232e
2014-04-16 09:43:23 -03:00
Marco Hinz
62d6564b09
vim-patch:7.4.234
...
Problem: Can't get the command that was used to start Vim.
Solution: Add v:progpath. (Viktor Kojouharov)
https://code.google.com/p/vim/source/detail?r=d2286df8719d6e99c743e3bf6ac14d1f9debc84d
2014-04-16 09:41:47 -03:00
Marco Hinz
54f425adc5
vim-patch:7.4.233
...
Problem: Escaping special characters for using "%" with a shell command
is inconsistant: parentheses are escaped but spaces are not.
Solution: Only escape "!". (Gary Johnson)
https://code.google.com/p/vim/source/detail?r=22a1d5762ba3a75984e89dcc47a65498f63a6c2c
2014-04-16 09:38:01 -03:00
Marco Hinz
0e1e9148a3
vim-patch:7.4.232
...
Problem: ":%s/\n//" uses a lot of memory. (Aidan Marlin)
Solution: Turn this into a join command. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=845608965bd9d0b2755997a7be812746885ff105
2014-04-16 09:35:18 -03:00
Marco Hinz
d322be894e
vim-patch:7.4.229
...
Problem: Using ":let" for listing variables and the second one is a
curly braces expression may fail.
Solution: Check for an "=" in a better way. (ZyX)
https://code.google.com/p/vim/source/detail?r=839cca5ec18d560e3714065e54ed38b6e812aaf7
2014-04-16 09:32:50 -03:00
Marco Hinz
a129ab20e7
vim-patch:7.4.221
...
Problem: Quickfix doesn't resize on ":copen 20".
Solution: Resize the window when requested. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=a548aae15b3a27a56d814900049785c29c01a37a
2014-04-16 09:31:25 -03:00
Marco Hinz
f54c050cf3
vim-patch:7.4.218
...
Problem: It's not easy to remove duplicates from a list.
Solution: Add the uniq() function. (LCD)
https://code.google.com/p/vim/source/detail?r=ddc3f32a4b2191f829206322d46f0e9c7e365e22
2014-04-16 09:29:33 -03:00
Marco Hinz
98b0a6ffb4
vim-patch:7.4.215
...
Problem: Inconsistency: ":sp foo" does not reload "foo", unless "foo"
is the current buffer. (Liang Li)
Solution: Do not reload the current buffer on a split command.
https://code.google.com/p/vim/source/detail?r=f069a3a0f84451aa498c6c22d8f922d1e695e96d
2014-04-16 09:18:08 -03:00
oni-link
1b55b127cb
vim-patch:7.4.219
...
Problem: When 'relativenumber' or 'cursorline' are set the window is
redrawn much to often. (Patrick Hemmer, Dominique Pelle)
Solution: Check the VALID_CROW flag instead of VALID_WROW.
https://code.google.com/p/vim/source/detail?r=37af1e6e91bb1e8ceb89d3ba1c49a04ffd889880
2014-04-14 18:26:24 -03:00
oni-link
824d64cb18
vim-patch:7.4.213
...
Problem: It's not possible to open a new buffer without creating a swap
file.
Solution: Add the ":noswapfile" modifier. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=e25a04c1c515e6eb32197291472f89bcadfabf89
2014-04-14 18:23:57 -03:00
oni-link
965f587061
vim-patch:7.4.210
...
Problem: Visual block mode plus virtual edit doesn't work well with tabs.
(Liang Li)
Solution: Take coladd into account. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=420fd9cb86d51a92c4307a746557e81914c6d6c4
2014-04-14 18:21:50 -03:00
oni-link
421c388bb7
vim-patch:7.4.209
...
Problem: When repeating a filter command "%" and "#" are expanded.
Solution: Escape the command when storing for redo. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=bb402c49379de97fcd475fbbbbdc5ed41e5dff07
2014-04-14 18:19:10 -03:00
Thiago de Arruda
4a13143263
Bump LuaJIT to version 2.0.3
...
This update should fix some build problems as shown in the changelog:
http://luajit.org/changes.html
2014-04-14 17:41:14 -03:00
Thiago de Arruda
5eae88d0fa
Add more commented patch numbers to version.c
...
This should help reduce conflicts when merging patches from upstream
2014-04-14 17:19:40 -03:00
oni-link
71e1cccc7a
vim-patch:7.4.207
...
Problem: The cursor report sequence is sometimes not recognized and results
in entering replace mode.
Solution: Also check for the cursor report when not asked for.
https://code.google.com/p/vim/source/detail?r=2aa909427e44cd3aac7def024b66e41d0c9d0e0d
2014-04-14 16:57:44 -03:00
Thiago de Arruda
78fd9386b6
Fix unit tests
...
Apparently busted 1.11.0 is broken(https://github.com/Olivine-Labs/busted/issues/236 )
in a way that is causing the unit tests to fail. This pins the version to 1.10.0
and also fixes a wrong variable set when msgpack was added as a dependency
2014-04-14 16:46:16 -03:00
Will Tange
ed73da9f0e
Bring neovim up to date with recent libuv changes
...
As of v0.11.23 libuv's uv_timer_cb, uv_async_cb, uv_prepare_cb, uv_check_cb and
uv_idle_cb no longer require a status parameter (this went unused in the first
place).
Bump third-party dependency `libuv` up to 0.11.23 and remove the extra
parameters from the callbacks.
2014-04-14 12:59:55 -03:00
oni-link
a881273dad
vim-patch:7.4.191
...
Problem: Escaping a file name for shell commands can't be done without a
function.
Solution: Add the :S file name modifier.
https://code.google.com/p/vim/source/detail?r=40f18a1c1592c8b4047f6f2a413557f48a99c55f
2014-04-14 09:54:40 -03:00
oni-link
644ccdafe0
vim-patch:7.4.205
...
Problem: ":mksession" writes command to move to second argument while it
does not exist. When it does exist the order might be wrong.
Solution: Use ":argadd" for each argument instead of using ":args" with a
list of names. (Nobuhiro Takasaki)
https://code.google.com/p/vim/source/detail?r=0ace3a24c2a0153f0aaf9b619d3958e7f486705f
2014-04-14 09:53:02 -03:00
oni-link
30cd02301e
vim-patch:7.4.204
...
Problem: A mapping where the second byte is 0x80 doesn't work.
Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro
Takasaki)
https://code.google.com/p/vim/source/detail?r=f5120cbf16b9a9c6e0fbb599a6524e05ecf11393
2014-04-14 09:47:59 -03:00
Thiago de Arruda
4fb45579b5
Add lpeg as explicit third-party dependency
...
It was being installed because of moonscript, but now it's listed as a
dependency explicitly.
2014-04-13 07:32:52 -03:00
Thiago de Arruda
15f3bae801
Add checks for lpeg/cmsgpack lua packages
...
These checks will stop the build process with meaningful error messages if
any of those packages are not installed.
2014-04-13 07:32:52 -03:00