Problem: Using :change in between :function and :endfunction fails.
Solution: Recognize :change inside a function. (ichizok, closesvim/vim#1374)
70bcd7336f
Problem: str2nr() and str2float() do not always work with negative values.
Solution: Be more flexible about handling signs. (LemonBoy, closesvim/vim#1332)
Add more tests.
08243d26d2
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
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.
Reverts commit 337b6179dfCloses#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.
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.
Problem: The buffer that quickfix caches for performance may become
invalid. (Daniel Hahler)
Solution: Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
closesvim/vim#1728, closesvim/vim#1676)
6dd4a53502
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.
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.
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.
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.
This limits the use of dtterm's extension to DECSLPP to only those
terminal types where it is known to be supported.
Because it can be potentially understood as genuine DECSLPP
sequence, setting the number of lines to a number larger than 25,
which of course can cause confusion (especially if it is the width
parameter that results in this) only use it on terminals that are
known to support the dtterm extension.
rxvt (Unicode) also understands dtterm's extension.