closes#9274
ref #9028
If stdin closed then read_error_exit calls preserve_exit. Handling
SIGHUP during preserve_exit would cause a premature teardown, and
conflicts with e.g. ui_bridge_stop which waits for TUI to teardown.
Vim ignores SIGHUP in its prepare_to_exit and getout_preserve_modified
routines:
/* Ignore SIGHUP, because a dropped connection causes a read error, which
* makes Vim exit and then handling SIGHUP causes various reentrance
* problems. */
signal(SIGHUP, SIG_IGN);
- Checks for ECHOE, ICANON were left over from Vim code. We already
reference the symbols elsewhere without checking.
- newline_on_exit, intr_char: Both are vestigial remnants of Vim 4.x,
not implemented in Nvim. intr_char is a termios/stty feature, it's
probably not useful because users have other ways to configure their
terminals.
Problem: Bogus characters appear when indenting kicks in while doing a
visual-block append.
Solution: Recompute when indenting is done. (Christian Brabandt)
e2e69e4813
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.
Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.
cmdline uses curwin cursor position when ext_cmdline is active.
Problem: 'smartindent' is used even when 'indentexpr' is set.
Solution: Ignore 'smartindent' when 'indentexpr' is set. (Hirohito Higashi)
69a76feda9
---
This also fixes "delfunction!" which was not merged fully in a185ab70fd (vim-patch:8.0.0655)
Vim has the 'swapsync' option which we removed in 62d137ce09.
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.
Problem: Diff mode is displayed wrong when adding a line at the end of a
buffer.
Solution: Adjust marks in diff mode. (James McCoy, closesvim/vim#1329)
f58a8475e1
Avoid crashing or hanging when editing a file than contains ludicrously
long lines (more than 100,000,000 virtual columns).
The change is in plines_win_nofold, which is called by wrapping and folding
code. As a result, wrapping and folding may be done incorrectly when the UI is
capable of rendering more than 32000 characters at a time (tiny font).
fixes#2838