Commit Graph

4183 Commits

Author SHA1 Message Date
ZyX
75c9a7e65b shada: Do not record removable buffers and marks 2015-10-08 21:59:54 +03:00
ZyX
200e62efeb shada: Add support for dumping/restoring bufs changes and win jumps 2015-10-08 21:59:53 +03:00
ZyX
9ab08c8256 functests: Test loading last search/substitute pattern/replacement 2015-10-08 21:59:53 +03:00
ZyX
bc52522616 functests: Add history tests 2015-10-08 21:59:53 +03:00
ZyX
0fe9679101 shada: Initial support for merging history
Currently only merges history when reading ShaDa file. No tests yet.
2015-10-08 21:59:53 +03:00
ZyX
94ed7ba03b shada: Skip reading some items if needed
Avoids unneeded malloc()s/free()s and lots of code for parsing.
2015-10-08 21:59:53 +03:00
ZyX
46387b9aac functests: Add tests for mark dumping/reading 2015-10-08 21:59:52 +03:00
ZyX
e143be7f3d functests: Add tests for ShaDa variables dumping/reading 2015-10-08 21:59:52 +03:00
ZyX
5e34d4873b main: Read marks at startup
I do not know why marks were not read originally, but without this change marks
are not going to be read at startup when Vim starts without arguments.
2015-10-08 21:59:52 +03:00
ZyX
38c688d7be shada: Use glibc functions to convert from big endian, add a fallback 2015-10-08 21:59:51 +03:00
ZyX
244dbe3a77 viminfo: First version of ShaDa file dumping
What works:

1. ShaDa file dumping: header, registers, jump list, history, search patterns,
   substitute strings, variables.
2. ShaDa file reading: registers, global marks, variables.

Most was not tested.

TODO:

1. Merging.
2. Reading history, local marks, jump and buffer lists.
3. Documentation update.
4. Converting some data from &encoding.
5. Safer variant of dumping viminfo (dump to temporary file then rename).
6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for
   reference).
2015-10-08 21:59:51 +03:00
ZyX
0fdaab995e mark: Fix valgrind error in mark.c
Caused by using memcpy for assigning one structure to another.
2015-10-08 21:59:51 +03:00
ZyX
c71dca0cbd os/fs: Define os_strerror as an alias to uv_strerror
It is not needed to know that os/* uses libuv.
2015-10-08 21:59:50 +03:00
Björn Linse
57d3a2a52f api: represent api type String as msgpack type STR. closes #1250 2015-10-08 20:18:46 +02:00
Justin M. Keyes
cd6b4af649 Merge pull request #3430 from fwalch/deps/update-libtermkey
deps: Update to libtermkey 0.18.
2015-10-07 17:05:50 -07:00
Florian Walch
65b47a05d6 deps: Update to libtermkey 0.18.
Same code we were using before, only from official release tarball
instead of our GitHub mirror.
2015-10-07 21:28:09 +02:00
Russ Adams
7be75a0291 test: os_system: spec for non-zero exit. #3419 2015-10-04 22:57:21 -04:00
Justin M. Keyes
5a9b2fc1ae test: menu_spec: avoid screen test.
Redraw can be flaky especially when remote commands happen during
command-mode. Assert the state directly instead of using Screen.
2015-10-04 15:11:23 -04:00
Daniel Hahler
8cfcf01475 tui: fix_terminfo: Handle "tmux" like "screen". #3422
Closes #3399
2015-10-04 14:20:27 -04:00
bambu
2788f7fcc8 menu: support :emenu invoked by cmenu map. 2015-10-03 03:02:05 -04:00
Justin M. Keyes
f454e4bb11 Merge pull request #3414 from Pyrohh/cmake-check-wvla
build: Check for -Wvla before use
2015-10-02 15:26:16 -04:00
Michael Reed
e0974bdd0d build: Check if compiler supports -Wvla before use
OpenBSD's GCC (4.2.1) doesn't have the -Wvla flag.
2015-10-02 13:02:44 -04:00
Thiago de Arruda
536c0ba27e Merge PR #3360 'More fixes for 0.1' 2015-10-01 15:37:20 -03:00
Thiago de Arruda
5d185c7772 test: Add basic tests for the TUI
The tests use `termopen` to spawn nvim and verify the TUI.
2015-10-01 15:22:49 -03:00
Thiago de Arruda
2182cd6081 ex_docmd: Fix terminal mode check condition for ex_normal
Using the `curbuf->terminal` condition alone is wrong since it does not
necessarily mean nvim is in terminal mode. It needs to be used with
`State & TERM_FOCUS` because the current buffer could have changed without
`terminal_enter` exiting.

Close #3403
2015-10-01 15:22:49 -03:00
Thiago de Arruda
0ca3f03c19 tui: Fix queueing of large chunks of input
Take the return value of input_enqueue into consideration, waiting for the main
thread to consume input. Close #1714 #3377.
2015-10-01 15:22:49 -03:00
Thiago de Arruda
394c0c4402 rbuffer: Enhance rbuffer_reset to work with filled RBuffers 2015-10-01 15:22:49 -03:00
Thiago de Arruda
0e4e69e52e os/input: Don't advance past incomplete sequences in input_enqueue
This allows callers to incrementally process buffers that are filled by
incomplete chunks more easily.
2015-10-01 15:22:49 -03:00
Thiago de Arruda
1143b416ab tui: Don't use 'pastetoggle' for automatic pasting
Add a new special key that can be used by UIs to toggle the 'paste' option and
use it in the TUI instead of the user's 'pastetoggle' value.

Close #2843 #2092
2015-10-01 15:22:48 -03:00
Thiago de Arruda
c1edd07990 shell: Ensure silent bang mappings won't cut output
Setting `msg_didout` after `call_shell` is enough as it will cause
`hit_return_msg()` to print on next line.

Close #3269
2015-10-01 15:22:48 -03:00
Justin M. Keyes
afe8a32be0 Merge pull request #3410 from oni-link/fix.spell_suggest
spell.c: Fix memory leak
2015-10-01 13:22:02 -04:00
Justin M. Keyes
bb5bf96839 Merge pull request #3407 from oni-link/fix.ga_concat
garray.c: Prevent ga_concat() using memcpy(NULL,...)
2015-10-01 13:19:49 -04:00
Justin M. Keyes
bb155564d9 Merge pull request #3409 from jszakmeister/disable-broken-test
Disable a broken functional test.
2015-10-01 13:08:21 -04:00
John Szakmeister
625f8ec07f Disable a broken functional test.
No one has taken a real interest in fixing this, so let's disable it for
now.  The issue crops up most on the QB OS X node, but it has
periodically occurred under other nodes too.
2015-10-01 07:01:13 -04:00
oni-link
2fb77ba6f9 spell.c: Fix memory leak 2015-10-01 12:34:13 +02:00
Justin M. Keyes
30024dcdbd Merge pull request #3408 from fwalch/cmake/filter-ldflags
CMake: Remove --sort-common from linker flags.
2015-09-30 21:41:21 -04:00
Florian Walch
e8fdbd1cc4 CMake: Remove --sort-common from linker flags.
Workaround for bugs reported at #2641 and #3374.
Root cause for this problem is still unknown.

Resolves #2641 and resolves #3374.
2015-10-01 00:16:25 +02:00
oni-link
0320d86d3b garray.c: Prevent ga_concat() using memcpy(NULL,...)
Calling ga_grow(gap, 0) does not reallocate memory for garray gap.
Because of this, gap->ga_data can be NULL after such a call, if gap does
not have memory allocated.
2015-09-30 19:11:07 +02:00
Justin M. Keyes
463b24a951 Merge pull request #3365 from ZyX-I/refactor-string
Make `...` occurrences in echo output more useful
2015-09-30 10:56:05 -04:00
ZyX
b6fdb7bd0f eval/string(): Share code between msgpackdump() and string()+:echo 2015-09-30 10:12:35 +03:00
ZyX
0be94d1e5a functests: Do not use user viminfo file 2015-09-30 10:09:27 +03:00
ZyX
6da3fadd9f eval/msgpackdump(): Use copyID for protecting against recursive input
Should be faster then O(depth) iteration, but removes const qualifiers.
2015-09-30 10:09:21 +03:00
Justin M. Keyes
622ec95c3f Merge pull request #3321 from cHoco/fix-append-api-implementation-2
Fix append() with negative line numbers.
2015-09-27 20:33:19 -04:00
Justin M. Keyes
43dacff2ae Merge pull request #3398 from fmoralesc/update-vim-tutor
tutor-mode: update plugin
2015-09-27 10:45:06 -04:00
Felipe Morales
5ec5e9ae43 tutor-mode: update plugin 2015-09-27 15:17:20 +02:00
Florian Walch
ded4a50219 Merge #3316 'Travis: Install Python 3 Neovim module'. 2015-09-27 00:27:44 +02:00
Florian Walch
a3399f9a63 Travis: Install Python 3 to run Python 3 tests.
Install Python 3.3 from the Deadsnakes PPA. As this doesn't have pip,
install it manually into ~/.local.

~/.local/bin is apparently in Travis's default PATH, meaning "pip"
doesn't refer to Python 2's pip anymore, but to the manually
installed Python 3 version. Updated the scripts to use version-
suffixed executable names (e.g. pip2.7).

Set CC=cc to use system's default compiler when installing Python
modules, as gcc on OS X had a problem with compiling one of the
dependencies of the Neovim Python module.
2015-09-27 00:03:06 +02:00
Florian Walch
54596396bc test: Check for installed Python module with Vimscript function.
Use the existing Vimscript function provider#pythonx#Detect()
to determine whether the Neovim Python module is installed and
Python 2/3 tests can be run.
2015-09-27 00:03:06 +02:00
Justin M. Keyes
dbb5f41c97 Merge pull request #3395 from fmoralesc/revert-wildmode
defaults: revert wildmode to 'full'
2015-09-26 15:53:27 -04:00
Felipe Morales
b927304108 defaults: revert wildmode to 'full' 2015-09-26 21:09:47 +02:00