Commit Graph

5507 Commits

Author SHA1 Message Date
Justin M. Keyes
a7f34e1991 options: remove 'guiheadroom' 2017-04-04 14:19:26 +02:00
Justin M. Keyes
e348e256f3 'guicursor': Disable by default for unknown terminals.
User can still set guicursor explicitly in init.vim.

Closes #5990
Closes #6403
2017-04-04 14:19:26 +02:00
Justin M. Keyes
3ccd59ee82 'guicursor': enabled=false if 'guicursor' is empty
Closes #6429
Closes #6430
2017-04-04 14:19:26 +02:00
Yichao Zhou
bc6d868d00 'listchars': Whitespace highlight group #6367 2017-04-03 14:10:40 +02:00
ZyX
ac87c7e5ae fileio: Fix most linter errors
One error is still kept: buf_write function is too large.
2017-04-03 03:46:44 +03:00
ZyX
2dbd49f73c fileio: Save details about E212 error 2017-04-03 03:02:17 +03:00
ZyX
97a7f4745d eval: Add s flag, use p_fs by default, error out on unknown flag 2017-04-03 02:11:27 +03:00
ZyX
5dcf280445 fileio: Refactor msg_add_fname to something which needs no comments 2017-04-03 02:03:05 +03:00
ZyX
1c41b9c775 fileio: Clean up IObuff-manipulation mess 2017-04-03 01:39:09 +03:00
ZyX
8eb598c08e fixup! 2017-04-03 00:44:49 +03:00
ZyX
8dd9c6edd8 message: Do not use IObuff in emsgf 2017-04-03 00:40:48 +03:00
ZyX
364709bedb fileio: Refactor errmsg handling
Adds os_strerror() result to a number of places. Also since I could not track 
where err\* variables are NULL and where they are not, using macros to make sure 
that all three variables are set at once.

Removes #ifdef UNIX around the use of os_fsync, makes it use os_close in place 
of close in some places.
2017-04-03 00:35:29 +03:00
ZyX
b10880dadc eval: Make writefile() able to disable fsync() 2017-04-02 22:11:35 +03:00
Justin M. Keyes
58422f17d8 Merge #6423 from justinmk/guicursor 2017-04-02 02:32:36 +02:00
Justin M. Keyes
1ad5644006 Merge #6409 from ZyX-I/separate-clint
cmake: Add `clint` target to build Makefile
2017-04-02 01:20:16 +02:00
James McCoy
16babc6687 tui: Only enable/disable mouse when there's something to do (#6411)
If we get a mouse_on/mouse_off event, but the mouse is already in the
corresponding state, there's no need to send the event up to the
terminal.

Closes #4394
2017-04-02 00:00:42 +02:00
Justin M. Keyes
3a69dbfca6 api/cursor_style_set: mode descriptions 2017-04-01 23:29:10 +02:00
Justin M. Keyes
c2826a7830 'guicursor': Empty means "block cursor in all modes".
Also: update default 'guicursor' to match the documentation.
2017-04-01 23:14:05 +02:00
Matthieu Coudron
54bab0019b tui: 'guicursor' color
For now only supports valid hex colors (does not check for the validity
the hex color) when termguicolors is set, otherwise it won't attempt to
change the cursor color.
2017-04-01 23:14:05 +02:00
Matthieu Coudron
dd4a5fcbb6 tui: 'guicursor' shape #6044
Closes #2583
2017-04-01 23:14:05 +02:00
Justin M. Keyes
518f28f537 Merge #6422 from ZyX-I/fix-6420
eval,fileio: Omit additional fsync() call
2017-04-01 22:38:20 +02:00
Matthew Malcomson
337b6179df 'pastetoggle': support value >1 char (#6421)
If we `set pastetoggle=abcde`, and manually type it, then `vgetorpeek()`
sees part of the option before it has all been inserted into the
typebuffer.
To signify this it sets `keylen = KEYLEN_PART_KEY`, but the condition
about whether to return the current key from `vgetorpeek()` only checks
for `keylen = KEYLEN_PART_MAP`.
Add a check for `KEYLEN_PART_KEY` to account for the `'pastetoggle'`
option.
2017-04-01 21:50:29 +02:00
ZyX
19690d4a25 eval: Do not allocate FileDescriptor 2017-04-01 22:26:50 +03:00
ZyX
cc4523013f eval,fileio: Omit additional fsync() call
Fixes #6420
2017-04-01 21:15:13 +03:00
lonerover
45a13c4bbc vim-patch:7.4.2306
Problem:    Default value for 'langremap' is wrong.
Solution:   Set the right value. (Jürgen Krämer)  Add a test.

da9ce2cde1
2017-04-01 22:46:27 +08:00
lonerover
53da57d27a vim-patch:7.4.2236
Problem:    The 'langnoremap' option leads to double negatives.  And it does
            not work for the last character of a mapping.
Solution:   Add 'langremap' with the opposite value.  Keep 'langnoremap' for
            backwards compatibility.  Make it work for the last character of a
            mapping.  Make the test work.

920694c1b6
2017-04-01 22:45:36 +08:00
ZyX
4d0f90f94d cmake: Also depend on LINT_PRG 2017-03-31 16:04:18 +03:00
ZyX
4fc2be490c clint: Do not report zero errors 2017-03-31 16:04:18 +03:00
ZyX
c61858a997 cmake: Replace RunLint.cmake with code in src/nvim/CMakeLists.txt
This also removes LINT_FILE environment variable, other then that functionality 
is kept. It is expected that developers needing partial linting will use `make 
lint`, touching interesting file before (if not done already by writing to 
them).
2017-03-31 16:04:18 +03:00
ZyX
24fd125893 cmake: Allow failing to download small suppress files 2017-03-31 16:04:18 +03:00
ZyX
0b528fc4b5 cmake: Use file-specific supprresses
`make -C build clint` time is now

    make -j5 clint  95.29s user 1.86s system 409% cpu 23.751 total

*without* downloading anything (much worse if something was not cached, still 
a bit better then top-level `make clint`). But since without neovim/bot-ci#95 it 
is downloading each file one-by-one total time with download (download also 
parallel!) is

    make -j5 -B clint  99.29s user 2.98s system 258% cpu 39.634 total

Top-level makefile still gives

    make -j5 clint  59.33s user 0.28s system 95% cpu 1:02.41 total
2017-03-31 16:04:17 +03:00
ZyX
030c0588a0 cmake: Add clint target to build Makefile
Allows linting only modified files and linting multiple files in
parallel. In the current state is rather slow because errors.json is
a 6 MiB file and needs to be reparsed each time.

Results on my system (6-core):

    # In build dir, actually parallel
    make -j5 clint  241.24s user 8.39s system 334% cpu 1:14.74 total
    # In root, one process
    make -j5 clint  60.69s user 0.37s system 93% cpu 1:05.19 total

In both cases download time included.

That is not well for travis (though I would keep travis as-is because
new variant will fail before checking all files), but already good
enough for regular development: total times are nearly identical and
this is the *full* build, further `make -C build clint` will check only
modified files.
2017-03-31 16:04:17 +03:00
James McCoy
77539eef9b Merge pull request #6397 from jamessan/coverity
Fix latest Coverity issues
2017-03-31 07:52:45 -04:00
James McCoy
338da727cd coverity/161216: Ensure buf is valid for lifetime of defstr
Depending on the type of argument for input()/inputdialog()'s {text}
argument, defstr may point to buf.  Therefore it needs to be in scope
for the lifetime of defstr.

Also, use a different buffer for the handling of the 3rd argument to
input()/inputdialog().  Although the buffer defstr points to is used
immediately, it avoids potential mishaps if the code changes.
2017-03-30 22:30:02 -04:00
James McCoy
f4a3a96b68 Add handling for MSGPACK_OBJECT_FLOAT{32,64}
msgpack-c previously only had MSGPACK_OBJECT_FLOAT, which was a 64-bit
value.  Now, 32-bit and 64-bit floats are supported as distinct types,
but we'll simply continue to treat everything as 64-bit types.
2017-03-30 21:35:36 -04:00
Matthew Malcomson
3a9dd13f9e fold.c: more edge-cases when updating (#6207)
When foldUpdateIEMSRecurse() re-uses an existing fold, it misses the
case where the existing fold spans from before startlnum to after
firstlnum, the new fold does not span this range, and there is no
"forced start" of a fold. We add a case for this in.

Ensure that if there was no forced break in folds, we merge folds that
now touch each other.

Include testing for a tricky foldmethod=expr case that has never been a
bug. This case works at the moment because of some effects that are not
obvious when reading the code.
A test for this could be useful to ensure a regression doesn't happen.

vim-patch:8.0.0408
2017-03-31 01:21:26 +02:00
Michael Ennen
831eb2a9bf vim-patch:7.4.2104 (#6332)
Problem:    Code duplication when unreferencing a function.
Solution:   De-duplicate.

97baee80f0
2017-03-31 01:07:39 +02:00
Jakob Schnitzer
eb0e94f71b api: {get,set}_option should {get,set} global value of local options (#6405)
- nvim_get_option should return the global default of a local option.
- nvim_set_option should set the global default of a local option.
2017-03-30 22:03:52 +02:00
James McCoy
75b98f7c3f Remove PVS-Studio cruft
[ci skip]
2017-03-30 10:09:33 -04:00
James McCoy
1222c82799 coverity/16127: Verify lang is non-NULL before calling strlen 2017-03-29 21:34:04 -04:00
James McCoy
91dfebf050 ci: Update Coverity model for typval refactoring
[ci skip]
2017-03-29 21:16:58 -04:00
James McCoy
1c6ae58fd1 coverity/161194: Restore check for 'keywordprg' being ":help"
998d0ffc09 removed the explicit check for
":help", relying instead on whether the user was in a help buffer.
However, this breaks escaping the identifier for use in the lookup
command.

2f54d6927c tried to fix this by removing
"!kp_ex" in "if (cmdchar == 'K' && !kp_ex)", but that causes shell
escaping to be used instead of escaping for tag lookup.
2017-03-29 21:16:58 -04:00
James McCoy
3116f870ba coverity/161195: Increase scope of exe_name
Since exe_name is a stack allocated array, we need it to be in scope for
the lifetime that vim_path points to it.
2017-03-29 21:16:50 -04:00
Justin M. Keyes
1f478cebeb win: tempname(): Use $TMPDIR if defined. 2017-03-30 02:55:00 +02:00
relnod
6964b67c00 refactor/single-include: buffer.h (#6396) 2017-03-30 00:50:11 +02:00
Justin M. Keyes
c60e409471 Merge #5119 from ZyX-I/split-eval 2017-03-29 23:15:07 +02:00
Justin M. Keyes
05b74399aa build: remove unused get_preproc_output() call
ref https://github.com/neovim/neovim/pull/6375#discussion_r108573471
2017-03-29 17:39:06 +02:00
lonerover
2846d508b2 vim-patch:7.4.2276 (#6393)
* vim-patch:7.4.2276

Problem:    Command line test fails on Windows when run twice.
Solution:   Wipe the buffer so that the directory can be deleted.

1773ddfdcd

* version.c: mark vim-patch 7.4.2269 as included (#5659)
2017-03-29 16:48:50 +02:00
ZyX
b9603218be eval/executor: Fix check-single-includes 2017-03-29 10:08:46 +03:00
ZyX
a1d590a08b *: Use const char * in set_one_cmd_context
Also renames functions added in master and renamed here.
2017-03-29 10:08:46 +03:00