| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| | |
Also add back the `ui_flush` call to `get_keystroke`. Its necessary to display
prompt messages correctly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Switching cursor off is only necessary in two occasions:
- When redrawing to avoid terminal flickering
- When the editor is busy
The first can now be handled by the TUI, so most calls to ui_cursor_off can be
removed from the core.
So, before this commit it was only necessary to switch the cursor off to notify
the user that nvim was running some long operation. Now the cursor_{on,off}
functions have been replaced by busy_{stop,start} which can be handled in a
UI-specific way(turning the cursor off or showing a busy indicator, for
example).
To make things even more simpler, nvim is always busy except when waiting for
user input or other asynchronous events: It automatically switches to a non-busy
state when the event loop is about to be entered for more than 100 milliseconds.
`ui_busy_start` can be called when its not desired to change the busy state in
the event loop (As its now done by functions that perform blocking shell
invocations).
|
| |
| |
| |
| |
| |
| | |
refs #2138
vim-patch: https://code.google.com/p/vim/source/detail?r=476a12a96bb1e5ccc71b1c1010d529deca271617
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ASan spotted a problem when using 'set background={light,dark}' with
color scheme solarized.
While loading the colors for color scheme 'g:colors_name', the pointer
on the value for this variable can become invalid, because of an 'unlet
colors_name' (part of an :highlight clear, syntax.c:6173).
To prevent the use of the freed value, decouple the value from
'g:colors_name' before calling load_colors() with it.
|
|/
|
|
|
|
|
|
| |
Problem: Incorrectly read the number of buffer for which an autocommand
should be registered.
Solution: Reverse check for "<buffer=abuf>". (Lech Lorens)
https://code.google.com/p/vim/source/detail?r=v7-4-637
|
|\
| |
| | |
Remove redundant casts
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes the ability to start nvim via the following aliases in
favor of just using their command line arguments:
ex vim -e
exim vim -E
view vim -R
gvim vim -g
gex vim -eg
gview vim -Rg
rvim vim -Z
rview vim -RZ
rgvim vim -gZ
rgview vim -RgZ
This also removes Vi mode (-v) for consistency. From ':help -v':
-v Start Ex in Vi mode. Only makes a difference when the
executable is called "ex" or "gvim". For gvim the GUI is not
started if possible.
|
| |
| |
| |
| |
| |
| | |
refs #1761
Original vim patch: http://ftp.vim.org/vim/patches/7.4/7.4.615
|
|\ \
| | |
| | | |
Fixes for two compiler warnings
|
| | |
| | |
| | |
| | |
| | | |
In case of an evaluation error the returned Object is not initialized,
so initialize it with OBJECT_INIT.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Compiler warns about buf always being nonnull.
buf is per function attribute always nonnull, so buf can be removed from
the assert(). But a buffer length of zero is also no problem, because it
makes uv_cwd() return a failure without writing into buf. So the
remaining length check can also be removed.
|
| |
| |
| |
| |
| |
| | |
these path names are ridiculous...
Based on #889, but also remove some unused #defines
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Migrate legacy test 77 which tests mf_hash_grow() to lua/busted.
|
| |
| |
| |
| | |
This avoids recompiles after commiting.
|
|/
|
|
| |
This avoids recompiling every c file after comitting.
|
|
|
|
| |
closes #2098
|
|
|
|
|
|
|
|
|
|
|
|
| |
Explanation:
Running `:set encoding=utf-8` _after_ startup correctly initializes
multibyte; but mb_init() was _not_ called during startup if locale
detection (enc_locale()) failed. This wasn't a problem in Vim because
the Vim default encoding (latin1) does not require mb_init(). But Nvim
defaults to utf8, so mb_init() is required.
closes #1271
closes #1672
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix clint warnings as well.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Using getcurpos() after "$" in an empty line returns a negative
number.
Solution: Don't add one when this would overflow. (Hirohito Higashi)
https://code.google.com/p/vim/source/detail?r=v7-4-578
|
|
|
|
| |
Make the error messages more precise and uniform.
|
|
|
|
| |
This allows sending binary data that is not newline terminated
|
|
|
|
|
| |
libvterm is a terminal emulation library with abstract display. It will be used
to implement builtin terminal emulation into Nvim.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem : Branch condition evaluates to a garbage value @ 2868.
Diagnostic : False positive.
Rationale : Array has_hotkey, declared at 2812, is initialized by
console_dialog_alloc (only the needed number of elements).
That same number of elements is used by
copy_hotkeys_and_msg.
Suggested path error is impossible, because it involves a
different number of elements in those functions.
Resolution : Above condition is cumbersome to prove through assertions.
Thus, we prefer to just initialize the array to all-false
at declaration point before calling console_dialog_alloc.
|
| |
|
|
|
|
|
|
|
|
| |
- process spawning was decoupled from the rest of the job control logic. The
goal is reusing it for spawning processes connected to pseudo terminal file
descriptors.
- job_start now receives a JobOptions structure containing all the startup
options.
|
|
|
|
|
| |
Send sigterm immediately since it can be caught by processes. If they don't
respond and are still alive after a while, SIGKILL will be sent.
|
|
|
|
|
| |
Job autocommands will no longer buffer data chunks that don't end in newlines
characters.
|
|
|
|
|
| |
'compatible' and 'edcompatible' are forced to be off.
'ttyfast' is forced to be on.
|
|
|
|
|
| |
When COLORTERM != null force xterm-256color capabilities when TERM equals xterm
or screen.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem : Use after free @ 1795.
Diagnostic : Real issue.
Rationale : prev_curtab can in fact be freed as a result of call
`win_close_othertab(win, free_buf, prev_curtab);`, but it's
later used at
`sprintf(..., tabpage_index(prev_curtab));`.
This was introduced at
3ffc5d81c34cfdd535573a50790690c88e4324bb.
Resolution : Move prev_idx calculation before the call freeing
prev_curtab.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problems : Assigned value is garbage or undefined @ 5363.
Result of operation is garbage or undefined @ 5356.
Result of operation is garbage or undefined @ 5320.
Result of operation is garbage or undefined @ 5192.
Diagnostic : False positives / Multithreading issues.
Rationale : Suggested error paths contain incoherent values for
has_mbyte, enc_utf8, and enc_dbcs, which should always hold
the relationship has_mbyte = enc_utf8 || enc_dbcs, with
enc_utf8 and enc_dbcs being mutually exclusive.
Asserting on the globals, though, fails, because checker
believes they could be modified by other threads in
between.
Resolution : Make local copy of globals and assert relationship on them.
|