aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
Commit message (Collapse)AuthorAge
...
* do not pass NULL to os_getenvJustin M. Keyes2018-05-18
| | | | closes #8393
* Merge #8329 'API: Make nvim_set_option() update `:verbose set …`'Justin M. Keyes2018-05-11
|\
| * lintb-r-o-c-k2018-05-10
| |
| * api: Make nvim_set_option() update `:verbose set ...`b-r-o-c-k2018-05-03
| | | | | | | | | | | | Make `:verbose set ...` show when an option was last modified by an API client or Lua script/chunk. In the case of an API client, the channel ID is displayed.
* | Merge #4486 'refactor: Remove maxmem, maxmemtot options'Justin M. Keyes2018-05-02
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this change we never release blocks from memory (in practice it never happened because the memory limits are never reached). Let the OS take care of that. --- On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB) 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-paging mechanism. This is unnecessary and inefficient since the operating system already has virtual 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.
| * Remove maxmem and maxmemtot optionsFelipe Oliveira Carvalho2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > 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.
* | option: Silence PVS/V547: expression is true on 64-bit systemsZyX2018-04-16
| |
* | option: Fix PVS/V547: var is always NULL at that pointZyX2018-04-16
| |
* | option: Fix PVS/V560: EXPAND_BOOL_SETTINGS already caused early returnZyX2018-04-16
| |
* | option: Fix PVS/V547: allocator never returns NULL nowZyX2018-04-16
| |
* | option: Fix PVS/V517: duplicate check for titlelenZyX2018-04-16
| |
* | option: Silence PVS/V594: GLOBAL_WO macros is not really necessaryZyX2018-04-16
| | | | | | | | In that case it is completely possible to just use w_allbuf_opt directly.
* | msg: do not scroll entire screen (#8088)Björn Linse2018-03-31
| |
* | Merge branch 'master' into yagebu/option-fixesJames McCoy2018-03-28
|\ \
| * | build/msvc: Workaround for compiler optimization bugb-r-o-c-k2018-03-04
| | |
| * | 'fillchars': fix defaults logic; handle ambiwidth=double #7986Matthieu Coudron2018-02-23
| | | | | | | | | | | | Update tests.
| * | vim-patch-8.0.0649 and vim-patch-8.0.0650: autocmd open help 2 timesNimit Bhardwaj2018-02-17
| | |
| * | lintJustin M. Keyes2018-02-11
| | |
| * | vim-patch:8.0.0975: using freed memory when setting 'backspace'Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | Problem: Using freed memory when setting 'backspace'. Solution: When changing oldval also change origval. https://github.com/vim/vim/commit/edbc0d46cffe1766d0b330dc2842212cff644f8e
| * | vim-patch:8.0.0974: resetting a string option does not trigger OptionSetJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | Problem: Resetting a string option does not trigger OptionSet. (Rick Howe) Solution: Set the origval. https://github.com/vim/vim/commit/8efa026a25b95de5598535ef62505282a8584a4b
| * | vim-patch:8.0.0703: illegal memory access with empty :doau commandJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | Problem: Illegal memory access with empty :doau command. Solution: Check the event for being out of range. (James McCoy) https://github.com/vim/vim/commit/faf29d7f91477c25c85d9d7165d90e8d8f1c512e
| * | vim-patch:8.0.0676: crash when closing quickfix window in autocmdJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when closing the quickfix window in a FileType autocommand that triggers when the quickfix window is opened. Solution: Save the new value before triggering the OptionSet autocommand. Add the "starting" flag to test_override() to make the text work. https://github.com/vim/vim/commit/182a17b1e80b92826204d967808df0d30eb2ef27
| * | vim-patch:8.0.0448: some macros are lower case (#7936)KunMing Xie2018-01-30
| | | | | | | | | | | | | | | | | | | | | Problem: Some macros are in lower case, which can be confusing. Solution: Make a few lower case macros upper case. https://github.com/vim/vim/commit/b5aedf3e228d35821591da9ae8501b61cf2e264c ref #6297
| * | Fix lint error in option.cGeorge Zhao2018-01-19
| | |
| * | Fix warning about conversion on mingw64George Zhao2018-01-18
| | |
| * | vim-patch:8.0.0420: text garbled when the system encoding differs from ↵James McCoy2017-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'encoding' Problem: When running :make the output may be in the system encoding, different from 'encoding'. Solution: Add the 'makeencoding' option. (Ken Takata) https://github.com/vim/vim/commit/2c7292dc5bbf155fe2192d417363b8c085759cad
| * | vim-patch:8.0.0074Michael Schupikov2017-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where. https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f Signed-off-by: Michael Schupikov <michael@schupikov.de>
| * | ui: forward relevant option updates to UIs (#7520)Björn Linse2017-12-12
| | | | | | | | | also make termguicolors mutable after startup
| * | mac: Set $LANG based on the system localeJames McCoy2017-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Unix's typical locale-related environment variables aren't always set appropriately on a Mac. Instead of relying on them, query the locale information using Mac specific APIs and then set $LANG appropriately for the rest of nvim. Closes #5873
| * | tui: dump termcap info if -V3 ('verbose' >= 3)Justin M. Keyes2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Get terminal debugging info by starting Nvim with 'verbose' level 3: nvim -V3log This is like Vim's `:set termcap`, which was removed in Nvim (and would be very awkward to restore because of the decoupled UI).
| * | lintJustin M. Keyes2017-11-27
| | |
| * | tui: expose terminal type in 'term' optionJustin M. Keyes2017-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since "builtin" terminfo definitions were implemented (7cbf52db1bdf), the decisions made by tui.c and terminfo.c are more relevant. Exposing that decision in the 'term' option helps with troubleshooting. Also: remove code that allowed setting t_Co. `:set t_Co=…` has never worked; the highlight_spec test asserting that nvim_set_option('t_Co') _does_ work makes no sense, and should not have worked.
| * | channels: move away term code from eval.cBjörn Linse2017-11-25
| | |
| * | Merge branch 'master' of github.com:ckelsel/neovim into vim-8.0.0101ckelsel2017-10-10
| |\ \
| * | | Merge branch 'master' of https://github.com/neovim/neovim into vim-8.0.0101ckelsel2017-09-27
| |\| | | | | | | | | | | | | | fix Conflicts
| | * | vim-patch:8.0.0333ckelsel2017-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Illegal memory access when 'complete' ends in a backslash. Solution: Check for trailing backslash. (Dominique Pelle, closes vim/vim#1478) https://github.com/vim/vim/commit/226c53429109f24e31c17016aedfd7fbf7a9aa50
| * | | vim-patch:8.0.0106ckelsel2017-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a semicolon in 'backupext'. (Jeff) Solution: Allow for a few more characters when "secure" isn't set. https://github.com/vim/vim/commit/0945eaface83e78138fbd40f95cc590bab0e8c86
| * | | vim-patch:8.0.0102ckelsel2017-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot set 'dictionary' to a path. Solution: Allow for slash and backslash. Add a test (partly by Daisuke Suzuki, closes vim/vim#1279, closes vim/vim#1284) https://github.com/vim/vim/commit/7554da4033498c4da0af3cde542c3e87e9097b73
| * | | vim-patch:8.0.0101ckelsel2017-09-24
| |/ / | | | | | | | | | | | | | | | | | | Problem: Some options are not strictly checked. Solution: Add flags for strickter checks. https://github.com/vim/vim/commit/031cb743ae154cfb727a9b7787bdcb61202ff1c8
| * | vim-patch:8.0.0305 (#7265)KunMing Xie2017-09-17
| | | | | | | | | | | | | | | | | | Problem: Invalid memory access when option has duplicate flag. Solution: Correct pointer computation. (Dominique Pelle, closes vim/vim#1442) https://github.com/vim/vim/commit/aaaf57d8a936efe420190c077e4a74041cc6c72e
| * | options: remove ghost of `:set termcap` (#7102)Justin M. Keyes2017-07-31
| | | | | | | | | Closes #6763
| * | vim-patch:8.0.0100 (#7085)KunMing Xie2017-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0100 Problem: Options that are a file name may contain non-filename characters. Solution: Check for more invalid characters. https://github.com/vim/vim/commit/319afe3804741db5a6c188bd69535fa7ed044c62
| * | vim-patch:8.0.0073ckelsel2017-07-23
| | | | | | | | | | | | | | | | | | | | | Problem: More comparisons between firstwin and lastwin. Solution: Use ONE_WINDOW for consistency. (Hirohito Higashi) https://github.com/vim/vim/commit/459ca563128f2edb7e3bb190090bbb755a56dd55
| * | vim-patch:8.0.0031 (#7050)KunMing Xie2017-07-22
| | | | | | | | | | | | | | | | | | Problem: After ":bwipeout" 'fileformat' is not set to the right default. Solution: Get the default from 'fileformats'. (Mike Williams) https://github.com/vim/vim/commit/e8ef3a093453b73594e15462d4de50b011c8ba66
| * | vim-patch:8.0.0003lonerover2017-07-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: getwinvar() returns wrong Value of boolean and number options, especially non big endian systems. (James McCoy) Solution: Cast the pointer to long or int. (closes vim/vim#1060) https://github.com/vim/vim/commit/789a5c0e3d27f09456678f0cfb6c1bd2d8ab4a35
| * | 'cpoptions': remove "<" flag; ignore <special>Justin M. Keyes2017-07-08
| | | | | | | | | | | | Closes #6937 "nvim_get_keymap output is unreliable"
| * | Merge #6816 'TUI improvements'Justin M. Keyes2017-07-07
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Removed these commits (test-suite changes): e2fba01910e0 7c809c4bc708 18e7cd9e9727
| | * | lintJustin M. Keyes2017-07-07
| | | |
| | * | tui: Disable interference in guicursor by higher layers.Jonathan de Boyne Pollard2017-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | message: Add support for replacing `<` to str2specialZyX2017-07-02
| | | |