Commit Graph

4381 Commits

Author SHA1 Message Date
Björn Linse
0e65caa40e Delete test86 and 87 #3074
The python-client has it's own test suite, and this isn't even run: see
the has('nvim') call.

Taken from
1acf4ace52
with minor modifications.

"Now that you've done the necessary cleanup, why not go ahead and merge
this." @bfredl
2015-07-22 15:31:27 -04:00
Robin Allen
5ad619a847 menu: Fix :emenu mode detection #2992
A menu item can have separate bindings for each Vim mode.

:emenu checks to see which binding it should execute. But, it assumes
it can only be called from Normal mode, so its mode detection is based
on some guesswork. For instance, it detects if you've just used C-O
and, if so, uses the Insert mode binding.

Now that :emenu can be called from any mode (via vim_command), this
commit has it check the actual mode we're in, and simply use the
binding for that mode if we aren't in Normal mode.
2015-07-22 10:13:49 -04:00
Felipe Morales
a95a5ba839 options,tui: don't hardcode default terminal size
also, include some checks.
2015-07-21 23:54:01 -04:00
Felipe Morales
5732340c20 tui: respect the 'co' and 'lines' options on startup
`nvim --cmd "set co=... lines="` didn't work as expected, and forced to
set those options on VimEnter or afterwards.
2015-07-21 23:52:09 -04:00
Felipe Morales
6048e95f33 tui: send resize sequences to the terminal
Neither setting the 'columns' and 'lines' options nor using the
`:winsize` command resized the terminal window, which caused display
glitches.

Re: #2863
2015-07-21 23:51:07 -04:00
Lucas Hoffmann
6571c84d54 tests: Migrate legacy test 80. #2989
The test is also split in several blocks and heavily modernized.  This was
done to prevent the following quoting and escaping problems during migration:
- the vim command `put =...` treats double quotes as the start of a comment so
  they have to be escaped with a backslash
- when inserting control characters on the command line they have to be
  escaped with <C-V>

The parts one and two of the test are functional identical so they are wrapped
in a local function. The only difference was which letters where used to test
the same feature.

Part six did test a flag in 'cpoptions' that has been removed in neovim.  It
has therefore been removed as well.

Reviewed-by: Michael Reed <Pyrohh@users.noreply.github.com>
2015-07-21 19:56:15 -04:00
crondog
d6c97a85ff tui: Unconditionally enable bracketed paste mode #3060
There are more terminals which have bracketed paste support and it
doesnt seem to do any harm with terminals that dont support it eg screen

Reviewed-by: Marco Hinz <mh.codebro@gmail.com>
Reviewed-by: Michael Reed <Pyrohh@users.noreply.github.com>
"+1 Let's see what happens" Justin M. Keyes <justinkz@gmail.com>
2015-07-21 19:36:21 -04:00
Wander Nauta
bf9f50942d eval.c: Only inline float_op_wrapper on non-i386 #3072
glibc on i386 seems to have an optimization that makes it harder to call
some math functions indirectly from inside an inlined function, causing
compile-time errors with some versions of gcc.  This removes inlining on
that platform.

Closes #3071
2015-07-21 18:49:16 -04:00
Marco Hinz
43f7eec0cd Uncomment merged patches in version.c
7.4.774 -> https://github.com/neovim/neovim/pull/2563
7.4.775 -> https://github.com/neovim/neovim/pull/2564
7.4.784 -> https://github.com/neovim/neovim/pull/2792
2015-07-21 13:48:36 +02:00
Thiago de Arruda
23cdebd559 rstream: Fix read_cb invocation
- Add missing call when the stream is a file
- NULL check because it is possible to call rstream_start with the callback set
  to NULL.
2015-07-21 07:00:38 -03:00
Michael Reed
4455fc3f05 Remove ':Print' command #3049
There's no way this isn't some long-running joke:

  "Just as ':print'.  Was apparently added to Vi for
  people that keep the shift key pressed too long..."
  Note: A user command can overrule this command.

Regarding ':X': the command has been removed for a while, but the
documentation must have been missed, so remove it here.

Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Helped-by: @jusga
2015-07-20 20:43:09 -04:00
Björn Linse
c30f2ac25d clipboard: handle middle-click paste correctly.
Also handle clipboard errors more like vim: paste from unnamed register
if clipboard provider fails.
2015-07-20 20:24:27 -04:00
Marco Hinz
05bb841487 Source provider at start if &cb is set #3025
The main problem is that <c-c> is a default mapping but also sets got_int.

Because of the former, normal_cmd() is kicked off which eventually leads to
sourcing the clipboard provider. But due to the latter, do_source() throws an
error, because got_int is set.

This is a temporary workaround and sources the clipboard provider before
main_loop(), if &clipboard is set.

References #3023.
2015-07-20 18:18:59 +02:00
Felipe Morales
b4a5871809 defaults: set 'history' to 10000 by default. #2868
Note: the new history value is the max allowed.

Re: https://github.com/neovim/neovim/issues/2676
2015-07-20 03:48:33 -04:00
Michael Reed
85b7ea9a87 Remove POSIX 'cpoptions': cleanup
- CPO_ALL and CPO_VI are identical, so merge them
- No longer check for the environment variable 'VIM_POSIX'
- In vim_diff.txt, mention the removal of 'cpoptions' flags
2015-07-19 15:14:23 -04:00
Michael Reed
4f444ae4f8 Remove POSIX 'cpoptions': '\' 2015-07-19 15:14:22 -04:00
Michael Reed
0661411bba Remove POSIX 'cpoptions': '.' 2015-07-19 15:14:22 -04:00
Michael Reed
3931a36340 Remove POSIX 'cpoptions': '/' 2015-07-19 15:14:22 -04:00
Michael Reed
b19afa52c4 Remove POSIX 'cpoptions': '&' 2015-07-19 15:14:22 -04:00
Michael Reed
d9b053d6a6 Remove POSIX 'cpoptions': '|'
It wasn't even hooked up to anything... must have been removed when
term.c was replaced.
2015-07-19 15:14:22 -04:00
Michael Reed
4a86122422 Remove POSIX 'cpoptions': '{' 2015-07-19 15:14:22 -04:00
Michael Reed
96c27692b8 Remove POSIX 'cpoptions': '#' 2015-07-19 15:14:22 -04:00
Sebastian Witte
fcb79ffc40 Implement API function to call functions #2979
Remove static modifier from func_call
Move MAX_FUNC_ARGS definnition from eval.c to eval.h
2015-07-19 17:18:31 +02:00
Lucas Hoffmann
1b2eb306f7 tests: Migrate legacy test 57. 2015-07-19 04:06:45 +02:00
Lucas Hoffmann
d71eb9db3c tests: Remove migrated legacy tests from makefile. #3009
Remove legacy tests from the old makefile that were forgotten after the test
migration.  The tests are:

- test 26 migrated in da3ade6a59 merged in #1420
- test 27 migrated in ac52d84f16 merged in #1328
- test 43 migrated in c9159586b8 merged in #1420
- test 46 migrated in 5ea94e14f0 merged in #1328
- test 63 migrated in a040aa95c1 merged in #1930

Additionally the tests 71 and 72 where removed in
85338fe1d5 together with the +cryptv feature.
2015-07-18 21:15:26 -04:00
Marco Hinz
1d4f68a2f5 vim-patch:7.4.667 #3043
Problem:  'colorcolumn' isn't drawn in a closed fold while 'cursorcolumn'
          is. (Carlos Pita)
Solution: Make it consistent. (Christian Brabandt)

Original patch:
  https://github.com/vim/vim/commit/v7-4-667

Discussion:
  https://groups.google.com/forum/#!topic/vim_dev/Lidb7s4xn3Q
2015-07-18 16:37:16 -04:00
Marco Hinz
84ce97714b synIDattr(): true color awareness
In Vim, which doesn't true colors, synIDattr('Foo', 'fg') returns either
ctermfg or guifg depending on whether vim or gvim is running.

True colors naturally use GUI colors, so synIDattr() has to be adapted to
return guifg, if a TUI with enabled true colors is used.
2015-07-18 16:55:25 +02:00
Wander Nauta
7732bec9b8 eval: Fix duplicate code in trig/math functions #3035
The same error checking/recovery code was duplicated among the f_acos,
f_asin, f_atan, f_ceil, f_cos, f_cosh, f_exp, f_floor, f_log, f_log10,
f_round, f_sin, f_sinh, f_sqrt, f_tan, f_tanh and f_trunc functions.
This commit moves that code into a wrapper function.

`trunc` is not in C90, but it is in C99, which is what neovim targets,
so we use it here.
2015-07-18 10:33:22 -04:00
Hettomei
3b06ce200b Macro cleanup: FEAT_SHORTCUT, replace with WIN32 2015-07-17 21:40:40 -04:00
Hettomei
b69f1b85f5 Macro cleanup: FEAT_BEVAL_TIP 2015-07-17 21:40:40 -04:00
Hettomei
28d39db171 Macro cleanup: FEAT_GUI_MSWIN 2015-07-17 21:40:39 -04:00
Hettomei
9b58fc6986 Macro cleanup: FEAT_GUI_MAC 2015-07-17 21:40:39 -04:00
Hettomei
db9bcadb05 Macro cleanup: FEAT_GUI_X11 2015-07-17 21:40:39 -04:00
Hettomei
bd819aaed0 Macro cleanup: FEAT_GUI_GTK 2015-07-17 21:40:39 -04:00
Hettomei
5360324974 Macro cleanup: FEAT_TOOLBAR 2015-07-17 21:40:38 -04:00
Hettomei
343040f318 Macro cleanup: FEAT_BEVAL 2015-07-17 21:40:38 -04:00
Hettomei
848a5e2e87 Macro cleanup: USE_FILE_CHOOSER 2015-07-17 21:40:38 -04:00
Hettomei
6d937315b6 Macro cleanup: FEAT_GUI_MOTIF 2015-07-17 21:40:38 -04:00
Hettomei
031758ad5c Macro cleanup: FEAT_GUI_W32 2015-07-17 21:40:37 -04:00
Hettomei
1b7dcb2f70 Macro cleanup: FEAT_GUI and ALWAYS_USE_GUI 2015-07-17 21:40:37 -04:00
Michael Reed
4d79edccdc Cleanup after #3007 #3020
'guioptions' is mentioned in the "Option Defaults" section of vim_diff,
and while its default did indeed change, it was only because the 't'
flag was removed.  To make that clear, move its reference to the
"Removed Features" section instead.

Remove stray instance of 't' flag from GO_ALL.  Most if not all of the
GO_* #defines are unused, but lets keep them for now as it's not clear
whether they won't be used by Nvim GUIs.
2015-07-17 17:36:38 -04:00
Felipe Morales
5e9f9a8756 spell: Defer &spell prompt until VimEnter. #3027
Closes #1551
2015-07-17 06:59:25 -04:00
Thiago de Arruda
aa9cb48bf0 job: Replace by a better process abstraction layer
- New libuv/pty process abstraction with simplified API and no globals.
- Remove nvim/os/job*. Jobs are now a concept that apply only to programs
  spawned by vimscript job* functions.
- Refactor shell.c/channel.c to use the new module, which brings a number of
  advantages:
  - Simplified API, less code
  - No slots in the user job table are used
  - Not possible to acidentally receive data from vimscript
- Implement job table in eval.c, which is now a hash table with unilimited job
  slots and unique job ids.
2015-07-17 00:32:07 -03:00
Thiago de Arruda
9d8d2b7fa8 server: Extract most logic into the new socket abstraction
- Move event loop code into event/socket
- Reimplement server.c on top of the new SocketWatcher class
- Adapt msgpack_rpc/channel.c
2015-07-17 00:19:55 -03:00
Thiago de Arruda
ac2bd02561 rstream/wstream: Unify structures and simplify API
- Simplify RStream/WStream API and make it more consistent with libuv.
- Move into the event loop layer(event subdirectory)
- Remove uv_helpers module.
- Simplify job/process internal modules/API.
- Unify RStream and WStream into a single structure. This is necessary because
  libuv streams can be readable and writable at the same time(and because the
  uv_helpers.c hack to associate multiple streams with libuv handle was removed)
- Make struct definition public, allowing more flexible/simple memory
  management by users of the module.
- Adapt channel/job modules to cope with the changes.
2015-07-17 00:19:55 -03:00
Thiago de Arruda
991d3ec1e6 event loop: New abstraction layer with refactored time/signal API
- Add event loop abstraction module under src/nvim/event. The
  src/nvim/event/loop module replaces src/nvim/os/event
- Remove direct dependency on libuv signal/timer API and use the new abstraction
  instead.
- Replace all references to uv_default_loop() by &loop.uv, a new global variable
  that wraps libuv main event loop but allows the event loop functions to be
  reused in other contexts.
2015-07-17 00:19:19 -03:00
Lucas Hoffmann
d88c93acf3 tests: Style improvements and Makefile fix for migrated test 60. #2975 2015-07-16 20:31:20 -04:00
Marco Hinz
1e03165074 Remove :tearoff #3007
This also removes the 't' flag from 'guioptions'.

Side effect: :term[inal] -> :te[rminal]

Closes #3003.
2015-07-15 22:03:35 -04:00
Felipe Morales
59784b91db vim-patch:7.4.688 #2941
```
updated for version 7.4.668
Problem:    Can't use a glob pattern as a regexp pattern.
Solution:   Add glob2regpat(). (Christian Brabandt)
```

https://code.google.com/p/vim/source/detail?r=v7-4-668
2015-07-14 14:25:54 -04:00
oni-link
9a72f6b955 terminal.c: Fix memory leak #2982
dict_set_value() returns the replaced Object in a dictionary. Here
the Object is unused and needs to be freed.
2015-07-14 00:37:48 -04:00