Commit Graph

1026 Commits

Author SHA1 Message Date
ZyX
24f0056ca5 message: Add support for replacing < to str2special 2017-07-02 19:37:21 +03:00
ZyX
6140396d97 *: Adjust usages of modified functions 2017-07-02 18:50:16 +03:00
Jakob Schnitzer
e8829710bc Merge branch 'master' into option-fixes 2017-06-28 16:52:04 +02: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
James McCoy
af59a290d8 *: Fix conversion warnings for tv_get_number*() 2017-06-06 21:38:31 -04:00
James McCoy
43534cab02 lint 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
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
Jonathan de Boyne Pollard
03683c375c tui: Disable interference in guicursor by higher layers.
Ironically, higher layers trying to be "smart" about the terminal type
but not actually being very smart at all, makes it more difficult rather
than less to correct the TUI layer.

Note that this orphans the os_term_is_nice() function and down the road,
presuming that we do not have to revert this, that function can be removed.
It incorporates knowledge of terminal types and behaviours in the wrong place.
2017-06-03 18:53:27 +01:00
Justin M. Keyes
597d65b4b7 Merge #6741 from justinmk/progpath 2017-05-15 16:11:01 +02:00
Justin M. Keyes
cc5a42a774 env_iter: Learn delim parameter. 2017-05-15 15:01:52 +02:00
Björn Linse
8d8b6224d9 options: make 'highlight' read-only 2017-05-15 07:22:31 +02:00
Björn Linse
7d6af9985c ui: cleanup UI_CALL wrappers
remove pointless control chars in the text stream
2017-05-10 16:14:12 +02:00
Björn Linse
bfcaf36404 options: allow different highlights in windows 2017-05-08 12:41:39 +02:00
Björn Linse
443399c27d options: consolidate updates for window string options affected by copy_winopt
update note at options.c head about window options
2017-05-05 10:55:07 +02:00
James McCoy
de50c003d5 Use vim_strchr(s, c) when c may be NUL (#6656)
As part of the refactoring in #5119, some vim_strchr() were changed to
strchr().  However, vim_strchr() behaves differently than strchr() when
c is NUL, returning NULL instead of a pointer to the NUL.

Revert the strchr() calls where it isn't known whether c is NUL, since
this causes a semantic change the surrounding code doesn't expect.  In
the case of #6650, this led to a heap overrun.

Closes #6650
2017-05-03 10:12:38 +02:00
Jakob Schnitzer
ff8b2eb435 Merge branch 'master' into option-fixes 2017-04-24 11:35:10 +02:00
Justin M. Keyes
15af803cce Merge #6550 from ZyX-I/pvs-check-comment 2017-04-20 22:00:03 +02:00
Justin M. Keyes
17052946c7 'scrollback': Allow :setlocal -1 on normal buffers
Avoids a spurious :loadview error.
2017-04-20 13:13:39 +02:00
James McCoy
cb02137dfa vim-patch:7.4.2209
Problem:    Cannot map <M-">. (Stephen Riehm)
Solution:   Solve the memory access problem in another way. (Dominique Pelle)
            Allow for using <M-\"> in a string.

35a4cfa200
2017-04-19 22:26:30 -04:00
ZyX
c2f3e361c5 *: Add comment to all C files 2017-04-19 19:11:50 +03:00
ZyX
d191ba1db3 option: Remove FUNC_ATTR_MALLOC from get_winbuf_options
Same as tv_dict_alloc() and additionally it saves some strings inside 
a dictionary.
2017-04-15 19:23:00 +03:00
Felipe Oliveira Carvalho
9ea111d1af Remove maxmem and maxmemtot options
> The option 'maxmem' ('mm') is used to set the maximum memory used for one
> buffer (in kilobytes).  'maxmemtot' is used to set the maximum memory used for
> all buffers (in kilobytes).  The defaults depend on the system used.  These
> are not hard limits, but tell Vim when to move text into a swap file.  If you
> don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large
> value.  The swap file will then only be used for recovery.  If you don't want
> a swap file at all, set 'updatecount' to 0, or use the "-n" argument when
> starting Vim.

On today's systems these values are huge (4GB in my machine with 8GB of RAM
since it's set as half the available memory by default) so the limits are
never reached in practice, but Vim wastes a lot of time checking if the limit
was reached.

If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own memory
swapping mechanism. This is unnecessary and inefficient since the operating
system already virtualized the memory and will swap to the disk if programs
start using too much memory.

This change does...

1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory usage
   nor check if the memory limits were reached to start swapping to disk every
   time we need memory for buffers.
3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by
   actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...).

This change does not prevent Vim to recover changes from swap files since the
swapping code is never triggered with the huge limits set by default.
2017-04-11 00:33:09 +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
Yichao Zhou
bc6d868d00 'listchars': Whitespace highlight group #6367 2017-04-03 14:10:40 +02: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
Jakob Schnitzer
8a55f9b1c8 update for changes in master; fix 'window'; tests 2017-03-31 18:30:06 +02:00
James McCoy
77539eef9b Merge pull request #6397 from jamessan/coverity
Fix latest Coverity issues
2017-03-31 07:52:45 -04:00
Jakob Schnitzer
db095f6563 options: more tests; check first set later; stricter validation 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
44f039a1c8 options: fix setglobal for buf-local number options 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
2290a7a1b1 options: group num_option validation by type 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
2b0abdbd9a options: more of the same 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
0273f96ef6 options: move more validation together 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
1a56a032fe options: clean up num_options side-effects 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
f4920fb485 options: if invalid value is given, reset to old value 2017-03-30 23:04:54 +02:00
Jakob Schnitzer
79d3e94942 options: move code around in set_num_option
handle side-effects after validation
2017-03-30 23:04:54 +02:00
Jakob Schnitzer
e47622f26b options: setlocal should only set local value
For 'iminsert' and 'imsearch' the global value was always changed.
2017-03-30 23:04:54 +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
1222c82799 coverity/16127: Verify lang is non-NULL before calling strlen 2017-03-29 21:34:04 -04:00
ZyX
506b938947 *: Make some more things const and with length 2017-03-29 10:08:44 +03:00
ZyX
c8e63a8db8 eval: Move remaining get_tv_string* functions to eval/typval.c 2017-03-29 10:08:05 +03:00
ZyX
2dcfc439b2 eval: Split and move dict_add_nr_str to typval.c
Function was split into tv_dict_add_nr() and tv_dict_add_str().
2017-03-29 10:07:43 +03:00
ZyX
e18a578308 *: Move some dictionary functions to typval.h and use char*
Also fixes buffer reusage in setmatches() and complete().
2017-03-29 10:07:42 +03:00
Jakob Schnitzer
7bc37ffb22 terminal: global 'scrollback' #6352
Make the 'scrollback' option work like most other buffer-local options:
- `:set scrollback=x` sets the global and local value
- `:setglobal scrollback=x` sets only the global default
- new terminal buffers inherit the global

Normal buffers are still always -1, and :setlocal there is an error.

Closes #6337
2017-03-27 13:43:20 +02:00
raichoo
0f5c3f111a vim-patch:8.0.0179
Problem:    'formatprg' is a global option but the value may depend on the
            type of buffer. (Sung Pae)
Solution:   Make 'formatprg' global-local. (closes vim/vim#1380)

9be7c04e6c
2017-03-19 21:14:11 +01:00
Justin M. Keyes
3b52e3c4c8 Merge #6252 from jamessan/vim-7.4.2069
vim-patch:7.4.2069,7.4.2101,7.4.2222,7.4.2223
2017-03-15 13:47:13 +01:00
James McCoy
d72c177b2a lint 2017-03-11 20:32:39 -05:00
James McCoy
564e9dc17f vim-patch:7.4.2101
Problem:    Looping over windows, buffers and tab pages is inconsistant.
Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)

2932359000
2017-03-11 20:32:09 -05:00
James McCoy
5674057e3a vim-patch:7.4.2069
Problem:    spell.c is too big.
Solution:   Split it in spell file handling and spell checking.

9ccfebddc3
2017-03-11 20:32:02 -05:00