aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | ex_cmds: Fix PVS/V557: possible array overrun in :asciiZyX2018-04-15
| | | | | | | | | | | | | | | | | | Some calculation show that with the current setup there will not be enough bytes occupied for that, barring the case of malicious translation. Still should be possible to have array overrun with specially crafted translation.
| * | ex_cmds: Simplify do_asciiZyX2018-04-15
| | | | | | | | | | | | Specifically apply constants like enc_utf8 (which are constants *now*) and simplify conditions after that. Also some style changes.
| * | ex_cmds: Remove #ifdef USE_GUIZyX2018-04-15
| | | | | | | | | | | | `ag` shows that this identifier (`USE_GUI`) is found in exactly one place (zero after this commit). So I assume macros is never defined.
| * | eval: Fix PVS/V547: skipping is now done using eval0ZyX2018-04-15
| | |
| * | eval: Silence PVS/V547: E882 may be triggeredZyX2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I failed to deduce why analyzer thinks E882 may not be triggered, though conditions for triggering it are strange: it would trigger E882 only in the single case “function returned non-number”. Cases “function thrown exception”, or “built-in sorter encountered error” will neither yield E882 nor stop sort()/uniq(). Note though that searching test code revealed that neither E702 nor E882 are not tested anywhere.
| * | eval: Silence PVS/V614: use of potentially uninitialized pointerZyX2018-04-10
| | | | | | | | | | | | | | | | | | It is hard to say whether it actually is uninitialized, need to go deeper into regex code. Probably analyzer did not go that far as regmatch for sure would not be initialized up until calling NFA/DFA engine functions, which is to be done by pointer.
| * | eval: Fix PVS/V560: unneded check for name_lenZyX2018-04-10
| | | | | | | | | | | | It is unsigned, zero length would already cause early return and length 1 is checked earlier in the same condition.
| * | eval: Fix PVS/V547: ufunc_T is actually an incomplete typeZyX2018-04-10
| | |
| * | edit: Fix PVS/V560: remove always true/false checksZyX2018-04-10
| | |
| * | diff: Fix PVS/V547: remove no longer needed OOM handlerZyX2018-04-10
| | |
| * | eval/decode: Silence PVS/V547: code written for 32-bit integersZyX2018-04-09
| | |
| * | charset: Fix PVS/V560: remove condition which was already checkedZyX2018-04-09
| | |
| * | charset: Silence PVS/V785: remove switch()ZyX2018-04-09
| | | | | | | | | | | | No idea why it thinks that pre is constant expression, but switch() may be removed.
| * | event/loop: Silence PVS/V547: condition is false in case of no timeoutZyX2018-04-09
| | |
| * | buffer: Fix PVS/V560: condition was checked three lines aboveZyX2018-04-09
| | |
| * | buffer: Fix PVS/V547: base is never set to octalZyX2018-04-09
| | |
| * | charset: Fix transchar() with multibyte charactersZyX2018-04-09
| | | | | | | | | | | | | | | | | | | | | It appears that transchar() was working under assumption that `transchar_nonprint()` may be used for multibyte characters while its documentation stated exact opposite. It was not actually untrue though, except that longer buffer would be needed then the one stated in documentation. But it is false now with assert().
| * | buffer: PVS/V557: Refactor maketitle()ZyX2018-04-09
| | |
| * | os/env: Refactor home_replace() to the new style and to return lengthZyX2018-04-09
| | |
| * | charset,*: Refactor transstr()ZyX2018-04-09
| | |
| * | memory: Fix documentation of some string copying functionsZyX2018-04-09
| | |
| * | buffer: Beautify code a bitZyX2018-04-09
| | |
| * | eval/typval_encode: Silence PVS/V501,V547,V779ZyX2018-04-02
| | | | | | | | | These kinds of warnings are inevitable for generic macros.
| * | api/buffer: Fix PVS/V547: use correct border for lnumZyX2018-04-02
| | | | | | | | | | | | | | | Should actually be silencing that for the sake of the case when `long` is actually not 64-bit. But it appears that Vim had already defined maximal line number. And even declared that exact value invalid, so no need in silencing.
| * | quickfix: Fix PVS/V560: remove duplicate conditionZyX2018-04-02
| | | | | | | | | Condition was checked in surrounding if().
| * | pvscheck: Also provide source tree root to plog-converterZyX2018-04-02
| | |
| * | pvscheck: Also produce fullhtml reportsZyX2018-04-02
| | |
| * | pvscheck: Make realdir work with nonexistent directoriesZyX2018-04-02
| | |
* | | win: open child stdio handles in overlapped-mode (#8113)Björn Linse2018-04-25
| | | | | | | | | This will be used e.g. by the python client for native asyncio support
* | | ci/travis: fix restore from cache #8316Srikanth M2018-04-24
| | | | | | | | | closes #8281
* | | Merge #8304 "default to 'nofsync'"Justin M. Keyes2018-04-24
|\ \ \
| * | | API: nvim__stats()Justin M. Keyes2018-04-24
| | | | | | | | | | | | | | | | Use it to verify fsync() behavior.
| * | | test: fsync() codepathsJustin M. Keyes2018-04-23
| | | |
| * | | lintJustin M. Keyes2018-04-21
| | | |
| * | | 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 ...
| * | | IO: let 'fsync' option control more casesJustin M. Keyes2018-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vim has the 'swapsync' option which we removed in 62d137ce0969. Instead let 'fsync' control swapfile-fsync. These cases ALWAYS force fsync (ignoring 'fsync' option): - Idle (CursorHold). - Exit caused by deadly signal. - SIGPWR signal. - Explicit :preserve command.
| * | | IO: shada should respect 'fsync' optionJustin M. Keyes2018-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | shada_write_file() is called on exit (:quit and friends), this can be very slow. Note: AFAICT Vim (do_viminfo()) does not appear to fsync() viminfo.
* | | | tui/input.c: add support for mouse release events in urxvt (#8309)symphorien2018-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some terminals don't report which buttons are involved in some mouse events. For example, the urxvt protocol (http://www.huge-man-linux.net/man7/urxvt.html section "Mouse reporting") does not report which button has been released. In this case libtermkey reports button 0 (http://www.leonerd.org.uk/code/libtermkey/doc/termkey_interpret_mouse.3.html) Up to now, forward_mouse_event did not handle button==0. On press events there is not much we can do, and we keep the current behavior which is dropping the event. But on drag-and-release events we can compensate by remembering the last button pressed. fixes #3182 for urxvt fixes #5400
* | | | inccommand: pause :terminal redraws (#8307)Justin M. Keyes2018-04-22
| | | | | | | | | | | | fix #5584
* | | | inccommand: do not execute trailing commands #8256Nimit Bhardwaj2018-04-21
|/ / / | | | | | | | | | fix #7494
* | | terminal: do not call redraw_buf_later() (#8306)Justin M. Keyes2018-04-21
| | | | | | | | | fixes #8290
* | | test: "Command-line option -s": avoid indeterminism (#8305)Justin M. Keyes2018-04-21
| | | | | | | | | closes #8303
* | | test/util: throttle retry() (#8296)Justin M. Keyes2018-04-20
| | | | | | | | | | | | | | | | | | Avoid a hot loop in retry(), there's no need to retry more than 50/s. Also use luv.sleep() to implement sleep() instead of spinning the event-loop, so events are not silently discarded.
* | | doc: platform-specific config locations (#8297)Andy Russell2018-04-20
| | | | | | | | | Fixes #7374.
* | | Merge pull request #8291 from bfredl/ui_resizeBjörn Linse2018-04-19
|\ \ \ | | | | | | | | ui_events: correct wrong argument order in resize event
| * | | ui_events: correct wrong argument orderBjörn Linse2018-04-17
| | | |
* | | | Merge #8293 from justinmk/test-nodejsJustin M. Keyes2018-04-18
|\ \ \ \ | |/ / / |/| | | test: nodejs_spec: allow more time for nodejs init
| * | | test/util: retry(): also decorate non-string errorJustin M. Keyes2018-04-18
| | | |
| * | | test: nodejs_spec: allow more time for nodejs initJustin M. Keyes2018-04-18
|/ / /
* | | Merge #8276 'startup: Make -s - read from stdin'Justin M. Keyes2018-04-17
|\ \ \