| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
This should help reduce conflicts when merging patches from upstream
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
Also removed an unused parameter.
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Problem: Typos in messages.
Solution: "then" -> "than". (Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=a8650e2a0b5a5936f7d503429180df47df2aa775
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Still missing the `msgpack_rpc_dispatch` function which will be automatically
generated by a script
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Problem: Memory leak when giving E853.
Solution: Free the argument. (Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=04c4ef8c0a1b757494500e46400552b135135e94
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
transstr() doesn't return NULL anymore.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the functions:
- ExpandBufnames
- buf_modname()
- do_autocmd_event()
- ff_create_stack_element()
- ff_get_visited_list()
- ins_complete()
- msg_show_console_dialog()
- prt_find_resource()
- vim_findfile_init()
TODO: refactor msg_show_console_dialog() to make sure it doesn't ever return
NULL.
|
| |
|
|
|
|
|
|
|
|
|
| |
`alloc_check` is just a wrapper around xmalloc, so we can remove it and use
xmalloc directly. ref #487 / #488
The call was replaced in the following files:
- ex_cmds.c
- misc1.c
- ops.c
|
| |
|
|
|
|
|
| |
Problem: Delete that crosses line break splits multi-byte character.
Solution: Advance a character instead of a byte. (Cade Foster)
https://code.google.com/p/vim/source/detail?r=a1c07956171a133583df42627d3498f935e59988
|
| |
|
|
|
|
|
|
|
| |
Problem: Insert in Visual mode sometimes gives incorrect results.
(Dominique Pelle)
Solution: Remember the original insert start position. (Christian Brabandt,
Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=4d12112c5efae071aecbeed1a7196f18950457b3
|
| | |
|
| | |
|
| |
|
|
|
| |
* Add two new unit tests to `vim_FullName`
* Make `os_get_absolute_path` static
|
| |
|
|
| |
Move unit tests from os/fs.moon to path.moon
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
K_EVENT/KE_EVENT are used to signal any loop that reads user input(scattered
across normal.c edit.c , ex_getln.c and message.c) of asynchronous events that
were not initiated by the user.
Representing non-user asynchronous events as special keys has the following
advantages:
- We reuse the normal vim redrawing code. As far as the rest of the code in
edit.c/normal.c is concerned, it's just the user pressing another key.
- Assume less about vim tolerance for "out-of-band" modifications to its
internal state.
- We still have a very complex codebase and it's hard to predict what bugs may
be introduced by these changes. With this we implement asynchronicity in a way
that will be more "natural" to the editor and has less chance of causing
unpredictable behavior.
As the code is refactored, we will be able to treat user input as an 'event
type' and not the other way around(With this we are treating arbitrary events as
a special case of user input).
|
| | |
|
| |
|
|
|
|
|
|
| |
Problem: match() does not work properly with a {count} argument.
Solution: Compute the length once and update it. Quit the loop when at the
end. (Hirohito Higashi)
https://code.google.com/p/vim/source/detail?r=9ac2fc63501d3eff92446c03b2822b30b169db5a
|
| | |
|
| |
|
|
|
|
|
|
| |
Problem: When using 'pastetoggle' the status lines are not updated. (Samuel
Ferencik, Jan Christoph Ebersbach)
Solution: Update the status lines. (Nobuhiro Takasaki)
https://code.google.com/p/vim/source/detail?r=cb5683bcde03796baa7e845fd9a2fcaec3383538
|
| |
|
|
|
|
| |
- Add a job control module for spawning and controlling co-processes
- Add three vimscript functions for interfacing with the module
- Use dedicated header files for typedefs/structs in event/job modules
|
| | |
|