Commit Graph

8225 Commits

Author SHA1 Message Date
timeyyy
0b6b03c472 kbtree.h 2017-06-24 11:09:10 +02:00
Justin M. Keyes
144f584948 Merge #6914 from ZyX-I/func-def-trailing-error
Allow multiple function definitions in one :execute
2017-06-21 23:56:00 +02:00
ZyX
60c0252672 eval: Allow running next command after :endfunction
This will still error out on `:endfunction | next`, but defining many functions
in one `:execute` should be possible.
2017-06-20 18:36:17 +03:00
ZyX
bad5b2f8cf eval: Error out when there is something after :endfunction
Ref #6844
2017-06-20 18:17:47 +03:00
Justin M. Keyes
cb8e47c4f8 Merge #6863 2017-06-19 12:35:16 +02:00
Chris Hall
dcbeefcd23 coverity/112076: fixing "Explicit null dereferenced"
if (oap->regname == 0 &&
   oap->motion_type != kMTLineWise &&
   oap->line_count == 0 &&
   !oap->use_reg_one    ){
    then reg is not initialised
    and our call to set_clipboard will dereference NULL
}
2017-06-20 14:47:12 +10:00
Chris Hall
76ea97c809 coverity/155506: fixing "dereference null after check" (#6862)
rbuffer_read_ptr may return a null

if ptr == null && cnt == 0 && !out_data_decide_throttle(cnt)
    then we would have called out_data_append_to_screen(ptr, cnt, eof)
    which dereferences the null pointer.
2017-06-19 02:01:29 +02:00
Shougo
694eb18e03 vim-patch:7.4.2356 (#6880)
Problem:    Reading past end of line when using previous substitute pattern.
            (Dominique Pelle)
Solution:   Don't set "pat" only set "searchstr".

ea683da58c
2017-06-19 01:13:32 +02:00
James McCoy
f8e3bc63ef Merge pull request #6860 from justinmk/coverity
coverity/155509: negative close() arg
2017-06-15 12:55:05 +00:00
Justin M. Keyes
cb75db4c18 coverity/155509: negative close() arg 2017-06-14 22:53:09 -04:00
Björn Linse
ad73a70e5a screen.c: fix lint 2017-06-14 20:31:14 +02:00
Björn Linse
16ae369474 screen.c: make more highlights window specific 2017-06-14 20:31:14 +02:00
Shougo
6650588c4a vim-patch:7.4.2190 (#6882)
Problem:    When startup test fails it's not easy to find out why.
            GUI test fails with Gnome.
Solution:   Add the help entry matches to a list an assert that.
            Set $HOME for Gnome to create .gnome2 directory.

50fa8dd00c
2017-06-12 00:44:21 +02:00
HiPhish
9f534f338a mksession: Restore tab-local working directory #6859
The ':tcd' command is the first tab-specific command written to the file
and it is wrapped inside an 'if has('nvim')' block to keep the session
file compatible with Vim.

Closes #6678
2017-06-11 15:51:53 +02:00
Daniel Hahler
d0ff2000b2 vim-patch:8.0.0607 (#6879)
Problem:    When creating a bufref, then using :bwipe and :new it might get
            the same memory and bufref_valid() returns true.
Solution:   Add br_fnum to check the buffer number didn't change.

45e5fd135d
2017-06-11 15:03:02 +02:00
Jonathan de Boyne Pollard
2c236fc67b tui: Track cursor visibility.
This fixes a test failure caused by dfaecb25f6a9a94f29a38d9f2d24a579b3dff5f
not tracking what the current visibility is and whether it matches the
current business state.
2017-06-10 09:00:15 +01:00
Jonathan de Boyne Pollard
cdfaecb25f tui: Eliminate more extraneous control sequences.
When higher layers flush the TUI layer output buffer, but there is
nothing in the buffer to flush, no longer does the TUI layer write out
unnecessary cnorm/civis sequences surrounding that nothing.
2017-06-09 19:50:13 +01:00
Jonathan de Boyne Pollard
6d35c5c7ec tui: Another linux terminfo capability fix
For the linux terminal type apply the same fixup to the terminfo civis
string that is applied to the cnorm string.
2017-06-09 19:33:17 +01:00
Michael Ennen
edced212db vim-patch:7.4.2360
Problem:    Invalid memory access when formatting. (Dominique Pelle)
Solution:   Make sure cursor line and column are associated.

80c3fd7c55
2017-06-08 10:27:39 -04:00
Justin M. Keyes
16cce1ac17 Merge #6827 'Always enable logging' 2017-06-07 23:19:02 +02:00
James McCoy
ca1ba1085a lint 2017-06-06 21:38:31 -04:00
James McCoy
af59a290d8 *: Fix conversion warnings for tv_get_number*() 2017-06-06 21:38:31 -04:00
James McCoy
601bf9642f strings/tv_float: Explicitly cast v_number to float_T for -Wconversion 2017-06-06 21:38:27 -04:00
Justin M. Keyes
d07661b9a3 log: Fall back to CWD-relative .nvimlog
If if the resolved $NVIM_LOG_FILE *and* stdpath("data")/log cannot be
created (e.g. because the XDG data directory does not exist), fall back
to .nvimlog in the current direcrtory.
2017-06-07 00:27:26 +02:00
Justin M. Keyes
bb96b8219d log: set $NVIM_LOG_FILE; fallback to $XDG_DATA_HOME/nvim/log 2017-06-07 00:26:56 +02:00
Justin M. Keyes
05cdbbc18b ga_append_via_ptr: fix log arguments 2017-06-07 00:26:22 +02:00
Justin M. Keyes
eb6dd3e42d ci: Dump $NVIM_LOG_FILE contents 2017-06-07 00:26:21 +02:00
Justin M. Keyes
fe1af9c2bc log: Always enable; remove DISABLE_LOG
- Establish ERROR log level as "critical". Such errors are rare and will
  be valuable when users encounter unusual circumstances.
- Set -DMIN_LOG_LEVEL=3 for release-type builds
2017-06-07 00:26:21 +02:00
Justin M. Keyes
698ec9eb6e loop_close: Avoid infinite loop, and log it.
Avoids a hang, and also helps diagnose issues like:

https://github.com/neovim/neovim/pull/6594#issuecomment-298321826
2017-06-07 00:26:21 +02:00
Justin M. Keyes
f83d733318 log: log_uv_handles 2017-06-07 00:26:19 +02:00
James McCoy
2109fb18e6 eval/typval: Convert string to varnumber_T instead of intermediate long 2017-06-06 07:56:03 -04:00
James McCoy
6757c503bd vim-patch:8.0.0614
Problem:    float2nr() is not exactly right.
Solution:   Make float2nr() more accurate.  Turn test64 into a new style test.
            (Hirohito Higashi, closes vim/vim#1688)

863e80b445
2017-06-06 07:39:33 -04:00
James McCoy
9281653233 Merge remote-tracking branch 'origin/master' into vim-7.4.1975 2017-06-06 07:33:50 -04:00
James McCoy
75c32b549b lint 2017-06-06 06:15:16 -04:00
James McCoy
9a21d89b17 vim-patch:8.0.0561
Problem:    Undefined behavior when using backslash after empty line.
Solution:   Check for an empty line. (Dominique Pelle, closes vim/vim#1631)

478af67dd6
2017-06-06 06:15:16 -04:00
James McCoy
5f8411b7bf vim-patch:8.0.0176
Problem:    Using :change in between :function and :endfunction fails.
Solution:   Recognize :change inside a function. (ichizok, closes vim/vim#1374)

70bcd7336f
2017-06-06 06:15:16 -04:00
James McCoy
d707b2a171 vim-patch:8.0.0478
Problem:    Tests use assert_true(0) and assert_false(1) to report errors.
Solution:   Use assert_report().

37175409d7
2017-06-06 06:15:16 -04:00
James McCoy
dafc14b969 vim-patch:8.0.0477
Problem:    The client-server test may hang when failing.
Solution:   Set a timer.  Add assert_report()

42205551b1
2017-06-06 06:15:16 -04:00
James McCoy
cb8efa4fef vim-patch:8.0.0360
Problem:    Sometimes VimL is used, which is confusing.
Solution:   Consistently use "Vim script". (Hirohito Higashi)

b544f3c81f
2017-06-06 06:15:16 -04:00
James McCoy
0088ed0f1a vim-patch:8.0.0168
Problem:    Still some float functionality is not covered by tests.
Solution:   Add more tests. (Dominique Pelle, closes vim/vim#1364)

872004132f
2017-06-06 05:07:14 -04:00
James McCoy
17d616037d vim-patch:8.0.0167
Problem:    str2nr() and str2float() do not always work with negative values.
Solution:   Be more flexible about handling signs. (LemonBoy, closes vim/vim#1332)
            Add more tests.

08243d26d2
2017-06-06 05:07:14 -04:00
James McCoy
b1d4ef2b42 vim-patch:8.0.0158
Problem:    On MS-Windows some float functions return a different value when
            passed unusual values.  strtod() doesn't work for "inf" and "nan".
Solution:   Accept both results.  Fix str2float() for MS-Windows.  Also
            reorder assert function arguments.

6247361101
2017-06-06 05:07:14 -04:00
James McCoy
09eefbe92c vim-patch:8.0.0156
Problem:    Several float functions are not covered by tests.
Solution:   Add float tests. (Dominique Pelle)

453b576ee5
2017-06-06 05:07:06 -04:00
Jonathan de Boyne Pollard
b22a61cdbb tui: Recognize "Tc" terminfo capability.
This is a new convention pioneered by tmux.  It does not do much for
nvim; since nvim always looks to see whether it should be making up
"setrgbf" and "setrgbb" capabilities.  But it is a way for terminfo to
force this, irrespective of the hardwired list in the code, for more
terminal types.  On the gripping hand, updating terminfo descriptions to
actually have "setrgbf" and "setrgbb" capabilities so that nvim never
has to try to invent them in the first place, is as good if not better
an approach for overriding what is baked into the code.
2017-06-05 22:47:44 +01:00
Jonathan de Boyne Pollard
054b03e07a tui: Combine multiple attribute changes.
Use the terminfo set_attribute capability to set multiple attributes in one
control sequence, if it is available.
2017-06-05 22:12:53 +01:00
James McCoy
b3129b3791 eexe_mod_op: Explicitly cast varnumber_T to float_T for -Wconversion 2017-06-04 22:12:15 -04:00
James McCoy
eb5e4a2476 *: Disable UBSAN for VimL arithmetic implementation
After merging +num64, the 64-bit sanitizer builds show that Vim doesn't
buffer the user from C's UB in signed arithmetic.  Upstream doesn't
appear to be [interested] in fixing the issue, so suppress UBSAN until
someone decides to fix the problem.

N.B., the problem existed before but went unnoticed since the sanitizer
builds weren't being run in 32-bit mode.

[interested]: https://groups.google.com/d/topic/vim_dev/_tqf8eQy5eA/discussion
2017-06-04 22:12:15 -04:00
James McCoy
fb2b3f98bb func_attr: Allow disabling UBSAN for a function 2017-06-04 22:12:15 -04:00
James McCoy
43534cab02 lint 2017-06-04 22:12:14 -04:00
James McCoy
2fb0a62553 vim-patch:8.0.0219
Problem:    Ubsan reports errors for integer overflow.
Solution:   Define macros for minimum and maximum values.  Select an
            expression based on the value. (Mike Williams)

7a40ea2138
2017-06-04 22:12:14 -04:00