aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Extract writing boilerplate into wstream.c moduleThiago de Arruda2014-04-18
|
* Correctly free libuv handlesThiago de Arruda2014-04-18
| | | | | This ensures memory chunks for libuv handles are only freed after the event loop no longer has references to it.
* Refactor job control to use RStream eventsThiago de Arruda2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* Create EventType for RStream readingThiago de Arruda2014-04-18
| | | | | | | 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.
* Deal with backpressure on RStream instancesThiago de Arruda2014-04-18
| | | | | 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`.
* update backers.md with bountysource survey responsesccvergara2014-04-18
|
* Correct 'RichiH' name in BACKERS.mdRichard Hartmann2014-04-18
|
* vim-patch:7.4.226oni-link2014-04-18
| | | | | | | | 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
* vim-patch:7.4.245oni-link2014-04-17
| | | | | | | 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
* Remove 'textmode' optionMarco Hinz2014-04-16
| | | | | 'textmode' is an option obsoleted for at least 10 years in favor of 'fileformat'.
* Handle special KE_EVENT case where maxlen < 3Thiago de Arruda2014-04-16
| | | | | | | | | | 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.
* Configure travis to use prebuilt dependenciesThiago de Arruda2014-04-16
| | | | | | | | | 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
* Remove modelinesMarco Hinz2014-04-16
| | | | | Removed modelines are better than modelines that differ from file to file.
* Refactor input module to use RStream classThiago de Arruda2014-04-16
|
* Refactor job control module to use RStream classThiago de Arruda2014-04-16
|
* Extract reading boilerplate into rstream.c moduleThiago de Arruda2014-04-16
| | | | | | 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.
* Initialize a variable.Klemen Košir2014-04-16
|
* vim-patch:7.4.253Marco Hinz2014-04-16
| | | | | | | | | 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
* vim-patch:7.4.251Marco Hinz2014-04-16
| | | | | | | | | 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
* vim-patch:7.4.240Marco Hinz2014-04-16
| | | | | | | 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
* vim-patch:7.4.239Marco Hinz2014-04-16
| | | | | | | | 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
* vim-patch:7.4.234Marco Hinz2014-04-16
| | | | | | | | 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
* vim-patch:7.4.233Marco Hinz2014-04-16
| | | | | | | | | 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
* vim-patch:7.4.232Marco Hinz2014-04-16
| | | | | | | 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
* vim-patch:7.4.229Marco Hinz2014-04-16
| | | | | | | | 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
* vim-patch:7.4.221Marco Hinz2014-04-16
| | | | | | | | 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
* vim-patch:7.4.218Marco Hinz2014-04-16
| | | | | | | | 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
* vim-patch:7.4.215Marco Hinz2014-04-16
| | | | | | | | | 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
* vim-patch:7.4.219oni-link2014-04-14
| | | | | | | | 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
* vim-patch:7.4.213oni-link2014-04-14
| | | | | | | | 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
* vim-patch:7.4.210oni-link2014-04-14
| | | | | | | | 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
* vim-patch:7.4.209oni-link2014-04-14
| | | | | | | 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
* Bump LuaJIT to version 2.0.3Thiago de Arruda2014-04-14
| | | | | This update should fix some build problems as shown in the changelog: http://luajit.org/changes.html
* Add more commented patch numbers to version.cThiago de Arruda2014-04-14
| | | | This should help reduce conflicts when merging patches from upstream
* vim-patch:7.4.207oni-link2014-04-14
| | | | | | | | 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
* Fix unit testsThiago de Arruda2014-04-14
| | | | | | 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
* Bring neovim up to date with recent libuv changesWill Tange2014-04-14
| | | | | | | | | 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.
* vim-patch:7.4.191oni-link2014-04-14
| | | | | | | | 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
* vim-patch:7.4.205oni-link2014-04-14
| | | | | | | | | 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
* vim-patch:7.4.204oni-link2014-04-14
| | | | | | | | 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
* Add lpeg as explicit third-party dependencyThiago de Arruda2014-04-13
| | | | | It was being installed because of moonscript, but now it's listed as a dependency explicitly.
* Add checks for lpeg/cmsgpack lua packagesThiago de Arruda2014-04-13
| | | | | These checks will stop the build process with meaningful error messages if any of those packages are not installed.
* Use cmake to find a lua executableThiago de Arruda2014-04-13
| | | | | | | A lua executable is now required for the build process since a lpeg-based script is used for generating a dispatch function and metadata for the msgpack API frontend. This removes the need for setting the LUA_BINARY environment variable. Fixes #518.
* vim-patch:7.4.203oni-link2014-04-13
| | | | | | | Problem: Parsing 'errorformat' is not correct. Solution: Reset "multiignore" at the start of a multi-line message. (Lcd) https://code.google.com/p/vim/source/detail?r=fb24b025c7cf07db79a559a3091db42e02c1af86
* Rename os_total_mem to os_get_total_mem_kib.Chris Watkins2014-04-12
| | | | Also removed an unused parameter.
* vim-patch:7.4.167oni-link2014-04-12
| | | | | | | Problem: Fixes are not tested. Solution: Add a test for not autoloading on assignment. (Yukihiro Nakadaira) https://code.google.com/p/vim/source/detail?r=22387c8eec43ea8b1b704cad49c8f7187e2fd579
* vim-patch:7.4.193oni-link2014-04-12
| | | | | | | Problem: Typos in messages. Solution: "then" -> "than". (Dominique Pelle) https://code.google.com/p/vim/source/detail?r=a8650e2a0b5a5936f7d503429180df47df2aa775
* vim-patch 7.4.199Keerthan Jaic2014-04-12
| | | | | | | Problem: ]P doesn't paste over Visual selection. Solution: Handle Visual mode specifically. (Christian Brabandt) https://code.google.com/p/vim/source/detail?r=54b1a90c937380195fad6a52408aa3b4eed6d8d1
* updated readme headerStefan Hoffmann2014-04-11
|
* Add `msgpack_rpc_dispatch`/metadata generatorThiago de Arruda2014-04-11
| | | | | | | | | | | | | | | | | | This adds a lua script which parses the contents of 'api.h'. After the api is parsed into a metadata table. After that, it will generate: - A msgpack blob for the metadata table. This msgpack object contains everything scripting engines need to generate their own wrappers for the remote API. - The `msgpack_rpc_dispatch` function, which takes care of validating msgpack requests, converting arguments to C types and passing control to the appropriate 'api.h' function. The result is then serialized back to msgpack and returned to the client. This approach was used because: - It automatically modifies `msgpack_rpc_dispatch` to reflect API changes. - Scripting engines that generate remote call wrappers using the msgpack metadata will also adapt automatically to API changes