Commit Graph

2595 Commits

Author SHA1 Message Date
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
Shougo Matsushita
be66c0b357 Add complete() noinsert/noselect support #2792 2015-06-11 09:03:00 -04:00
Shougo Matsushita
e6c62c80ef Add noinsert and noselect features in completeopt #2564
Backported from vim_dev:
https://groups.google.com/forum/#!searchin/vim_dev/completeopt/vim_dev/tVsk0pdOGvs/fCzBbPkA4w0J

Use case:
https://github.com/Shougo/neocomplcache.vim/issues/426

Reviewed-by: Felipe Morales <hel.sheep@gmail.com>
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
2015-06-04 21:20:09 -04:00
Frederik Van Slycken
e61e4e3285 fix for #2732 : win_new_width checks height before terminal_resize
When splitting the window (win_split_ins), function win_new_width is
already called before the height has been set. This calls
terminal_resize, which passes a height of 0 on to libvterm, which
doesn't handle a height of 0 properly.
A fix is already in place in terminal.c for not passing on the height,
but strictly speaking, it doesn't make sense for window to call
terminal_resize when it isn't initialized completely yet.
2015-05-31 11:53:07 -04:00
Frederik Van Slycken
e54fa04b90 terminal : don't set vterm size to 0 (workaround #2732) 2015-05-31 11:53:07 -04:00
Michael Reed
b113754de8 Passing by: Remove X_LOCALE refs
We don't link to any X11 libs, so this is most likely unneeded.
2015-05-30 17:09:27 -04:00
Michael Reed
7c2afbd9a6 main.c:mainerr(): Namespace messages
Error messages in general should be namespaced, especially in the
context of a shell. Given the possibility of a backgrounded job printing
messages to standard output/error, namespacing these messages should
avoid any confusion as to where the message came from.

Helped-by: Scott Prager <splinterofchaos@gmail.com>
Helped-by: oni-link <knil.ino@gmail.com>
2015-05-30 17:09:22 -04:00
Michael Reed
53774af5e9 main.c: Simplify error string management
This removes the need for preprocessor defines as array indices, and
brings error handling more in line with other files, which for the most
most part to use constant strings (also, see `globals.h`).

Helped-By: Nicolas Hillegeer <nicolas@hillegeer.com>
2015-05-30 12:44:25 -04:00
Scott Prager
412d246be7 getenv: return NULL if empty #2574
Making an environment variable empty can be a way of unsetting it for
platforms that don't support unsetenv(). In most cases, we treat empty
variables as having been unset. For all others, use os_env_exists().
2015-05-29 13:12:12 -04:00
Felipe Morales
fa0f122221 Remove 'octal' from default value for '&nrformats' #2668
<C-A> over "07" should increment to "08" by default.

Re: https://github.com/neovim/neovim/issues/1664

Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
2015-05-29 00:39:22 -04:00
Lucas Hoffmann
ee312ca9a4 tests: Migrate legacy test 65.
Helped-By: David Bürgin <676c7473@gmail.com>
2015-05-27 12:56:47 -04:00
Lucas Hoffmann
5218fc2ccb tests: Migrate legacy test 82.
Helped-By: David Bürgin <676c7473@gmail.com>
Helped-By: Shougo Matsushita <Shougo.Matsu@gmail.com>
2015-05-27 12:51:37 -04:00
David Bürgin
a3c3811436 tests: Migrate legacy test 3 #2399 2015-05-27 12:40:35 -04:00
Lucas Hoffmann
bc27c9e8d1 tests: Migrate legacy test 76. #2711 2015-05-27 12:31:09 -04:00
Lucas Hoffmann
a4c22c95e3 tests: Migrate legacy test 60. #2721
Helped-By: Justin M. Keyes <justinkz@gmail.com>
2015-05-27 12:06:13 -04:00
Scott Prager
2c9dfddab1 tui: don't pass NULL to termkey #2747
Closes #2745
2015-05-27 10:24:50 -04:00
Justin M. Keyes
b2c400b3f2 input: rename input_{start,stop}_stdin()
- "stdin" is misleading because it may read from stdout or stderr
- also remove some unused includes
2015-05-27 09:34:05 -04:00
Justin M. Keyes
4219b69145 input: stream_set_blocking(): libuv impl
- Create a private libuv loop instead of re-using uv_default_loop(), to
  avoid conflict[1] with existing watcher(s) on the fd.
- Expose the global "input" fd as a getter instead of a mutable global.

[1] .deps/build/src/libuv/src/unix/core.c:833:
      uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed.
2015-05-27 09:34:04 -04:00
Justin M. Keyes
8a782f1699 input: set input stream to blocking on exit
If stdin is non-blocking, many tools (e.g. cat(1), read(1)) which assume
that stdin is blocking, will break in odd ways:

  read: read error: 0: Resource temporarily unavailable
  cat: -: Resource temporarily unavailable
  rm: error closing file

libuv puts stdin in nonblocking mode, and leaves it that way at exit
(this is apparently by design). So, before this commit, this always
works (because the shell clobbers O_NONBLOCK):

  $ nvim --cmd q
  $ read

...but these forms do _not_ work:

  $ nvim --cmd q && read
  $ echo foo | nvim --cmd q && read
  $ nvim && read

After this commit, all of the above forms work.

Background:

437b4397b9 (diff-41f4d294430cd8c36538999d62681ae2)
https://github.com/fish-shell/fish-shell/issues/176#issuecomment-15800155

- bash (and other shells: zsh, tcsh, fish), upon returning to the
  foreground, always sets fd 0 back to blocking mode. This practice only
  applies to stdin, _not_ stdout or stderr (in practice these fds may be
  affected anyways).
- bash/zsh/tcsh/fish do _not_ restore the non-blocking status of stdin
  when _resuming a job_.
- We do _not_ save/restore the original flags visible to
  fcntl(F_[SG]ETFL), because (counterintuitively) that isn't expected.

Helped-by: oni-link <knil.ino@gmail.com>

Closes #2086
Closes #2377

---

Note: The following implementation of stream_set_blocking() was
discarded, because it resulted in a failed libuv assertion[1]:

  int stream_set_blocking(int fd, bool blocking)
  {
    uv_pipe_t stream;
    uv_pipe_init(uv_default_loop(), &stream, 0);
    uv_pipe_open(&stream, fd);
    int retval = uv_stream_set_blocking((uv_stream_t *)&stream, blocking);
    uv_close((uv_handle_t *)&stream, NULL);
    return retval;
  }

[1] .deps/build/src/libuv/src/unix/core.c:833: uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed.
2015-05-27 09:32:31 -04:00
David Bürgin
5a9ad68b25 vim-patch:7.4.582 #2653
Problem:    Can't match "%>80v" properly. (Axel Bender)
Solution:   Correctly handle ">". (Christian Brabandt)

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

See https://groups.google.com/d/msg/vim_dev/n-02i4FnOcw/P3Yyx1OLeXgJ

Slightly adapted due to the long_u refactoring in
2ceb1c74d5.

Reviewed-by: Florian Walch <florian@fwalch.com>

Fixes #2726
2015-05-26 01:07:37 -04:00
David Bürgin
c6da503336 vim-patch:7.4.579 #2652
Problem:    Wrong cursor positioning when 'linebreak' is set and lines wrap.
Solution:   (Christian Brabandt)

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

See https://groups.google.com/d/msg/vim_dev/Eh3N9L68Ajw/4dB5x1RTQJQJ
2015-05-26 00:49:05 -04:00
David Bürgin
e4c3ac1f82 tests: Convert legacy test29 2015-05-25 16:29:01 -04:00
David Bürgin
44175224cc 'cpoptions': Remove "j" flag 2015-05-25 16:29:00 -04:00
Daniel Hahler
297973ab00 tui: defer resize event #2738
When maximizing the window, often only lines would be detected properly
with the `try_resize` handler being called immediately.

Fixes https://github.com/neovim/neovim/issues/2322.
2015-05-25 14:42:12 -04:00
Nelson Yeung
8ce22c6323 tests: Migrate legacy test 31 #2736 2015-05-25 15:47:12 +03:00
Shougo Matsushita
d9f97e3026 completion: Add v:completed_item feature #2563
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: Luke Andrew <luke.github@la.id.au>
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Florian Walch <florian@fwalch.com>
2015-05-24 17:05:12 -04:00
Rui Abreu Ferreira
466bb84ff0 Rename var eof as input_eof #2728
- In Windows eof is a function, renamed the eof var in input.c
  to input_eof
2015-05-24 02:17:32 -04:00
Rui Abreu Ferreira
ac42fb8ca7 Add guard for sys/wait.h header in job.c #2686
The sys/wait.h include was moved after the vim.h include, since the include
guards are defined in config.h the guards cannot be used earlier.
2015-05-21 02:09:50 -04:00
Rui Abreu Ferreira
e1f83d304d Add header guards for sys/time.h and unistd.h in log.c 2015-05-21 02:09:49 -04:00