Commit Graph

8654 Commits

Author SHA1 Message Date
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
James McCoy
55c93ea164
vim-patch:7.4.2224
Problem:    Compiler warnings with older compiler and 64 bit numbers.
Solution:   Add "LL" to large values. (Mike Williams)

af9c4c9b57

Equivalent change was made in ZyX's typval refactoring.
2017-06-04 22:12:14 -04:00
James McCoy
c3efb2804a
vim-patch:7.4.2029
Problem:    printf() does not work with 64 bit numbers.
Solution:   use the "L" length modifier. (Ken Takata)

38ee6b041e
2017-06-04 22:12:14 -04:00
James McCoy
9c01efd6fb
vim-patch:7.4.1986
Problem:    Compiler warns for loss of data.
Solution:   Use size_t instead of int. (Christian Brabandt)

fef524bbff

Equivalent change had already been made when merging earlier pack
patches.
2017-06-04 22:12:14 -04:00
James McCoy
03f5f78792
vim-patch:7.4.1979
Problem:    Getting value of binary option is wrong. (Kent Sibilev)
Solution:   Fix type cast.  Add a test.

2acfbed9db
2017-06-04 22:12:14 -04:00
James McCoy
0164a5fea3
vim-patch:7.4.1978
Problem:    Large file test does not delete its output.
Solution:   Delete the output. Check size properly when possible. (Ken Takata)

c5af40ae64
2017-06-04 22:12:14 -04:00
James McCoy
481654a88b
vim-patch:7.4.1977
Problem:    With 64 bit changes don't need three calls to sprintf().
Solution:   Simplify the code, use vim_snprintf(). (Ken Takata)

bde9810d61

nvim already had the equivalent code, so only the patch number was
needed.
2017-06-04 22:12:14 -04:00
James McCoy
81be7358be
vim-patch:7.4.1976
Problem:    Number variables are not 64 bits while they could be.
Solution:   Add the num64 feature. (Ken Takata)

22fcfad292
2017-06-04 22:12:13 -04:00
James McCoy
953f26bace
vim-patch:7.4.1975
Problem:    On MS-Windows large files (> 2Gbyte) cause problems.
Solution:   Use "off_T" instead of "off_t".  Use "stat_T" instead of "struct
            stat".  Use 64 bit system functions if available.  (Ken Takata)

8767f52fbf

Only the off_T changes are relevant, since all the "struct stat" usage
is abstracted by libuv.
2017-06-04 22:12:13 -04:00
James McCoy
018383096c
oldtests: Fix syntax of s:flaky 2017-06-04 22:09:19 -04:00
Björn Linse
1b2acb8d95 Merge pull request #6807 from bfredl/attrindent
[RFC] lint: check indentation of FUNC_ATTR lines
2017-06-03 21:00:05 +02:00
Björn Linse
3f553ac0b9 lint: fix indentation of FUNC_ATTR lines 2017-06-03 08:17:22 +02:00
Björn Linse
f3d8502115 clint: check FUNC_ATTR lines to have 2-space indent 2017-06-03 08:17:22 +02:00
Jonas Stein
fd07250e6c doc: README.md (#6839) 2017-06-02 23:45:32 +02:00
Jonathan de Boyne Pollard
838277e28a test: fix bashisms (#6791) 2017-06-01 00:46:00 +02:00
Justin M. Keyes
133f8bc628 Merge #4700 from AdnoC/keep-default-register 2017-05-31 23:43:40 +02:00
Jan Viljanen
c1026ff4b3 build: LuaRocks 2.4.2 #6059
LuaRocks 2.3 and onwards changed the /P option to no longer include the
version number which made newer releases of LuaRocks fail when compiling
on Windows.
2017-05-31 23:13:47 +02:00
AdnoC
2f2eeb19ba shada: Add default value for is_unnamed 2017-05-31 13:31:06 -04:00
AdnoC
745bac562d eval.c: Ignore unnamed register error in f_setreg
The error case is already handled and an appropriate error message is
already printed.
2017-05-31 13:31:06 -04:00
AdnoC
5908f562df test: Fix and add cases for unnamed register
Also:

Add ru to shada tests with all keys

Add test for unset unnamed and register 0
2017-05-31 13:31:05 -04:00
AdnoC
0c3dea5c4d style/lint 2017-05-31 13:31:01 -04:00
AdnoC
336412e1db shada/linting: Moved some code out of shada_write.
shada_write was too long (over 500 lines) and caused a linting error.
Register initialization was moved to its own function in order to save lines.
2017-05-31 13:19:09 -04:00
AdnoC
beca4dc16c eval/shada: Add testing for unnamed register with setreg and startup 2017-05-31 13:19:08 -04:00
AdnoC
9a91ce4fa6 eval: Add ability to set the unnamed register with setreg 2017-05-31 13:19:08 -04:00
AdnoC
a00b03d03f shada: Set the unnamed register to the previous unnamed register on startup 2017-05-31 13:18:59 -04:00
Justin M. Keyes
fcc9d99967 channel_write: fix compiler warning 2017-05-31 14:10:04 +02:00
Matthew Malcomson
033b1cb7d9 'pastetoggle': Revert support for multi-key value (#6724)
Reverts commit 337b6179df

Closes #6716 at the expense of not being able to use a
multi-key 'pastetoggle' manually.

Multi-key 'pastetoggle' can still be used when inserting the entire
option into the typebuffer at once (though the use here is
questionable).

Also remove those tests to do with waiting for the completion of
'pastetoggle' and mention in the documentation that 'pastetoggle'
doesn't wait for timeout.
2017-05-31 13:20:06 +02:00
James McCoy
43f40b8e1a Merge pull request #6740 from oni-link/fix.snprintf
if_cscope: Fix truncation of formated output
2017-05-30 00:47:27 +00:00
Björn Linse
1b7a9bf4d2 Merge pull request #6594 from bfredl/sockopen
connect to socket (RPC only for the moment)
2017-05-29 20:33:00 +02:00
Björn Linse
5a151555c8 sockets: don't deadlock when connecting to own pipe address 2017-05-29 19:02:49 +02:00
Björn Linse
6a75938758 channels: implement sockopen() to connect to socket
Helped-By: oni-link <knil.ino@gmail.com>
2017-05-29 19:02:49 +02:00
James McCoy
9cc185dc6d Merge pull request #6680 from mhinz/listen/localhost
Use uv_getaddrinfo() for servers
2017-05-28 13:26:06 +00:00
James McCoy
62d020aba1
socket_watcher_start: Silence conversion warning for sin(6)_port
Although in_port_t is a typedef for uint16_t, GCC in Ubuntu 12.04
complains about potential loss of data due to converting int to
uint16_t.  Since we know this isn't possible, silence the warning to
avoid breaking QB until it gets upgraded to a newer Ubuntu.
2017-05-28 07:14:49 -04:00
James McCoy
6c135b89ee
eval: serverstart: Return finalized address to user
In the process of setting up the socket watcher, the address may be
changed (e.g., adding the OS-selected port).
2017-05-28 07:14:49 -04:00
Daniel Hahler
eb71bbb1da vim-patch:8.0.0605 (#6821)
Problem:    The buffer that quickfix caches for performance may become
            invalid. (Daniel Hahler)
Solution:   Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
            closes vim/vim#1728, closes vim/vim#1676)

6dd4a53502
2017-05-28 13:01:46 +02:00
Justin M. Keyes
1cf377f23a Merge #6777 from justinmk/bsd 2017-05-28 02:37:07 +02:00
James McCoy
3f85c2e43a
Server: Call uv_getaddrinfo with NULL service when no port
When using serverstart("ip.ad.d.r:") to listen on a random port, we need
to abide by getaddrinfo()'s API and pass in a NULL service, rather than
an empty string.

When given an empty string, getaddrinfo() is free to search for a
service by the given name (since the string isn't a number) which will
fail.  At least FreeBSD does perform this lookup.
2017-05-27 20:27:33 -04:00
Justin M. Keyes
a84926763f install: bsd: install manpages to /usr/local/man
https://svnweb.freebsd.org/ports/head/editors/neovim/Makefile?revision=428479&view=markup#l28

Closes #6771
2017-05-27 21:42:10 +02:00
Justin M. Keyes
023f67cad8 terminal: Do not change 'number', 'relativenumber' (#6796)
Showing the 'number' column in terminal buffers is a bit silly because
of 'scrollback'. But it's mostly harmless and technically works as
expected.

The least surprising thing is to leave the user's settings alone. Since
there are tradeoffs in both cases, we choose inertia.

We still disable 'relativenumber' in *terminal-mode* (as opposed to
normal-mode) because it is totally broken: the Nvim cursor (not terminal
cursor) is always on the last line.
2017-05-27 15:08:38 +02:00
raichoo
967e892cb6 man.vim: feature-test section (-s) flag #6815
Different implementations of `man` might be using different
flags for sections.
2017-05-26 00:30:40 +02:00
Justin M. Keyes
7a1a3a1258 build: Default BUSTED_OUTPUT_TYPE to "nvim" (#6811) 2017-05-25 14:51:53 +02:00
TJ DeVries
45626de63f get_keymap API (#6236)
* Add api function get keymap

nvim_get_keymap(mode)
nvim_buf_get_keymap(buffer, mode)
2017-05-25 12:41:53 +02:00
James McCoy
2dc27a8a78 shada: Remember whether "0 or "1 was the unnamed register
Ref #4645
2017-05-24 14:17:19 -04:00
Justin M. Keyes
f4fddbfb77 Merge #6799 from justinmk/tui-dtterm 2017-05-24 02:00:27 +02:00
Jonathan de Boyne Pollard
133ae5eeef tui: Improve scrolling mechanism.
Respect the BGE flag from terminfo rather than guessing that it is
always off. Emit DECLRMM and DECSLRM (or equivalent) to properly define
the scroll rectangle.
2017-05-23 21:55:15 +02:00
Jonathan de Boyne Pollard
0de7b17d03 tui: Reset the scroll region when resizing.
DECSLPP is explicitly documented as not affecting the scroll region. The
dtterm extension is not as well documented, but it is safer than not to
assume that it operates similarly.

This also eliminates a pointlessly repeated test from tui_scroll(). It
additionally uses a non-parameterized DECSTBM sequence when attempting
to reset back to whole-screen scrolling.
2017-05-23 15:35:47 +02:00
Jonathan de Boyne Pollard
593af64943 tui: resize: use an extended terminal capability
... rather than hardwiring the string and testing the terminal
type every time the screen is re-sized.
2017-05-23 15:35:16 +02:00