aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
* | doc: API: api-buffer-updatesJustin M. Keyes2018-06-08
| | | | | | | | | | - move to api.txt - rewrite
* | Merge #7917 'API: buffer updates'Justin M. Keyes2018-06-08
|\ \
| * | Rename some more, fixe borked renamingKillTheMule2018-05-23
| | |
| * | Unify updates_start and updates to lines_eventKillTheMule2018-05-23
| | | | | | | | | | | | Also rename changedtick -> changedtick_event
| * | Some renamings and doc changesKillTheMule2018-05-23
| | |
| * | Try fixing that test on travisKillTheMule2018-05-23
| | |
| * | The grand renamingKillTheMule2018-05-23
| | |
| * | DocKillTheMule2018-05-23
| | |
| * | Make LiveUpdate return lastline instead of numreplacedKillTheMule2018-05-23
| | | | | | | | | | | | In analogy to `nvim_buf_set_lines`.
| * | Make separate functions to start/stop live updatesKillTheMule2018-05-23
| | |
| * | API: Document buffer updatesPeter Hodge2018-05-23
| | | | | | | | | | | | | | | Originally written by @phodge in https://github.com/neovim/neovim/pull/5269.
* | | vim-patch:8.0.0255: setpos() does not use the buffer argument for all marksJan Edmund Lazo2018-06-06
| |/ |/| | | | | | | | | | | | | Problem: When calling setpos() with a buffer argument it often is ignored. (Matthew Malcomson) Solution: Make the buffer argument work for all marks local to a buffer. (neovim vim/vim#5713) Add more tests. https://github.com/vim/vim/commit/f13e00b2cf381e13fd327b5387a5bd6f004ac2a3
* | vim-patch:8.0.0519: character classes not well tested (#8460)KunMing Xie2018-06-01
| | | | | | | | | | | | | | | | | | Problem: Character classes are not well tested. They can differ between platforms. Solution: Add tests. In the documentation make clear which classes depend on what library function. Only use :cntrl: and :graph: for ASCII. (Kazunobu Kuriyama, Dominique Pelle, closes vim/vim#1560) Update the documentation. https://github.com/vim/vim/commit/0c078fc7db2902d4ccba04506db082ddbef45a8c
* | vim-patch:8.0.1232: MS-Windows users are confused about default mappingsJan Edmund Lazo2018-05-30
| | | | | | | | | | | | | | | | Problem: MS-Windows users are confused about default mappings. Solution: Don't map keys in the console where they don't work. Add a choice in the installer to use MS-Windows key bindings or not. (Christian Brabandt, Ken Takata, closes vim/vim#2093) https://github.com/vim/vim/commit/c3fdf7f80b2febdd8a8f7a1310631567d257d66a
* | vim-patch:8.0.0321: errors when trying to use scripts in tiny versionJan Edmund Lazo2018-05-30
|/ | | | | | | Problem: When using the tiny version trying to load the matchit plugin gives an error. On MS-Windows some default mappings fail. Solution: Add a check if the command used is available. (Christian Brabandt) https://github.com/vim/vim/commit/8cc2a9c062fa38e133a62778518f769a423a2526
* api: list information about all channels/jobs.Björn Linse2018-05-23
| | | | | Fire autocmd when channel opens or its info changes. Add a way for API clients can describe themselves.
* doc: remove mentions of vimrc_exampleJustin M. Keyes2018-05-22
| | | | closes #8426
* win/package: move gui shim to its runtime folder (#8418)Jan Edmund Lazo2018-05-20
| | | | | Close #7517 gui shim is for nvim-qt only.
* Merge #8377 'TextChangedP autocommand'Justin M. Keyes2018-05-19
|\
| * vim-patch:8.0.1494: no autocmd triggered in Insert mode with visible popup menuShougo Matsushita2018-05-14
| | | | | | | | | | | | | | | | | | | | Problem: No autocmd triggered in Insert mode with visible popup menu. Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt, closes vim/vim#2372, closes vim/vim#1691) Fix that the TextChanged autocommands are not always triggered when sourcing a script. https://github.com/vim/vim/commit/5a093437199001a0d60d8e18e2b9539b99a7757c
* | Merge #5658 'Apply :lmap in macros'Justin M. Keyes2018-05-17
|\ \ | |/ |/|
| * Update documentationMatthew Malcomson2018-03-14
| | | | | | | | | | | | | | | | Update vim_diff.txt with :lmap differences, update documentation on 'keymap', and add tests. The tests added are to demonstrate the behaviour specified in the documentation of :loadkeymap.
* | Merge #8371 'API: more reliable/descriptive VimL errors'Justin M. Keyes2018-05-10
|\ \
| * | msgpack.vim: require python3 on WindowsJustin M. Keyes2018-05-10
| | | | | | | | | | | | | | | | | | timestamp.strftime('%s') workaround only works on unix. ref: https://github.com/neovim/neovim/pull/8371#discussion_r186311766
| * | msgpack.vim: fix syntax errors, python2 errorsJustin M. Keyes2018-05-09
| | |
* | | man.vim: s:get_path(): trim newline in all casesJustin M. Keyes2018-05-10
| | | | | | | | | | | | ref #8372
* | | man.vim: get() first item if -w returns multiple paths #8372Jon Bernard2018-05-10
|/ / | | | | | | | | | | | | | | | | OpenBSD's man returns all candidates when searching with -w instead of the first one it finds. So this patch takes the first one if multiple entries are found. closes #8372 closes #8341
* | terminal: Leave 'relativenumber' alone (#8360)raichoo2018-05-05
| | | | | | ref #6796
* | 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.
* | | health#provider: fix sys.path for PythonDaniel Hahler2018-04-30
| | | | | | | | | | | | | | | | | | | | | Remove "" from sys.path (typically the first entry), which could cause e.g. "logging" to be added from the current directory. This gets done already for loading the host in runtime/autoload/provider/pythonx.vim.
* | | health#provider: improve error reportingDaniel Hahler2018-04-30
| | | | | | | | | | | | | | | - quote command, so that e.g. markdown handling is not applied to `__init__.py` - include cwd
* | | health#provider: fix logic with s:shellifyDaniel Hahler2018-04-30
| | | | | | | | | | | | | | | It should be quoted if there is any character that needs escaping, but not if there is a character that does not need escaping.
* | | doc: clarify `stdout_buffered` docs (#8299)Andy Russell2018-04-28
| | | | | | | | | Fixes #8150
* | | defaults: disable 'fsync'Justin M. Keyes2018-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ref #6725 fsync() is very slow on some systems. And since the parent commit, Nvim is smarter about flushing files at certain times (e.g. CursorHold), regardless of whether 'fsync' is enabled. So it's less risky to disable 'fsync'. Profiling showed slow (2-4s) :write and :quit caused by fsync(): :quit shada_write_file(NULL, false); :write + fsync 0 0x00007f72da567b2d in fsync () at ../sysdeps/unix/syscall-template.S:84 1 0x0000000000638970 in uv__fs_fsync (req=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:150 2 uv__fs_work (w=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:953 3 0x0000000000639a70 in uv_fs_fsync (loop=<optimized out>, req=<optimized out>, file=41, cb=0x7f72da567b2d <fsync+45>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:1094 4 0x0000000000573694 in os_fsync (fd=41) at ../src/nvim/os/fs.c:631 5 0x00000000004ec9dc in buf_write (buf=<optimized out>, fname=<optimized out>, sfname=<optimized out>, start=1, end=1997, eap=0x7fffc864c570, append=<optimized out>, forceit=<optimized out>, reset_changed=<optimized out>, filtering=<optimized out>) at ../src/nvim/fileio.c:3387 6 0x00000000004b44ff in do_write (eap=0x7fffc864c570) at ../src/nvim/ex_cmds.c:1745 ... :write + nofsync 0 0x00007f72da567b2d in fsync () at ../sysdeps/unix/syscall-template.S:84 1 0x0000000000638970 in uv__fs_fsync (req=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:150 2 uv__fs_work (w=<optimized out>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:953 3 0x0000000000639a70 in uv_fs_fsync (loop=<optimized out>, req=<optimized out>, file=36, cb=0x7f72da567b2d <fsync+45>) at /home/vagrant/neovim/.deps/build/src/libuv/src/unix/fs.c:1094 4 0x0000000000573694 in os_fsync (fd=36) at ../src/nvim/os/fs.c:631 5 0x0000000000528f5a in mf_sync (mfp=0x7f72d8968d00, flags=5) at ../src/nvim/memfile.c:466 6 0x000000000052d569 in ml_preserve (buf=0x7f72d890f000, message=0) at ../src/nvim/memline.c:1659 7 0x00000000004ebadf in buf_write (buf=<optimized out>, fname=<optimized out>, sfname=<optimized out>, start=1, end=1997, eap=0x7fffc864c570, append=<optimized out>, forceit=<optimized out>, reset_changed=<optimized out>, filtering=<optimized out>) at ../src/nvim/fileio.c:3071 8 0x00000000004b44ff in do_write (eap=0x7fffc864c570) at ../src/nvim/ex_cmds.c:1745 ...
* | | doc: platform-specific config locations (#8297)Andy Russell2018-04-20
| | | | | | | | | Fixes #7374.
* | | job-control: mitigate process-kill raceJustin M. Keyes2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | children_kill_cb() is racey. One obvious problem is that process_close_handles() is *queued* by on_process_exit(), so when children_kill_cb() is invoked, the dead process might still be in the `loop->children` list. If the OS already reclaimed the dead PID, Nvim may try to SIGKILL it. Avoid that by checking `proc->status`. Vim doesn't have this problem because it doesn't attempt to kill processes that ignored SIGTERM after a timeout. closes #8269
* | | events: VimSuspend, VimResume #8280geekodour2018-04-15
| | | | | | | | | | | | | | | closes #3648 ref #5959
* | | Merge #6272 'stdpath()'Justin M. Keyes2018-04-15
|\ \ \
| * | | eval: Add stdpath() method (#5297)Christian Höltje2018-03-29
| | | | | | | | | | | | | | | | | | | | | | | | Adds the :stdpath method for fetching XDG standard directories. Fixes #5297
* | | | win: getftype(symlink) returns 'link'Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | Vim doesn't detect symlinks correctly so stick with Neovim's behaviour.
* | | | test/util: expect_err() (#8257)Justin M. Keyes2018-04-11
| | | | | | | | | | | | other cleanup, ref #8245
* | | | server: introduce --listen, deprecate $NVIM_LISTEN_ADDRESSJustin M. Keyes2018-04-11
| | | |
* | | | serverstop(): return FALSE for invalid addressJustin M. Keyes2018-04-11
| | | |
* | | | Merge #8226 from justinmk/insert-mode-metaJustin M. Keyes2018-04-04
|\ \ \ \
| * | | | insert-mode: interpret unmapped META as ESCJustin M. Keyes2018-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #2454 closes #8213 ref #7972
* | | | | vim-patch:8.0.0564: cannot detect Bazel BUILD files on some systemsJustin M. Keyes2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot detect Bazel BUILD files on some systems. Solution: Check for BUILD after script checks. (Issue vim/vim#1340) https://github.com/vim/vim/commit/39170e2d9761345df4be67d4d3928ac1094b9adf vim-patch:8.0.1283: test 86 fails under ASAN
* | | | | vim-patch:8.0.1285Justin M. Keyes2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/vim/vim/commit/d09a206ee94ccb653707ce9b6e536d4d58886e04 vim-patch:8.0.0564: cannot detect Bazel BUILD files on some systems
* | | | | vim-patch:8.0.1282Justin M. Keyes2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: script-local variable defined in the wrong script Solution: Move variable to autoload/filetype.vim. https://github.com/vim/vim/commit/cef7322d8a902b4655ed861489c4e798672074f0