Problem: Using `:stopinsert` while in normal mode in a terminal buffer
prevents neovim from entering insert mode.
Solution: Move `stop_insert_mode = false` from terminal_check to
terminal_enter to be consistent with edit.c, as suggested by bfredl in
#9889.
Closes https://github.com/neovim/neovim/issues/9889.
Nvim notes:
- Nvim does not support "-u DEFAULTS", that change is omitted.
- Also add 'shadafile' as an alias to 'viminfofile'.
- Deprecate 'viminfofile'.
Problem: Not easy to start Vim cleanly without changing the viminfo file.
Not possible to know whether the -i command line flag was used.
Solution: Add the --clean command line argument. Add the 'viminfofile'
option. Add "-u DEFAULTS".
c4da113ef9
Problem: Various small quickfix issues.
Solution: Remove ":" prefix from title set by a user. Add the qf_id2nr().
function. Add a couple more tests. Update documentation.
(Yegappan Lakshmanan)
b4d5fbabc9
Problem: Options of a buffer for a terminal window are not set properly.
Solution: Add "terminal" value for 'buftype'. Make 'buftype' and
'bufhidden' not depend on the quickfix feature.
Also set the buffer name and show "running" or "finished" in the
window title.
1f2903c431
- Allow floating windows of width 1. #9846
- For a new floating window the size must be specified. Later on we
might try to calculate a reasonable size by buffer contents
- Remember the configured size of a window, just like its position.
- Make get_config and set_config more consistent. Handle relative='' properly in set_config.
get_config doesn't return keys that don't make sense for a non-floating window.
- Don't use width=0 for non-changed width, just omit the key.
'inccommand' invokes ex_substitute() to build its "preview". During the
brief (~millisecond) time it takes to execute that function, the buffer
is "dirty" (its contents are invalid). Events must not be handled during
this time, else they would see a temporary state which is not the true,
logical state of the buffer.
ref #9777
Problem: Unicode emoji and other image characters not recognized.
Solution: Add ranges for musical notation, game pieces, etc. (Martin
Tournoij, closesvim/vim#4238)
d489c9801b
vim-patch:8.0.0714: when a timer causes a command line redraw " goes missing
Problem: When a timer causes a command line redraw the " that is displayed
for CTRL-R goes missing.
Solution: Remember an extra character to display.
a92522fbf3
vim-patch:8.0.0720: unfinished mapping not displayed when running timer
Problem: Unfinished mapping not displayed when running timer.
Solution: Also use the extra_char while waiting for a mapping and digraph.
(closesvim/vim#1844)
6a77d2667eclose#9835
According to [MessagePack RPC specification](https://github.com/msgpack-rpc/msgpack-rpc),
message ID must be 32-bit unsigned integer. But Neovim implementation
uses uint64_t instead of uint32_t. This can have wrong results in the
case of large ids or a malformed request, for example:
Actual response: [1,18446744073709551615,[1,"Message is not an array"],null]
Expected response: [1,4294967295,[1,"Message is not an array"],null]
The issue does not affect RPC clients written in dynamically-typed
languages like Python. Wrong type of sequence id number breaks RPC
clients written statically typed languages like C/C++/Golang: all of
them expect uint32_t as message id.
Examples:
11268ba2be/src/msgpack/rpc/protocol.h (L27)https://github.com/ugorji/go/blob/master/codec/msgpack.go#L993closes#8850
Using a sentinel value in the response-id is ambiguous because the
msgpack-rpc spec allows all values (including zero/max). And clients
control the id, so we can't be sure they won't use the sentinel value.
Instead of a sentinel value, check the message type explicitly.
ref #8850
Using `:wincmd j` and friends doesn't make much sense to a floating window. For
convenience though, any direction will simply change to the previous window.
Make sure the previous window is valid, not the current window, and not another
floating window. Change to the first window (which is never a floating window)
otherwise.
closes#9489
vim-patch:8.0.0210: no support for bracketed paste
vim-patch:8.0.0228: pasting in xterm on the command line has PasteStart
vim-patch:8.0.0230: bracketed paste does not support line breaks
vim-patch:8.0.0506: can't build with ANSI C
vim-patch:8.0.0506: can't build with ANSI C
vim-patch:8.0.0569: ?
vim-patch:8.0.0592:
vim-patch:8.0.0693: no terminal emulator support
vim-patch:8.0.0694: building in shadow directory does not work
vim-patch:8.0.0698: crash on exit when using Python function in timer.
vim-patch:8.0.0712: the terminal implementation is incomplete
vim-patch:8.0.0713: 'termkey' option not fully implemented
vim-patch:8.0.0713: 'termkey' option not fully implemented (follow-up to vim-patch:8.0.0712)
vim-patch:8.0.0717: terminal feature precence unclear
vim-patch:8.0.0718: output of job in terminal is not displayed
vim-patch:8.0.0730: terminal feature only supports Unix-like systems
vim-patch:8.0.0738: cannot use the mouse to resize a terminal window
vim-patch:8.0.0739: terminal resizing doesn't work well.
vim-patch:8.0.0740: cannot resize a terminal window by the command
vim-patch:8.0.0742: terminal feature does not work on MS-Windows
vim-patch:8.0.0743: the 'termsize' option can be set to an invalid value
vim-patch:8.0.0744: terminal window does not use a pty
vim-patch:8.0.0745: multi-byte characters in a terminal don't display well
vim-patch:8.0.0746: when :term fails the job is not properly cleaned up
vim-patch:8.0.0747: :terminal without an argument doesn't work
vim-patch:8.0.0748: running Vim in terminal window doesn't use the right colors
vim-patch:8.0.0753: no size reports to a job running in a terminal
vim-patch:8.0.0758: possible crash when using a terminal window
vim-patch:8.0.0759: MS-Windows: terminal does not adjust size
vim-patch:8.0.0771: cursor in terminal window not always updated in GUI
vim-patch:8.0.0778: in a terminal the cursor may be hidden
vim-patch:8.0.0799: missing semicolon
vim-patch:8.0.0802: last line of terminal window has no color
vim-patch:8.0.0804: running tests fails when stdin is /dev/null
vim-patch:8.0.0812: terminal window colors shift when 'number' is set
vim-patch:8.0.0840: MS-Windows: fopen() and open() prototypes are wrong
vim-patch:8.0.0843: MS-Windows: compiler warning for signed/unsigned
vim-patch:8.0.0844: wrong function prototype because of missing static
vim-patch:8.0.0853: crash when running terminal with unknown command
vim-patch:8.0.0871: status line for a terminal window always has "[+]".
vim-patch:8.0.0872: no mouse scroll with a terminal window
vim-patch:8.0.0886: crash when using ":term ls"
vim-patch:8.0.0903: early return from test function
vim-patch:8.0.0915: wrong initialisation of global
vim-patch:8.0.0950: MS-Windows: wrong #ifdef, compiler warnings
vim-patch:8.0.0951: another wrong #ifdef
vim-patch:8.0.0969: Coverity warning for unused return value
vim-patch:8.0.1003: 64 bit compiler warning
vim-patch:8.0.1005: terminal without job updates slowly in GUI
vim-patch:8.0.1018: warnings from 64-bit compiler
vim-patch:8.0.1079: memory leak when remote_foreground() fails
vim-patch:8.0.1128: old xterm sends CTRL-X in response to t_RS
vim-patch:8.0.1132: #if condition is not portable
vim-patch:8.0.1137: cannot build with Ruby
vim-patch:8.0.1143: macros always expand to the same thing
vim-patch:8.0.1145: warning when compiling with Perl
vim-patch:8.0.1182: cannot see or change mzscheme dll name
vim-patch:8.0.1199: when 'clipboard' is "autoselectplus" star register is set
vim-patch:8.0.1299: bracketed paste does not work well in terminal window
vim-patch:8.0.1545: screen dumps not included in distribution
vim-patch:8.0.1548: screen dump test script not included in distribution
vim-patch:8.0.1658: capitalize argument not available in long form
vim-patch:8.0.1693: xxd is excluded from coverage statistics
vim-patch:8.1.0363: internal diff isn't used by default as advertised
vim-patch:8.1.0443: unnecessary static function prototypes
vim-patch:8.1.0549: netbeans test depends on README.txt contents
vim-patch:8.1.0713: images for NSIS take up too much space
vim-patch:8.1.0714: unessesary #if lines in GTK code
vim-patch:8.1.0727: compiler warning for sprintf() argument
vim-patch:8.1.0733: too many #ifdefs for the multi-byte feature
vim-patch:8.1.0764: list of distributed files is outdated
vim-patch:8.1.0776: Travis does not build a version without GUI on Linux
vim-patch:8.1.0841: travis config to get Lua on MacOS is too complicated
vim-patch:8.1.0869: Travis CI script is too complicated
vim-patch:8.1.0873: list if distributed files does not include matchit autoload
vim-patch:8.1.0886: compiler warning for NULL pointer and condition always true
vim-patch:8.1.0916: with Python 3.7 "find_module" is not made available
vim-patch:8.1.0930: typo in Makefile
vim-patch:8.1.0943: still a trace of Farsi support
vim-patch:8.1.0944: format of nbdbg() arguments is not checked
vim-patch:8.1.0946: Coveralls is not very useful
vim-patch:8.1.0947: using MSWIN before it is defined
vim-patch:8.1.0948: when built without +eval "Vim --clean" produces errors
vim-patch:8.1.0949: MS-windows defines GUI macros different than other systems
vim-patch:8.1.0952: compilation warnings when building the MS-Windows installer
vim-patch:8.1.0955: matchit autoload directory not in installer
vim-patch:8.1.0976: dosinstall still has buffer overflow problems
vim-patch:8.1.0978: blob not tested with Perl
vim-patch:8.1.0979: compiler warning for unused functions
vim-patch:8.1.0983: checking CYGWIN32 unnecessarily
vim-patch:8.1.0984: unnecessary #ifdefs
vim-patch:8.1.0987: unnecessary condition in #ifdef
vim-patch:8.1.0991: cannot build with a mix of features
vim-patch:8.1.0996: a few screendump tests fail because of scrolling
vim-patch:8.1.1008: MS-Windows: HAVE_STDINT_H only defined for non-debug version
vim-patch:8.1.1009: MS-Windows: some text is not baseline aligned
vim-patch:8.1.1010: Lua interface leaks memory
vim-patch:8.1.1014: MS-Windows: /analyze only defined for non-debug version
vim-patch:8.1.1020: compiler warning for Python3 interface
vim-patch:8.1.1021: pyeval() and py3eval() leak memory
vim-patch:8.1.1029: DirectWrite doesn't take 'linespace' into account
vim-patch:8.1.1034: too many #ifdefs
vim-patch:8.1.1039: MS-Windows build fails
vim-patch:8.1.1040: FEAT_TAG_ANYWHITE is not enabled in any build
vim-patch:8.1.1048: minor issues with tests
vim-patch:8.1.1050: blank srceen when DirectWrite failed
vim-patch:8.1.1054: not checking return value of ga_grow()
vim-patch:8.1.1057: nsis config is too complicated
vim-patch:8.1.1059: MS-Windows: PlatformId() is called unnecessarily
vim-patch:8.1.1060: MS-Windows: get_cmd_args() is no longer needed
vim-patch:8.1.1064: no test for output conversion in the GTK GUI
vim-patch:8.1.1065: no test for using and deleting menu in the GUI
vim-patch:8.1.1066: VIMDLL isn't actually used
vim-patch:8.1.1067: issues added on github are unstructured
vim-patch:8.1.1069: source README file doesn't look nice on github
vim-patch:8.1.1070: issue templates are not good enough
vim-patch:8.1.1075: function reference count wrong in Python code
vim-patch:8.1.1081: MS-Windows: cannot use some fonts
vim-patch:8.1.1092: setting 'guifont' when maximized resizes the Vim window
vim-patch:8.1.1096: MS-Windows: cannot distinguish BS and CTRL-H
vim-patch:8.1.1097: Motif build fails
vim-patch:8.1.1104: MS-Windows: not all environment variables can be used
vim-patch:8.1.1105: long escape sequences may be split up
vim-patch:8.1.1109: deleted file still in list of distributed files
vim-patch:8.1.1117: build failure without the +eval feature
vim-patch:8.1.1119: no support for Windows on ARM64
vim-patch:8.1.1126: build failure with +terminal but without tgetent
vim-patch:8.1.1135: build failure for small version
vim-patch:8.1.1138: plugins don't get notified when the popup menu changes
Problem: An error in a timer can make Vim unusable.
Solution: Don't set the error flag or exception from a timer. Stop a timer
if it causes an error 3 out of 3 times. Discard an exception
caused inside a timer.
c577d813b7closes#9826