Commit Graph

4673 Commits

Author SHA1 Message Date
Yamakaky
2e46765849 Split os_unix_defs.h into os/ 2015-07-06 08:23:21 -04:00
Florian Walch
e949c2bd62 vim-patch:7.4.646 #2926
Problem:    ":bufdo" may start at a deleted buffer.
Solution:   Find the first not deleted buffer. (Shane Harper)

https://github.com/vim/vim/commit/v7-4-646
2015-07-06 15:09:32 +03:00
Michael Reed
36e3f4f4c4 doc: Remove refs to dos(16|32), win16, and win95
This is primarily low-hanging fruit; there are still many references to
things such as MS-DOS throughout (see os_dos.txt).
2015-07-05 11:45:40 -04:00
Justin M. Keyes
8eb3470147 MSan: Initialize buffer in spell_delete_wordlist. 2015-07-05 10:31:17 +03:00
Florian Walch
624630eff5 CMake: Enable EXITFREE for all *San. 2015-07-05 10:31:16 +03:00
Florian Walch
fe6bd8cae2 CMake: Add option for Clang TSan, rename option ASAN -> ASAN_UBSAN. 2015-07-05 10:31:16 +03:00
Florian Walch
bd9042b1a9 CMake: Add option for Clang MSan. 2015-07-05 10:31:16 +03:00
Michael Reed
f48c8d652c Remove VisualNOS highlight group remnants
Nvim hasn't ever had X11 integration, so this has was never needed.
2015-07-04 15:43:54 -04:00
Michael Reed
cadf93e6fc Remove 'guipty' references
Presumably due to tarruda's unifdefing, it was already a no-op at the
time of nvim's first commit.

It's probably better to be clear that it doesn't exist, as opposed to
users thinking `:set guipty` is doing something when it isn't.
2015-07-04 15:43:54 -04:00
Björn Linse
e9c9d44f65 clipboard: don't overwrite before pasting in visual mode. #2945
This occured when clipboard=unnamedplus and doing "+p in visual mode.
Fixes #2942.
2015-07-04 18:17:30 +02:00
Thiago de Arruda
0ef80b9c2b rbuffer: Reimplement as a ring buffer and decouple from rstream
Extract the RBuffer class from rstream.c and reimplement it as a ring buffer,
a more efficient version that doesn't need to relocate memory.

The old rbuffer_read/rbuffer_write interfaces are kept for simple
reading/writing, and the RBUFFER_UNTIL_{FULL,EMPTY} macros are introduced to
hide wrapping logic when more control is required(such as passing the buffer
pointer to a library function that writes directly to the pointer)

Also add a basic infrastructure for writing helper C files that are only
compiled in the unit test library, and use this to write unit tests for RBuffer
which contains some macros that can't be accessed directly by luajit.

Helped-by: oni-link <knil.ino@gmail.com>
Reviewed-by: oni-link <knil.ino@gmail.com>
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
2015-07-01 05:40:53 -03:00
oni-link
dcaf9c6bc3 rstream: Fix bug triggered when libuv doesn't use the allocated buffer
Libuv will return 0 to signal that the buffer allocated by `alloc_cb` wasn't
used, and in this case the read_cb should simply be ignored.
2015-07-01 05:40:53 -03:00
Thiago de Arruda
4f5b250d4e klib: Improve klist.h
- Add `kl_shift_at` macro and backing function. This can be used to shift
  elements at arbitrary positions. `kl_shift` is now defined on top of the new
  macro.
- Change shift/push API, now `kl_push` accepts an object as parameter and
  `kl_shift` returns the object instead of a status. An assertion against
  shifting at the end of a list(or empty lists) was added.
- Add `kl_iter` and `kl_iter_at` macros. `kl_iter_at` is for starting the
  iteration at arbitrary positions.
2015-07-01 05:40:53 -03:00
Thiago de Arruda
d6ed2b3a39 os/fs: Use module-local uv_loop_t instance
This event loop is just a stub instance used in synchronous libuv function
calls, it needs to be decoupled from the main event loop in order to run it from
another thread.
2015-07-01 05:40:53 -03:00
Thiago de Arruda
67e45e1852 test: Don't run legacy test 87
The python3 emulation layer doesn't work well enough to run that test. Also add
notes to test86/test87 explaining why.
2015-07-01 05:40:53 -03:00
Florian Walch
bfadf5a28b ASan: Fix "null pointer passed for argument declared to never be null". #2925
Arguments passed to xmemdupz() are sometimes NULL, but xmemdupz() has
FUNC_ATTR_NONNULL_ALL. Check pointers for NULL before calling
xmemdupz().

Resolves #2533.
2015-06-30 18:36:41 +03:00
Eliseo Martínez
f77f644998 Fix warnings: shell.c: do_os_system(): Nonnull passed null: FP. #2923
Problem    : Argument with 'nonnull' attribute passed null @ 203.
Diagnostic : False positive.
Rationale  : Problem is supposed to appear when argv[0] is NULL within
             do_os_system. But argv is being generated by
             shell_build_argv(), which implies argv[0] is the current
             value for 'shell' option. Now, option has a non-null
             default ($SHELL or "sh"), and, if set by the user, it can
             be empty, but not NULL. So, argv[0] can never be NULL.
Resolution : Assert shell_build_argv() postcondition.
2015-06-28 14:45:13 -04:00
oni-link
4aa6279a6b event_teardown(): retry uv_loop_close() instead of abort. #2903
abort() causes a bad exit; retry uv_loop_close() instead.

Before this change, this ruby script will cause nvim to abort() instead
of exiting cleanly:
```
  require 'open3'
  require 'base64'

  Open3.popen3('nvim --embed -u -NONE') {|stdin, stdout, stderr, wait_thr|
    # base64-encoded msgpack message for the vim_command "qa!".
    stdin.write Base64.decode64('kwKrdmltX2NvbW1hbmSRo3FhIQ==')
    puts wait_thr.value
  }
```

References ##2663
Closes #2466
Closes #2648

Helped-by: Rui Abreu Ferreira <raf-ep@gmx.com>
2015-06-25 22:26:28 -04:00
Björn Linse
3fcfd52422 clipboard: avoid redundant error message on clipboard_get failure .
Fixes #2712

Helped-By: Michael Reed <m.reed@mykolab.com>
2015-06-25 19:30:29 -04:00
Ismail Badawi
34a5efd7a9 Enable -Wconversion: menu.c #2885 2015-06-25 01:28:02 -04:00
Justin M. Keyes
f78bf64771 api: vim_set_var() should return the old value #2899
Closes #2816
2015-06-25 01:26:17 -04:00
Lucas Hoffmann
8c999a9d6c tests: Migrate legacy test 61.
This test is real time based as it also tests the `:earlier` and `:later`
commands with time arguments (using `:sleep`).  This can sometimes case the
test to fail on systems that are under heavy load or where the time interval
between creating the expected buffer state and the `:earlier` or `:later`
command that tries to jump to it changes.

To be system independent we use nvim's `:sleep` command and `wait()` for it in
the test suit.

The legacy vim test writes to test.out a lot with `:.w >>test.out`.  This
does currently not work in the lua test suite so the test is modernized to use
busted's assertions instead of the output file.

This test was treated special in the legacy Makefile but after the conversion
the related code can be removed.
2015-06-22 11:58:43 +02:00
Nathan Wilson
a743297be2 spell.c: fix "[s" search. #2813
Closes #2791
2015-06-21 14:38:17 -04:00
Felipe Morales
6ed6d8d910 defaults: remove "options" in 'sessionoptions'. #2871
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 03:20:35 -04:00
Felipe Morales
721ffd6b65 defaults: prefix "!" to 'viminfo' by default #2870
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 02:06:23 -04:00
Felipe Morales
8963285530 defaults: set 'tabpagemax' to 50 by default. #2869
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 02:02:00 -04:00
Felipe Morales
2c40d117e6 defaults: set 'display' to "lastline" by default.
Re: https://github.com/neovim/neovim/issues/2676
2015-06-21 01:48:53 -04:00
Lucas Hoffmann
7e7d78b2a6 doc: Fix some typos and trailing whitespace. #2875 2015-06-21 00:34:51 -04:00
Justin M. Keyes
9ebb5c681b defaults: enable 'hlsearch' by default. #2859
Also update the documentation regarding the option.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 16:40:03 -04:00
Felipe Morales
ffeffcb6cd defaults: enable 'incsearch' by default. #2858
This also updates the documentation about 'incsearch'.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 16:19:16 -04:00
Felipe Morales
6cfe98c66e defaults: remove "i" from the default 'complete' #2854
"i" could slow down the completion.

Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:43:51 -04:00
Felipe Morales
e3568364df default: enable 'langnoremap'. #2853
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:19:15 -04:00
Felipe Morales
ba84f7fc00 defaults: set 'mouse' to 'a' by default. #2860
Re: https://github.com/neovim/neovim/issues/2676

Also, some documentation changes.
2015-06-20 14:14:39 -04:00
Felipe Morales
8e3f67f2a0 defaults: enable 'autoindent' #2857
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 14:02:56 -04:00
Felipe Morales
81847da948 defaults: enable 'autoread' by default #2856
Re: https://github.com/neovim/neovim/issues/2676
2015-06-20 13:49:30 -04:00
Felipe Morales
41c76d9444 defaults: enable 'smarttab' by default. #2855 2015-06-20 13:45:47 -04:00
Shougo Matsushita
8b200f904f completion: Initialize v:completed_item #2839
v:completed_item should always be a dict (not empty string), even before
the first completion.
2015-06-20 11:53:13 -04:00
Felipe Morales
7b87dc9299 vim-patch:7.4.575 #2835
```
updated for version 7.4.575
Problem:    Unicode character properties are outdated.
Solution:   Update the tables with the latest version.
```

https://code.google.com/p/vim/source/detail?r=v7-4-575
2015-06-17 07:58:44 -04:00
Lucas Hoffmann
55806fbe39 tests: Migrate legacy test argument_count. 2015-06-16 01:36:17 -04:00
Lucas Hoffmann
a15ba262e4 tests: Migrate legacy test argument_0count. 2015-06-16 01:23:23 -04:00
Felipe Morales
34fdb11e53 ex_docmd.c: :edit is a no-op in terminal buffers #2822
Closes #2779
2015-06-14 13:59:01 -04:00
Andrea Cedraro
8992f8b1c7 vim-patch:7.4.719 #2817
Problem:    Overflow when adding MAXCOL to a pointer.
Solution:   Subtract pointers instead. (James McCoy)

https://github.com/vim/vim/commit/v7-4-719
2015-06-14 02:23:09 -04:00
David Bürgin
f04bc91c2f vim-patch:7.4.593 #2657
Problem:    Crash when searching for "x\{0,90000}". (Dominique Pelle)
Solution:   Bail out from the NFA engine when the max limit is much higher
            than the min limit.

https://github.com/vim/vim/commit/v7-4-593

See https://groups.google.com/d/msg/vim_dev/c7owwoseba8/ZETgSNZ6p10J
2015-06-13 21:38:39 -04:00
Björn Linse
80d61fb87b tui: make termkey use utf-8 mode when &encoding=utf-8 #2469 2015-06-13 19:49:25 +02:00
Felipe Morales
dfdf045b18 vim-patch:7.4.713
patch 7.4.713
Problem:    Wrong condition for #ifdef.
Solution:   Change USR_EXRC_FILE2 to USR_VIMRC_FILE2. (Mikael Fourrier)

https://code.google.com/p/vim/source/detail?r=v7-4-713
2015-06-13 12:43:28 -04:00
Justin M. Keyes
3af79d552a version.c: mark NA: 664, 703 2015-06-13 12:43:28 -04:00
Felipe Morales
1d4e483265 version.c: Update patches list
These patches are not applicable (NA):
  .611 (if_python3.c)
  .627 (term.c)
  .666 (X on *nix)
  .678 (--remote)
  .683 (vimtutor)
  .687 (terminal)
  .691 (mzscheme)
  .692 (Solaris)
  .730 (crypto)
  .731 (GUI)
  .738 (compiling w/o syntax highlighting)

  .644 applied in an unsupported platform (Stratus VOS)
2015-06-13 12:42:16 -04:00
Lucas Hoffmann
0685489ee5 Fix legacy tests makefile after 4873171f. #2826 2015-06-12 12:50:50 -04:00
Lucas Hoffmann
d080375813 tests: Migrate legacy test 74.
Helped-By: David Bürgin <676c7473@gmail.com>
Helped-By: Justin M. Keyes <justinkz@gmail.com>
2015-06-12 00:10:58 -04:00
oni-link
e53dda90bd memline: Don't call memmove() with a NULL argument in ml_add_stack(). #2802
When ml_add_stack() needs to increase the size of the empty stack,
buf->b_ml.ml_stack is NULL and is used as argument in memmove().
This is undefined behaviour. Declaration of memmove() in string.h:

extern void *memmove (void *__dest, const void *__src, size_t __n)
     __THROW __nonnull ((1, 2));
2015-06-12 00:04:36 -04:00