close#8474
vim-patch:8.0.0264: memory error reported by ubsan
vim-patch:8.0.0340: not checking return valud of dict_add()
vim-patch:8.0.0346: Vim relies on limits.h to be included indirectly
vim-patch:8.0.0361: GUI initialisation is not sufficiently tested
vim-patch:8.0.0365: might free a dict item that wasn't allocated
vim-patch:8.0.0367: types in include files may be inconsistent
vim-patch:8.0.0369: a few options are not defined, depending on features
vim-patch:8.0.0372: more options are not always defined
vim-patch:8.0.0386: tiny build has a problem with generating the options test
vim-patch:8.0.0392: GUI test fails with Athena and Motif
vim-patch:8.0.0395: testing the + register fails with Motif
vim-patch:8.0.0422: Python test fails with Python 3.6
vim-patch:8.0.0425: build errors when building without folding
vim-patch:8.0.0432: "make shadow" creates an invalid link
vim-patch:8.0.0476: missing change to main.c
vim-patch:8.0.0526: Coverity complains about possible negative value
vim-patch:8.0.0540: building unit tests fails
vim-patch:8.0.0556: getting window position fails if GUI and term possible
vim-patch:8.0.0563: crash when getting the window position in tmux
vim-patch:8.0.0567: call for requesting color and ambiwidth is too early
vim-patch:8.0.0569: bracketed paste is still enabled in a shell command
vim-patch:8.0.0587: configure check for return value of tgetent skipped
vim-patch:8.0.0588: job_stop() often assumes the channel will be closed
vim-patch:8.0.0610: the screen is redrawn when default 'background' is detected
vim-patch:8.0.0611: the screen is not redrawn after sending t_u7
vim-patch:8.0.0620: checking for HAVE_GTK_MULTIHEAD is not needed
vim-patch:8.0.0626: in the GUI the cursor may flicker
vim-patch:8.0.0628: cursor disappears after silent mapping
vim-patch:8.0.0631: can't build with Perl 5.26
vim-patch:8.0.0637: crash when using some version of GTK 3
vim-patch:8.0.0639: the cursor position is set when editing a new commit message
vim-patch:8.0.0649: when opening a help file the filetype is set several times
vim-patch:8.0.0653: the default highlight for QuickFixLine is not good
vim-patch:8.0.0690: compiler warning on non-Unix system
vim-patch:8.0.0691: compiler warning without the linebreak feature
vim-patch:8.0.0696: .inc files missing in git
vim-patch:8.0.0719: build failure without +terminal feature
vim-patch:8.0.0729: the help for the terminal configure option is wrong
vim-patch:8.0.0731: cannot build the terminal feature on MS-Windows
vim-patch:8.0.0741: cannot build with HPUX
vim-patch:8.0.0750: OpenPTY missing in non-GUI build
vim-patch:8.0.0751: OpenPTY missing with some combination of features
vim-patch:8.0.0752: build fails on MS-Windows
vim-patch:8.0.0763: libvterm can be improved
vim-patch:8.0.0770: compiler warning for missing field initializer
vim-patch:8.0.0772: other stdbool.h dependencies in libvterm
vim-patch:8.0.0773: mixing 32 and 64 bit libvterm builds fails
vim-patch:8.0.0774: build failure without the multi-byte feature
vim-patch:8.0.0790: MSVC compiler warning for strncpy in libvterm
vim-patch:8.0.0795: terminal feature does not build with older MSVC
vim-patch:8.0.0808: cannot build with terminal feature and DEBUG defined
vim-patch:8.0.0809: MS-Windows: tests hang
vim-patch:8.0.0811: MS-Windows: test_expand_dllpath fails
vim-patch:8.0.0822: Test_with_partial_callback is a tiny bit flaky
vim-patch:8.0.0834: can't build without the client-server feature
vim-patch:8.0.0865: cannot build with channel but without terminal feature
vim-patch:8.0.0866: Solaris also doesn't have MIN and MAX
vim-patch:8.0.0875: crash with weird command sequence
vim-patch:8.0.0880: Travis uses an old Ubuntu version
vim-patch:8.0.0901: asan suppress file missing from distribution
vim-patch:8.0.0919: cursor color isn't set on startup
vim-patch:8.0.0921: terminal window cursor shape not supported in the GUI
vim-patch:8.0.0946: using PATH_MAX does not work well on some systems
vim-patch:8.0.0954: /proc/self/exe might be a relative path
vim-patch:8.0.0966: build failure without terminal feature
vim-patch:8.0.0967: using a terminal may cause the cursor to blink
vim-patch:8.0.0972: compiler warnings for unused variables
vim-patch:8.0.0980: Coverity warning for failing to open /dev/null
vim-patch:8.0.0986: terminal feature always requires multi-byte feature
vim-patch:8.0.0988: warning from Covscan about using NULL pointer
vim-patch:8.0.0993: sometimes an xterm sends an extra CTRL-X
vim-patch:8.0.0996: Mac: t_RS is echoed on the screne in Terminal.app
vim-patch:8.0.0997: Libvterm and Terminal.app not regognized from termresponse.
vim-patch:8.0.1008: slow updating of terminal window in Motif
vim-patch:8.0.1010: build failure without termresponse feature
vim-patch:8.0.1014: old compiler doesn't know uint32_t
vim-patch:8.0.1016: gnome terminal echoes t_RC
vim-patch:8.0.1021: older Gnome terminal still echoes t_RC
vim-patch:8.0.1026: GTK on-the-spot input has problems
vim-patch:8.0.1027: more terminals can't handle requesting cursor mode
vim-patch:8.0.1030: MS-Windows: wrong size computation in is_cygpty()
vim-patch:8.0.1033: detecting background color does not work in screen
vim-patch:8.0.1042: without the syntax feature highlighting doesn't work
vim-patch:8.0.1047: buffer overflow in Ruby
vim-patch:8.0.1059: older Gnome terminal returns smaller version number
vim-patch:8.0.1062: Coverity warnings in libvterm
vim-patch:8.0.1065: not all macro examples are included
vim-patch:8.0.1066: some terminals can't handle requesting cursor mode
vim-patch:8.0.1068: vandyke SecureCRT terminal can't handle cursor mode request
vim-patch:8.0.1069: still get CTRL-X sometimes
vim-patch:8.0.1071: putty-color and cygwin-color are not recognized
vim-patch:8.0.1094: using ssh from Terminal.app runs into xterm incompatibility
vim-patch:8.0.1110: FORTIFY_SOURCE from Perl causes problems
vim-patch:8.0.1111: syntax error in configure when using Perl
vim-patch:8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs
vim-patch:8.0.1136: W_WIDTH() is always the same
vim-patch:8.0.1152: encoding of error message wrong in Cygwin terminal
vim-patch:8.0.1155: Ruby command triggers a warning
vim-patch:8.0.1157: compiler warning on MS-Windows
vim-patch:8.0.1159: typo in #ifdef
vim-patch:8.0.1166: :terminal doesn't work on Mac High Sierra
vim-patch:8.0.1175: build failure without +termresponse
vim-patch:8.0.1192: MS-Windows: terminal feature not enabled by default
vim-patch:8.0.1195: can't build on MS-Windows
vim-patch:8.0.1198: older compilers don't know uint8_t
vim-patch:8.0.1211: cannot reorder tab pages with drag & drop
vim-patch:8.0.1247: not easy to find Debian build info
vim-patch:8.0.1248: stray + in README file
vim-patch:8.0.1255: duplicate badge README file
vim-patch:8.0.1256: typo in configure variable vim_cv_tgent
vim-patch:8.0.1258: 'ttymouse' is set to "sgr" even though it's not supported
vim-patch:8.0.1269: effect of autocommands on marks is not tested
vim-patch:8.0.1272: warnings for unused variables in tiny build
vim-patch:8.0.1273: old test file remaining
vim-patch:8.0.1303: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2
vim-patch:8.0.1306: ASAN error stack trace is not useful
vim-patch:8.0.1310: cproto generates errors because of missing type
vim-patch:8.0.1322: textformat test isn't run
vim-patch:8.0.1324: some xterm sends different mouse move codes
vim-patch:8.0.1325: more tests are not run
vim-patch:8.0.1327: new proto file missing from distribution
vim-patch:8.0.1337: typo in #ifdef
vim-patch:8.0.1369: MS-Windows: drawing underline slow, mFallbackDC not updated
vim-patch:8.0.1380: using "vim -r swapfile" the hit-enter prompt is misplaced.
vim-patch:8.0.1394: cannot intercept a yank command
vim-patch:8.0.1415: warning for unused function without timers feature
vim-patch:8.0.1424: the timer_pause test is flaky on Travis
vim-patch:8.0.1437: pkg-config doesn't work with cross compiling
vim-patch:8.0.1456: timer test on travis Mac is still flaky
vim-patch:8.0.1467: libvterm doesn't handle illegal byte sequence correctly
vim-patch:8.0.1478: unnecessary condition
vim-patch:8.0.1504: Win32: the screen may be cleared on startup
vim-patch:8.0.1506: new version of HP NonStop (Tandem) doesn't like a header
vim-patch:8.0.1532: compiler warnings without termguicolors feature
vim-patch:8.0.1556: may not parse the t_RS response correctly
vim-patch:8.0.1564: too many #ifdefs
vim-patch:8.0.1565: can't build Mac version without GUI
vim-patch:8.0.1566: too many #ifdefs
vim-patch:8.0.1567: cannot build Win32 GUI without IME
vim-patch:8.0.1571: can't build without GUI
vim-patch:8.0.1573: getwinpos(1) may cause response to be handled as command
vim-patch:8.0.1580: FEAT_CURSORBIND and FEAT_SCROLLBIND are unused
vim-patch:8.0.1581: cannot build Win32 GUI without +eval
vim-patch:8.0.1583: using C99 comment
vim-patch:8.0.1584: using C99 in Mac file gives compiler warning messages
vim-patch:8.0.1585: enabling beval_term feature in Win32 GUI
vim-patch:8.0.1586: imactivatefunc does not work on non-GUI Mac
vim-patch:8.0.1597: autocommand events are not sorted
vim-patch:8.0.1603: cannot build with +terminal but without +menu
vim-patch:8.0.1606: singular/plural variants not translated
vim-patch:8.0.1608: Win32: directx not enabled by default
vim-patch:8.0.1610: cannot build without GUI
vim-patch:8.0.1613: warning for unused variable in tiny build
vim-patch:8.0.1614: "make tags" doesn't include libvterm
vim-patch:8.0.1618: color Grey50 is missing in the compiled-in table
vim-patch:8.0.1625: test_quotestar is flaky when run in GTK GUI
vim-patch:8.0.1627: compiler warning for visibility attribute not supported
vim-patch:8.0.1635: undefining _POSIX_THREADS causes problems with Python 3
vim-patch:8.0.1639: libvterm code lags behind master
vim-patch:8.0.1646: MS-Windows: executable contains unreferenced functions
vim-patch:8.0.1650: too many #ifdefs
vim-patch:8.0.1659: scroll events not recognized for some xterm emulators
vim-patch:8.0.1663: cannot build without multi-byte feature
vim-patch:8.0.1674: libvterm can't handle an OSC string split
vim-patch:8.0.1675: unused macro argument in libvterm
vim-patch:8.0.1679: compiler warning for printf format
vim-patch:8.0.1683: Python upgrade breaks Vim when defining PYTHON_HOME
vim-patch:8.0.1686: Python does not work when configuring with specific dir
vim-patch:8.0.1692: Python may not work when using statically linked library
vim-patch:8.0.1696: coverage statistics don't work
vim-patch:8.0.1698: coverage statistics don't work on coveralls
vim-patch:8.0.1699: leftover stuff for Python 1.4
vim-patch:8.0.1700: coverage statistics still don't work on coveralls
vim-patch:8.0.1701: can disable COLOR_EMOJI with MSVC but not MinGW
vim-patch:8.0.1710: building with Ruby fails
vim-patch:8.0.1717: C89 check causes too much trouble
vim-patch:8.0.1719: cannot specify which Python executable configure should use
vim-patch:8.0.1730: no configure check for the used C99 features
vim-patch:8.0.1736: check for C99 features is incomplete
vim-patch:8.0.1737: fchown() used when it is not supported
vim-patch:8.0.1739: MS-Windows with msys2 cannot build Ruby statically
vim-patch:8.0.1741: MS-Windows with msys2 cannot build Ruby statically
vim-patch:8.0.1749: VMS: 100% CPU use, redefining mch_open() fails
vim-patch:8.0.1751: #ifdef causes bad highlighting
vim-patch:8.0.1755: MS-Windows: high unicode char received as two utf-16 words
vim-patch:8.0.1757: unnecessary changes in libvterm
vim-patch:8.0.1760: wrong number of arguments to vms_read()
vim-patch:8.0.1764: lgtm considers tutor.es to be EcmaScript
vim-patch:8.0.1785: missing symbol in Win32 small build
vim-patch:8.0.1788: tool to check a color scheme is not installed
vim-patch:8.0.1791: using uint8_t does not work everywhere
vim-patch:8.0.1813: Windows installer doesn't install terminal debugger
vim-patch:8.0.1825: might use NULL pointer when out of memory
vim-patch:8.0.1840: getwinpos() is not tested
vim-patch:8.0.0216: decoding js style json may fail
vim-patch:8.0.1391: encoding empty string to JSON sometimes gives "null"
vim-patch:8.0.1602: crash in parsing JSON
vim-patch:8.1.0343: #9041
man#init_pager() guesses the ref by the heading, which is usually
uppercase, so we don't know the correct casing. But lowercase is more
common, so use that for the buffer name instead of uppercase.
ref #9156
Before this commit, man#init_pager() always tries to scrape the manpage
name and set the buffer name. That's much less important than avoiding
duplicate buffers and E95. And it doesn't seem to be necessary, usually.
Steps to reproduce:
$ export MANPAGER="nvim -c 'set ft=man' -"
$ man sleep
:Man sleep
Error detected while processing function man#init_pager:
line 15:
E95: Buffer with this name already exists
:ls!
1 h- "man://SLEEP(1)" line 4
2 %a- "man://sleep(1)" line 1
Despite #9095, `brew upgrade python` broke again, somehow.
We should not bother attempting to force a python version. Instead use
whatever python Travis provides on the macOS image.
Avoid clearing the screen in most situations. NOT_VALID should be
equivalent to CLEAR unless some external force messed up the terminal,
for these situations <c-l> and :mode will still clear the screen.
Also eliminate some obsolete code in screen.c, that dealt with that in
vim drawing window 1 can mess up window 2, but this never happens in
nvim.
But what about slow terminals? There is two common meanings in which
a terminal is said to be "slow":
Most commonly (and in the sense of vim:s nottyfast) it means low
bandwidth for sending bytes from nvim to the terminal. If the screen is
very similar before and after the update_screen(CLEAR) this change
should reduce bandwidth. If the screen is quite different, but there is
no new regions of contiguous whitespace, clearing doesn't reduce
bandwidth significantly. If the new screen contains a lot of whitespace,
it will depend of if vsplits are used or not: as long as there is no
vsplits, ce is used to cheaply clear the rest of the line, so
full-screen clear is not needed to reduce bandwith. However a left
vsplit currently needs to be padded with whitespace all the way to the
separator. It is possible ec (clear N chars) can be used to reduce
bandwidth here if this is a problem. (All of this assumes that one
doesn't set Normal guibg=... on a non-BCE terminal, if you do you are
doomed regardless of this change).
Slow can also mean that drawing pixels on the screen is slow. E-ink
screens is a recent example. Avoiding clearing and redrawing the
unchanged part of the screen will always improve performance in these
cases.
For each package manager,
1. Check if they are executable before starting a job.
2. Check if the job opts are set before checking the job status
TODO: Validate the job id.
Prioritize npm because it's faster than yarn.
Reindent the code to 2-space indent.
PR #9087 changed the error string by removing 'Running', breaking the
MSBuild hack detecting failure for functional tests. If stdout or stderr
has a line with 'functional tests failed with error', fail the build.
clang scan-build noticed that find_command() may bitmask `eap->flags`.
cmd_can_preview() only uses `ea.cmdidx`, but let's fix the warning...
Found by clang scan-build 5.0
mandoc may not handle quoted MANPAGER arguments correctly. E.g. with
export MANPAGER='nvim -u NORC -c "set ft=man"'
mandoc treats `"set` and `ft=man"'` as separate tokens.
To workaround that, provide :Man! so that MANPAGER can avoid quoting.
closes#9120
fix#9050
Q: (from From #7891)
> It turns out there's a difference between executing
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
> and /usr/bin/clang. CMake was picking up the former and with that it left off
> a key include path. Why?
A: /usr/bin/clang is a shim that uses libxcselect/libxcrun under the hood.
$ otool -L /usr/bin/clang
/usr/bin/clang:
/usr/lib/libxcselect.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
From https://macops.ca/developer-binaries-on-os-x-xcode-select-and-xcrun/ :
> this shim binary loads functions in libxcselect.dylib that can locate the
> path to the real binary, depending on how the system has been configured. One
> part of this process is to check whether this path contains
> usr/lib/libxcrun.dylib, and the xcrun tool, in which case it will invoke
> xcrun to run the binary.
> ...
> (If all of this isn’t yet enough indirection for you, /usr/bin/xcrun itself
> is a shim, and so libxcselect.dylib contains code to detect whether the
> executed xcrun is a shim. Look for the __xcrun_shim segment in the __DATA
> section output by the command: pagestuff /usr/bin/xcrun -a.)
Sometimes 008_autocommands_spec fails like this:
[ RUN ] autocommands that delete and unload buffers: BufUnload, VimLeave: -- Output to stderr:
CMake Error at /home/travis/build/neovim/neovim/cmake/RunTests.cmake:53 (message):
functional tests failed with error: 1
The final :quit + wait() is a race. Use command() instead, which is
synchronous. Use command('silent! ...') everywhere else too, because
it's clearer instead of feeding input and clearing the expected errors
with CTRL-L.
Problem: Using try/catch in timer does not prevent it from being stopped.
Solution: Reset the exception context and use did_emsg instead of
called_emsg.
e723c42836
Problem: Can't use input() in a timer callback. (Cosmin Popescu)
Solution: Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closesvim/vim#1790,
closesvim/vim#1129)
1e8e14552e
Problem: Cursorline not removed when using 'cursorbind'. (Justin Keyes)
Solution: Store the last cursor line per window. (closesvim/vim#3488)
4a5abbd613