Commit Graph

4381 Commits

Author SHA1 Message Date
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
David Bürgin
32837cc7df 'cpoptions': Remove "-" flag #2655 2015-05-21 01:31:30 -04:00
Felipe Morales
eca51bbfa0 options: Include "j" in default 'formatoptions' #2669 2015-05-21 01:28:20 -04:00
Steven Oliver
1add7a422f sha256.c: Remove unused headers and comments #2714
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-21 01:24:21 -04:00
Felipe Morales
3c2eae6cc6 options: Search upwards for tags file #2670
Also remove some references to emacs tags from the docs.

References https://github.com/neovim/neovim/issues/1664
2015-05-19 16:58:46 -04:00
Björn Linse
5bbd182a3e msgpack-rpc: handle failure to convert method arguments #2664 2015-05-19 16:21:01 +02:00
Michael Reed
a16eab9e57 Remove -T command-line option
It didn't actually do anything after
3baba1e7bc

Helped-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-18 11:06:54 -04:00
Michael Reed
64cecd917d Cleanup 'ttyscroll' remnants
Removed in 3baba1e7bc, but the docs
weren't updated.
2015-05-18 11:06:54 -04:00
Michael Reed
c50c831b85 Cleanup 'ttym[ouse]', FEAT_MOUSE, mouse_(dec|gpm|etc.)
Because of 3baba1e7bc, it's dead code.

Helped-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-18 11:06:54 -04:00
Michael Reed
00cf632b2b Cleanup misc.
Regarding debugger.txt (which was Spotted by @Hettomei):
The third section was empty, and the second section is very outdated.
Nvim doesn't have things like Balloon Evalutation and Sun Visual
workshop integration, so just remove the section.

Regarding everything else:
- term.[ch] and term_defs.h don't exist anymore, so remove refs to them
- Add ttybuiltin to vim_diff.txt. It should have been done before, but
  vim_diff.txt didn't exist when ttybuiltin was removed (done in
  3baba1e7bc6698e6bc9f1d37fce88b30d6274bc9,)

Helped-by: Justin M. Keyes <justinkz@gmail.com>
2015-05-18 11:06:54 -04:00
Thiago de Arruda
1352725beb build: Limit --coverage flag to files under "src"
Resolves #2632. This is done so C helper modules don't generate unexpected
coverage output.

Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Florian Walch <florian@fwalch.com>
2015-05-18 04:28:01 -03:00
Felipe Morales
b90378dfb0 options: Enable &wildmenu, use "list:longest,full" for &wildmode by default #2677 2015-05-17 15:24:31 -04:00
David Bürgin
b1403e7d44 vim-patch:7.4.597 #2658
Problem:    Cannot change the result of systemlist().
Solution:   Initialize v_lock. (Yukihiro Nakadaira)

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

See https://groups.google.com/d/msg/vim_dev/WXCfHMeqjfk/n2PjNwZ2bzIJ
2015-05-17 15:11:10 -04:00
cztchoice
7341b285d0 vim-patch: Mark some patches as NA #2672
These changes cannot apply because they
a) fix compiler warning
b) modify removed GUI related code
c) modify removed build files

mark the following patch as NA:
* 7.4.728, https://github.com/vim/vim/commit/v7-4-728
* 7.4.727, https://github.com/vim/vim/commit/v7-4-727
* 7.4.726, https://github.com/vim/vim/commit/v7-4-726
* 7.4.724, https://github.com/vim/vim/commit/v7-4-724
* 7.4.720, https://github.com/vim/vim/commit/v7-4-720
* 7.4.705, https://github.com/vim/vim/commit/v7-4-705
* 7.4.681, https://github.com/vim/vim/commit/v7-4-681
* 7.4.679, https://github.com/vim/vim/commit/v7-4-679
* 7.4.677, https://github.com/vim/vim/commit/v7-4-677
* 7.4.676, https://github.com/vim/vim/commit/v7-4-676
* 7.4.674, https://github.com/vim/vim/commit/v7-4-674
* 7.4.669, https://github.com/vim/vim/commit/v7-4-669
* 7.4.663, https://github.com/vim/vim/commit/v7-4-663
* 7.4.657, https://github.com/vim/vim/commit/v7-4-657

Reviewed-by: David Bürgin <676c7473@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: oni-link <knil.ino@gmail.com>
2015-05-17 15:03:49 -04:00
Michael Reed
aa1d9a1807 Build: Use GNUInstallDirs, install man pages #2649
For now, only install man pages matching "nvim*.1": we don't want to
install xxd.1 as it might conflict with that of a user's Vim
installation.

closes #1826

Reviewed-by: Florian Walch <florian@fwalch.com>
Helped-by: John Szakmeister <john@szakmeister.net>
2015-05-17 14:57:43 -04:00