Commit Graph

585 Commits

Author SHA1 Message Date
Justin M. Keyes
01b4efe9d9 rename ui_is_external to ui_has (#9576) 2019-02-03 16:42:44 +01:00
Björn Linse
2405cf8255 vim-patch:8.1.0792: bad display if opening cmdline window from Insert completion 2019-02-02 16:31:49 +01:00
Justin M. Keyes
aa39fc56f6 PVS/V1032: pointer cast to a more strictly aligned type
Rework-of: ea7491586f
Helped-by: Björn Linse <bjorn.linse@gmail.com>

- The old (Vim) use of (char_u **)"" before ea7491586f is garbage,
  which hints that this value was never used.
- The necessary condition is next to the NULL assigmnent, the pointer
  would only be started to be accessed, if the length assignment next to
  it is also changed.
2019-01-18 00:10:08 +01:00
Justin M. Keyes
ea7491586f PVS/V1032: pointer cast to a more strictly aligned type 2019-01-18 00:09:50 +01:00
Justin M. Keyes
ed171f7be2 PVS/V1028: cast operands, not the result 2019-01-18 00:09:50 +01:00
Justin M. Keyes
ddd4ed3ce5 clang/"Dead assignment" 2019-01-13 17:53:26 +01:00
Justin M. Keyes
fb7c48f2f3 clang/"null passed to nonnull arg": ex_history 2019-01-13 17:02:37 +01:00
Justin M. Keyes
46fc0437ba PVS/V547: Expression is always false 2019-01-05 23:19:23 +01:00
Björn Linse
5f82889be7 cmdline: support v:event in CmdlineChanged 2018-12-12 15:31:52 +01:00
Björn Linse
6c602be33a vim-patch:8.0.1445: cannot act on edits in the command line
Problem:    Cannot act on edits in the command line.
Solution:   Add the CmdlineChanged autocommand event. (xtal8, closes vim/vim#2603,
            closes vim/vim#2524)

153b704e20
2018-12-12 10:25:36 +01:00
Björn Linse
e598811e76 ui: disable clearing almost everywhere
Avoid clearing the screen in most situations. NOT_VALID should be
equivalent to CLEAR unless some external force messed up the terminal,
for these situations <c-l> and :mode will still clear the screen.

Also eliminate some obsolete code in screen.c, that dealt with that in
vim drawing window 1 can mess up window 2, but this never happens in
nvim.

But what about slow terminals? There is two common meanings in which
a terminal is said to be "slow":

Most commonly (and in the sense of vim:s nottyfast) it means low
bandwidth for sending bytes from nvim to the terminal. If the screen is
very similar before and after the update_screen(CLEAR) this change
should reduce bandwidth. If the screen is quite different, but there is
no new regions of contiguous whitespace, clearing doesn't reduce
bandwidth significantly. If the new screen contains a lot of whitespace,
it will depend of if vsplits are used or not: as long as there is no
vsplits, ce is used to cheaply clear the rest of the line, so
full-screen clear is not needed to reduce bandwith. However a left
vsplit currently needs to be padded with whitespace all the way to the
separator. It is possible ec (clear N chars) can be used to reduce
bandwidth here if this is a problem. (All of this assumes that one
doesn't set Normal guibg=... on a non-BCE terminal, if you do you are
doomed regardless of this change).

Slow can also mean that drawing pixels on the screen is slow. E-ink
screens is a recent example. Avoiding clearing and redrawing the
unchanged part of the screen will always improve performance in these
cases.
2018-10-22 11:59:02 +02:00
Jan Edmund Lazo
e7ba325298 vim-patch:8.0.1672: error during completion causes command to be cancelled
Problem:    Error during completion causes command to be cancelled.
Solution:   Reset did_emsg before waiting for another character. (Tom M.)
72532d354e
2018-10-13 21:47:41 -04:00
Jan Edmund Lazo
0cd786b905 lint 2018-10-10 23:26:26 -04:00
Jan Edmund Lazo
25baeb39e3 vim-patch:8.0.1837: one character cmdline abbreviation not triggered after '<,'>
Problem:    One character cmdline abbreviation not triggered after '<,'>.
Solution:   Skip over the special range. (Christian Brabandt, closes vim/vim#2320)
5e3423d192
2018-10-10 23:24:38 -04:00
Justin M. Keyes
512e0caae2 Merge #9036 'func_attr_printf' 2018-10-07 19:36:01 +02:00
Jan Edmund Lazo
c6350e4150 vim-patch:8.1.0436: can get the text of inputsecret() with getcmdline()
Problem:    Can get the text of inputsecret() with getcmdline(). (Tommy Allen)
Solution:   Don't return the text.
ee91c33570
2018-09-25 23:13:29 -04:00
Jan Edmund Lazo
28ac4a99f2 vim-patch:8.1.0433: mapping can obtain text from inputsecret()
Problem:    Mapping can obtain text from inputsecret(). (Tommy Allen)
Solution:   Disallow CTRL-R = and CTRL-\ e when using inputsecret().
31cbadf74b
2018-09-25 23:09:51 -04:00
MichaHoffmann
affef0aab8 add func_attr_printf in :
log.c
message.c
strings.c

fixed some printf warnings in:

src/nvim/undo.c
src/nvim/eval.c
src/nvim/eval/encode.c
src/nvim/eval/typval.c
src/nvim/ex_getln.c
src/nvim/fileio.c
src/nvim/lua/executor.c
src/nvim/main.c
src/nvim/regexp_nfa.c
src/nvim/shada.c
src/nvim/spellfile.c
src/nvim/tui/terminfo.c
src/nvim/garray.h
2018-09-24 21:28:04 +02:00
Jan Edmund Lazo
300a7a4cf4 replace fallthrough comment with macro
Follow-up of vim-patch:8.0.1215
2018-09-21 00:05:06 -04:00
Jan Edmund Lazo
6a329b0548 vim-patch:8.0.1215: newer gcc warns for implicit fallthrough
Problem:    Newer gcc warns for implicit fallthrough.
Solution:   Consistently use a FALLTHROUGH comment. (Christian Brabandt)
2f40d129bf
2018-09-20 06:59:04 -04:00
Justin M. Keyes
8b60253ce7 cleanup/TUI: remove old unused code #9013
- Checks for ECHOE, ICANON were left over from Vim code. We already
  reference the symbols elsewhere without checking.
- newline_on_exit, intr_char: Both are vestigial remnants of Vim 4.x,
  not implemented in Nvim. intr_char is a termios/stty feature, it's
  probably not useful because users have other ways to configure their
  terminals.
2018-09-19 07:59:09 +02:00
Jan Edmund Lazo
a00247e147 vim-patch:8.0.1428: compiler warning on 64 bit MS-Windows system
Problem:    Compiler warning on 64 bit MS-Windows system.
Solution:   Change type from "int" to "size_t". (Mike Williams)
200ea8ffaa
2018-09-17 22:38:10 -04:00
Jan Edmund Lazo
db90c0c9bf globals: KeyTyped is bool 2018-09-14 01:01:00 -04:00
ZviRackover
329cfc3303 lint: clean-up after parent commits 2018-09-09 10:45:50 +03:00
ZviRackover
ac13e65ae0 Remove has_mbytes local to lines changed in parent commit 2018-09-09 10:45:50 +03:00
ZviRackover
cbdbc4f63d Refactor: Remove occurences of mb_char2bytes 2018-09-09 10:45:50 +03:00
Jan Edmund Lazo
cfb2828897 window: refactor boolean variables in win_close()
free_buf (param) and help_window (variable) are bool.
2018-09-06 20:24:29 -04:00
Jan Edmund Lazo
d29b71a1de ex_cmds: const variables in find_help_tags()
keep_lang (param) is bool.
2018-09-04 21:32:08 -04:00
ZviRackover
a3549286b2 lint: clean-up after parent commits 2018-08-31 22:47:50 +03:00
ZviRackover
1015aa6ff3 Remove has_mbytes from lines local to parent commit 2018-08-31 22:47:49 +03:00
ZviRackover
1c03a06487 Refactor: remove mb_ptr2len_len, mb_ptr2cells and mb_ptr2cells_len
Remove occurences of these macros.
2018-08-31 22:45:10 +03:00
Justin M. Keyes
a2403a0ed9 Merge #8863 'refactor: Remove mb_head_off() ' 2018-08-28 23:37:30 +02:00
Björn Linse
03978a0f29 ext_cmdline: use new highlight representation for cmdline_block
Make sure cmdline updates will receive highlight specifications the same
way as screen cells. This is controlled by the ext_newgrid option so
nothing is changed by default (as screen cells are also not changed by
default).  This was already done for the cmdline itself in #8221, this
extends it to cmdline_block. Which currently doesn't store highlights,
but the placeholder should be one that makes sense for future use.
2018-08-27 11:51:52 +02:00
Justin M. Keyes
0839c44257 Merge #8866 from janlazo/vim-8.0.0878 2018-08-20 23:09:10 +02:00
Jan Edmund Lazo
0223c81457 lint 2018-08-17 22:07:55 -04:00
Björn Linse
4a46ab8de9 cmdline: always use save_cmdline before command_line_enter
":normal :" might be invoked in various ways, so its safest to always
allow recursive invocation of cmdline mode
2018-08-17 10:48:48 +02:00
Jan Edmund Lazo
58ad7fc578 ops: refactor get_spec_reg()
Return value is bool.
errmsg (param) is bool in here and in getaltfname().
allocated (param) is bool.
2018-08-16 23:05:33 -04:00
Jan Edmund Lazo
015df9c66e vim-patch:8.0.1787: cannot insert the whole cursor line
Problem:    Cannot insert the whole cursor line.
Solution:   Make CTRL-R CTRL-L work. (Andy Massimino, closes vim/vim#2857)
e2c8d83926
2018-08-16 21:33:30 -04:00
Jan Edmund Lazo
1dcdac013e vim-patch:8.0.1649: no completion for argument list commands
Problem:    No completion for argument list commands.
Solution:   Add arglist completion. (Yegappan Lakshmanan, closes vim/vim#2706)
cd43effeca
2018-08-16 11:47:56 -04:00
Jan Edmund Lazo
6531b175ad vim-patch:8.0.0878: no completion for :mapclear
Problem:    No completion for :mapclear.
Solution:   Add completion (Nobuhiro Takasaki et al. closes vim/vim#1943)
cae92dc3d5
2018-08-16 10:42:13 -04:00
ZviRackover
d110c6d790 lint: cleanup after parent commits 2018-08-16 07:39:48 +03:00
ZviRackover
30392b6356 Remove has_mbyte from lines near changes in parent commit 2018-08-16 06:03:49 +03:00
ZviRackover
2bddc4ca54 Remove occurences of mb_head_off 2018-08-15 22:02:33 +03:00
Justin M. Keyes
b7a417c5e6 Merge #8744 from janlazo/vim-8.0.0890 2018-08-08 02:22:34 +02:00
Jan Edmund Lazo
672449e448 memline: copy in ml_replace() is bool 2018-08-07 13:11:51 -04:00
ZviRackover
5cecd7a93a style: fixing minor issues noted in code review. 2018-08-06 22:27:10 +03:00
ZviRackover
cd3b2e4b6b lint: clean-up after parent commit 2018-08-06 20:48:07 +03:00
ZviRackover
10b6afd652 Remove all occurences of the mb_ptr2char macro
First step towards implemening issue #7401.

The same can be done for all deprecated mb_ functions in follow-up
patches.
2018-08-06 20:48:07 +03:00
hyatskov
b42c80e561 eval, ex_getln: Fix incompatible pointer types (#8792)
Fixes #8786

gcc (GCC) 8.1.1 20180531 warning:

[76/182] Building C object src/nvim/CMakeFiles/nvim.dir/ex_getln.c.o
../src/nvim/ex_getln.c: In function ‘ExpandUserDefined’:
../src/nvim/ex_getln.c:5071:34: warning: cast between incompatible function types from ‘char * (*)(const char * const,  const int,  const char_u * const* const,  const _Bool)’ {aka ‘char * (*)(const char * const,  const int,  const unsigned char * const* const,  const _Bool)’} to ‘void * (*)(char_u *, int,  char_u **, int)’ {aka ‘void * (*)(unsigned char *, int,  unsigned char **, int)’} [-Wcast-function-type]
   retstr = call_user_expand_func((user_expand_func_T)call_func_retstr, xp,
2018-08-05 02:37:00 +02:00
Jan Edmund Lazo
9fbbec76aa vim-patch:8.0.1502: in out-of-memory situation character is not restored
Problem:    In out-of-memory situation character is not restored. (Coverity)
Solution:   Restore the character in all situations.
71a43c0137
2018-07-23 00:01:07 -04:00