# # spec file for package vim # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define pkg_version 9.0 %define patchlevel 1538 %define patchlevel_compact %{patchlevel} %define VIM_SUBDIR vim90 %define site_runtimepath %{_datadir}/vim/site %define make make VIMRCLOC=%{_sysconfdir} VIMRUNTIMEDIR=%{_datadir}/vim/current MAKE="make -e" %{?_smp_mflags} %if 0%{?suse_version} > 1500 %bcond_with libalternatives %else %bcond_with libalternatives %endif %bcond_with python2 Name: vim Version: %{pkg_version}.%{patchlevel_compact} Release: 1.1 Summary: Vi IMproved License: Vim Group: Productivity/Text/Editors URL: https://www.vim.org/ Source: https://github.com/vim/vim/archive/v%{pkg_version}.%{patchlevel}.tar.gz#/vim-%{pkg_version}.%{patchlevel}.tar.gz Source3: suse.vimrc Source4: vimrc_example1 Source5: vimrc_example2 Source8: suse.gvimrc Source10: README.Japanese-XIM Source13: vitmp.c Source14: vitmp.1 Source15: vim132 Source19: gvim.desktop Source20: spec.skeleton Source21: spec.vim Source23: apparmor.vim Source24: gvim.svg Source25: gvim_24.png Source26: gvim_32.png Source27: gvim_48.png Source28: gvim_64.png Source29: gvim_96.png Source98: vim-changelog.sh Source99: %{name}-7.4-rpmlintrc Patch3: %{name}-7.4-disable_lang_no.patch Patch4: %{name}-7.3-gvimrc_fontset.patch Patch5: %{name}-7.4-highlight_fstab.patch Patch6: %{name}-7.3-sh_is_bash.patch Patch7: %{name}-7.3-filetype_ftl.patch Patch8: %{name}-7.3-help_tags.patch Patch9: %{name}-7.3-use_awk.patch Patch10: %{name}-7.3-name_vimrc.patch Patch11: %{name}-7.3-mktemp_tutor.patch Patch15: %{name}-7.4-filetype_apparmor.patch Patch18: %{name}-7.3-filetype_spec.patch Patch21: %{name}-7.3-filetype_changes.patch Patch22: %{name}-7.4-filetype_mine.patch Patch24: disable-unreliable-tests.patch Patch25: ignore-flaky-test-failure.patch Patch100: vim73-no-static-libpython.patch Patch101: vim-8.0.1568-defaults.patch # https://github.com/vim/vim/issues/3348 - problem more probadly in buildenv than in test Patch102: vim-8.1.0297-dump3.patch Patch104: vim-8.2.2411-globalvimrc.patch BuildRequires: autoconf BuildRequires: db-devel BuildRequires: fdupes BuildRequires: gettext-devel BuildRequires: gpm-devel BuildRequires: libtool BuildRequires: perl BuildRequires: pkgconfig BuildRequires: ruby-devel BuildRequires: update-desktop-files BuildRequires: pkgconfig(form) BuildRequires: pkgconfig(formw) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libacl) BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(menu) BuildRequires: pkgconfig(menuw) BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(ncurses++) BuildRequires: pkgconfig(ncurses++w) BuildRequires: pkgconfig(ncursesw) BuildRequires: pkgconfig(panel) BuildRequires: pkgconfig(panelw) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(tic) BuildRequires: pkgconfig(tinfo) BuildRequires: pkgconfig(xt) Requires: vim-data-common = %{version}-%{release} Requires: xxd = %{version}-%{release} Recommends: vim-data = %{version}-%{release} Conflicts: vim-base < 8.2 Provides: vi Provides: vim-base = %{version}-%{release} Provides: vim-enhanced = %{version}-%{release} Provides: vim-python = %{version}-%{release} Obsoletes: vim-base < %{version}-%{release} Obsoletes: vim-enhanced < %{version}-%{release} Obsoletes: vim-python < %{version}-%{release} Provides: vim_client %{?libperl_requires} %if %{with libalternatives} Requires: alts %else Requires(post): update-alternatives Requires(postun):update-alternatives %endif %if %{with python2} BuildRequires: python2-devel %endif %description Vim (Vi IMproved) is an almost compatible version of the UNIX editor vi. Almost every possible command can be performed using only ASCII characters. Only the 'Q' command is missing (you do not need it). Many new features have been added: multilevel undo, command line history, file name completion, block operations, and editing of binary data. %package data Summary: Data files needed for extended vim functionality Group: Productivity/Text/Editors Requires: vim-data-common = %{version}-%{release} # Used to be in vim-plugins package Obsoletes: vim-plugin-matchit <= 1.13.2 Provides: vim-plugin-matchit = 1.13.2 # conflicts with nginx own plugin Obsoletes: vim-plugin-nginx < %{version} Provides: vim-plugin-nginx = %{version} BuildArch: noarch %description data This package contains optional runtime & syntax files for vim. %package data-common Summary: Common Data files for vim & gvim Group: Productivity/Text/Editors BuildArch: noarch %description data-common This package contains basic runtime & syntax files for vim %package -n gvim Summary: A GUI for Vi Group: Productivity/Text/Editors Requires: gvim_client Requires: vim-data = %{version}-%{release} Requires: xxd = %{version}-%{release} Conflicts: gvim < 8.2 Provides: gvim-base = %{version}-%{release} Provides: gvim-enhanced = %{version}-%{release} Obsoletes: gvim-base < %{version}-%{release} Obsoletes: gvim-enhanced < %{version}-%{release} Provides: gvim_client Provides: vi Provides: vim_client %if %{with libalternatives} BuildRequires: alts Requires: alts %else Requires(post): update-alternatives Requires(postun):update-alternatives %endif %description -n gvim Package gvim contains the largest set of features of vim, which is graphical windows and language interpreter, like python, ruby, or perl. You need package vim for the help and other documentation too. If you want less features, you might want to install vim instead. %package small Summary: Vim with reduced features Group: Productivity/Text/Editors Requires: vim-data-common = %{version}-%{release} Provides: vi Provides: vim_client %if %{with libalternatives} BuildRequires: alts Requires: alts %else Requires(post): update-alternatives Requires(postun):update-alternatives %endif %description small Vim compiled with reduced feature set such as no script interpreters built in %package -n xxd Summary: A hex dump utility Conflicts: vim <= 9.0.1418 %description -n xxd xxd creates a hex dump of a given file or standard input. It can also convert a hex dump back to its original binary form. %prep %setup -q -n %{name}-%{pkg_version}.%{patchlevel} %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 cp %{SOURCE23} runtime/syntax/apparmor.vim %patch15 -p1 %patch18 -p1 %patch21 -p1 %patch22 -p1 %patch24 -p1 %patch25 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 %patch104 -p1 cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} . # Unreliable tests # See also disable-unreliable-tests.patch rm src/testdir/test_arglist.* rm src/testdir/test_command_count.* rm src/testdir/test_cmdline.* rm src/testdir/test_channel.* rm src/testdir/test_diffmode.* rm src/testdir/test_mksession.* rm src/testdir/gen_opt_test.* rm src/testdir/test_options.* rm src/testdir/test_popupwin.* rm src/testdir/test_startup.* rm src/testdir/test_terminal* rm src/testdir/test_textprop.* rm src/testdir/test_window_cmd.* rm src/testdir/test_writefile.* rm runtime/indent/testdir/vim.* %build export CFLAGS="%{optflags} -Wall -pipe -fno-strict-aliasing" export CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/-D_FORTIFY_SOURCE=1} export COMMON_OPTIONS="\ --with-vim-name=vim \ --with-ex-name=ex \ --with-view-name=view \ --enable-cscope \ --enable-multibyte \ --with-tlib=tinfo \ --with-global-runtime=%{site_runtimepath} \ " # yeah kind of weird to call this small when we then use the # "normal" set. Calling the package vim-normal is weird though as # huge is our default. export SMALL_OPTIONS="\ $COMMON_OPTIONS \ --with-features=small \ --enable-luainterp=no \ --enable-pythoninterp=no \ --enable-perlinterp=no \ --enable-python3interp=no \ --enable-rubyinterp=no" export HUGE_OPTIONS="\ $COMMON_OPTIONS \ --with-features=huge \ --enable-luainterp=dynamic \ --enable-perlinterp=yes \ --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic \ --enable-pythoninterp=%{?with_python2:yes}%{!?with_python2:no}" export GUI_OPTIONS="\ --disable-icon-cache-update \ --enable-xim \ --enable-fontset \ --enable-gui=gtk3" export NOGUI_OPTIONS="\ --disable-gui \ --disable-gpm \ --with-x=no \ " pushd src autoconf popd # build smaller vim %configure ${SMALL_OPTIONS} ${NOGUI_OPTIONS} sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h %make_build cp src/vim vim-small # build normal vim %make_build -j1 distclean %configure ${HUGE_OPTIONS} ${NOGUI_OPTIONS} sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h %make_build cp src/vim vim-nox11 # build gvim %make_build -j1 distclean %configure ${HUGE_OPTIONS} ${GUI_OPTIONS} sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h %make_build # # build vitmp gcc %{optflags} %{SOURCE13} -o vitmp %install %make_install STRIP=: # create icon directories and install the icons into it for SIZE in 24 32 48 64 96; do install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps install -m 0644 %{_sourcedir}/gvim_${SIZE}.png %{buildroot}%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps/gvim.png done install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps install -m 0644 %{SOURCE24} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/gvim.svg # the last installed binary is gvim. preserve it mv %{buildroot}%{_bindir}/vim %{buildroot}%{_bindir}/gvim %if %{with libalternatives} for f in vimdiff ex view rview rvim; do rm %{buildroot}%{_bindir}/$f done %else # fix gvim symlinks. e* was added here as it doesnt make much sense in # console for f in egvim egview eview evim gex gvi gview gvimdiff rgview rgvim ; do ln -s -vf gvim %{buildroot}%{_bindir}/$f done %endif # install vim install -D -m 0755 vim-small %{buildroot}%{_bindir}/vim-small install -D -m 0755 vim-nox11 %{buildroot}%{_bindir}/vim-nox11 %if ! %{with libalternatives} mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/vim %{buildroot}%{_bindir}/vim ln -s -f %{_sysconfdir}/alternatives/vi %{buildroot}%{_bindir}/vi %else for f in vi vim rvim evim eview egview view rview vimdiff edit ex egvim gex gvi gview gvimdiff rgview rgvim ; do ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/$f mkdir -p %{buildroot}%{_datadir}/libalternatives/$f done for f in vi vim rvim view rview vimdiff edit ex; do cat > %{buildroot}%{_datadir}/libalternatives/$f/20.conf < %{buildroot}%{_datadir}/libalternatives/$f/30.conf < %{buildroot}%{_datadir}/libalternatives/$f/19.conf < - Updated to version 9.0.1538, fixes the following problems - fixes boo#1211256 CVE-2023-2609 * No error when calling remote_startserver() with an empty string. * Error when heredoc content looks like heredoc. * Line number not displayed when using 'smoothscroll'. * Assert message is confusing with boolean result. assert_inrange() replaces message instead of adding it. * Catch does not work when lines are joined with a newline. * Error message lacks mentioning the erroneous argument. * Misleading variable name for error message. * Crash when using wrong arg types to assert_match(). * Inserting lines when scrolling with 'smoothscroll' set. * Text scrolls unnecessarily when splitting and 'splitkeep' is not "cursor". * Test waits unnecessarily long before checking screendump. * reverse() does not work for a String. * Cannot use special keys in mapping. * Search stats not always visible when searching backwards. * Global 'filetype' is set when it is detected from the file content. * Completion for option name includes all bool options. * Failing redo of command with control characters. * Some functions give two error messages. * Some error messages are not marked for translation. * Passing -1 for bool is not always rejected. * 'smoothscroll' does not always work properly. * Condition is always true. * Crash when using negative value for term_cols. * Libsodium encryption is only used with "huge" features, even when manually enabled through configure. (Tony Mechelynck) * Code style test doesn't check for space after "if". * Cursor moves to wrong line when 'foldmethod' is "diff". (Rick Howe) * Crash when register contents ends up being invalid. * Crash when expanding "~" in substitute causes very long text. * Test for 'smoothscroll' is ineffective. * Test for expanding "~" in substitute takes too long. * Test commented out in a wrong way. * CI: sound dummy stopped working. * Message for opening the cmdline window is not translated. * :wqall does not trigger ExitPre. (Bart Libert) * Tue May 2 2023 Ondřej Súkup - Updated to version 9.0.1504, fixes the following problems - fixes boo#1210996 - CVE-2023-2426 * xchacha20v2 crypt header is platform dependent. * Crypt with libsodium is not tested on CI. * The ModeChanged event may be triggered too often. * Wrong scrolling with ls=0 and :botright split. * Using uninitialized memory when argument is missing. * Popup menu position wrong in window with toolbar. * Crash when recovering from corrupted swap file. * GTK3: hiding the mouse pointer does not work. (Rory O’Kane) * Test restoring register with wrong value. * The ruler percentage can't be localized. * In a terminal window the cursor may jump around. (Kenny Stauffer) * Using uninitialized memory with fuzzy matching. * The falsy operator is not tested properly. * Crash with nested :try and :throw in catch block. * No test for deleting the end of a long wrapped line. * Luau files are not recognized. * No error when calling remote_startserver() with an empty string. * Wed Apr 26 2023 Ondřej Súkup - Updated to version 9.0.1488, fixes the following problems * Ending Insert mode when accessing a hidden prompt buffer. * Crash when passing NULL to setcmdline(). (Andreas Louv) * openSUSE: configure doesn't find the Motif library. (Tony Mechelynck) * Unnecessary checks for the "skip" flag when skipping. * Condition is always true. * Diff test fails on MacOS 13. * Test for prompt buffer is flaky. * Unnecessary redrawing when 'showcmdloc' is not "last". * Code using EVAL_CONSTANT is dead, it is never set. * Typos in source code and tests. * Code indenting is confused by macros. * C++ 20 modules are not recognized. * Shortmess test depends on order of test execution. * No regression test for what patch 9.0.1333 fixes. * Buffer overflow when expanding long file name. * Typo in name of type. * Insufficient testing for getcmdcompltype(). * Ruler not drawn correctly when using 'rulerformat'. * Recursively calling :defer function if it does :qa. * Virtual text truncation only works with Unicode 'encoding'. * Strace filetype detection is expensive. * Haiku build fails. * Cannot use an object member name as a method argument. * Jenkinsfiles are not recognized as groovy. * Recursively calling :defer function if it does :qa in a compiled function. * Deferred functions not called from autocommands. * Deferred functions invoked in unexpected order when using :qa and autocommands. * Warnings for function declarations. * ":drop fname" may change the last used tab page. * Busted configuration files are not recognized. * Lines put in non-current window are not displayed. (Marius Gedminas) * Crash when recovering from corrupted swap file. * Filetypes for *.v files not detected properly. * Small source file problems; outdated list of distributed files. * Using popup menu may leave text in the command line. * Decrypting with libsodium may fail if the library changes. * Crash when textprop has a very large "padding" value. (Yegappan Lakshmanan) * += operator does not work on class member. * Coverity warns for using invalid array index. * no functions for converting from/to UTF-16 index. * Parallel make might not work. * Content-type header for LSP channel not according to spec. * xchacha20v2 crypt header is platform dependent. * Wed Apr 12 2023 Ondřej Súkup - Updated to version 9.0.1443, fixes the following problems * Livebook files are not recognized. * getscriptinfo() loops even when specific SID is given. * Completion popup in wrong position with virtual text "above". * On some systems the Lua library is not found. * Crash when adding package already in 'runtimepath'. * Scrolling too many lines when 'wrap' and 'diff' are set. * Cannot compare a typed variable with v:none. * Test fails with different error number. * .fs files are falsely recognized as forth files. * Start Insert mode when accessing a hidden prompt buffer. * "rvim" can execute a shell through :diffpatch. * mapset() does not restore non-script context. * Ending Insert mode when accessing a hidden prompt buffer. * Thu Mar 30 2023 Ondřej Súkup - Updated to version 9.0.1430, fixes the following problems * The included xdiff code is a bit outdated. * Lean files are not recognized. * Build failure because SIZE_MAX is not defined. * Nu files are not recognized. * Sage files are not recognized. * WebAssembly Interface Type files are not recognized. * Unused macros are defined. * "wat" and "wast" files are one filetype. * Indent wrong after "export namespace" in C++. * Warning for uninitialized variable. (Tony Mechelynck) * Cursor in wrong position when leaving insert mode. * Invalid memory access when ending insert mode. * Livebook files are not recognized. * Tue Mar 28 2023 Andreas Schneider - Create a standalone package for xxd * This is used by non-vim tools too * Tue Mar 21 2023 Ondřej Súkup - Updated to version 9.0.1418, fixes the following problems - fixes CVE-2023-1355 * Using NULL pointer with nested :open command. * Cairo files are not recognized. * Unx Tal files are not recognized. * Odin files are not recognized. * sort(list, 'N') does not work in Vim9 script context. * Highlight for popupmenu kind and extra cannot be set. * Profile test repeats the headers many times. * Highlight test script has a few problems. * find_file_in_path() is not reentrant. * Condition is always true. * Crash when using null_class. * Unused variables and functions. * Compilation error with some compilers. * Missing check for out-of-memory. * ILE RPG files are not recognized. * TableGen files are not recognized. * QMLdir files are not recognized. * Racket files are recognized as scheme. * Accuracy of profiling is not optimal. * Pony files are not recognized. * Compiler warning for unused variable. * in Kitty does not use the Shift modifier. * Crystal files are not recognized. * Crash when collection is modified when using filter(). * ESDL files are not recognized. * The included xdiff code is a bit outdated. * Mon Mar 13 2023 Bjørn Lie - Update spec.skeleton to use autosetup in place of setup macro. * Wed Mar 8 2023 Ondřej Súkup - Updated to version 9.0.1392, fixes the following problems - fixes CVE-2023-1264 * Options test fails with some window width. * Scrollbar test sporadically fails. * Amiga: not all builds use gethostname(). * Amiga: a couple of include files are included twice. * FOR_ALL_ macros are defined in an unexpected file. * "clear" macros are not always used. * Using NULL pointer with nested :open command. * Mon Mar 6 2023 Ondřej Súkup - Updated to version 9.0.1386, fixes the following problems - fixes CVE-2023-1175 CVE-2023-1170 * Divide by zero in zero-width window. * Bass files are not recognized. * Still some "else if" constructs for setting options. * Crash when using a NULL object. (Ernie Rael) * Ballooneval interferes with Insert completion. * Test for 'toolbariconsize' may fail. * Wrong text displayed when using both 'linebreak' and 'list'. * Function for setting options not used consistently. * Crash when getting member of obj of unknown class. * Accessing invalid memory with put in Visual block mode. * job_status() may return "dead" if the process parent changed. * Illegal memory access when using virtual editing. * Functions for handling options are not ordered. * CTRL-X on 2**64 subtracts two. (James McCoy) * ACCESS_ names have a conflict with on some systems. * Failing test for strptime() doesn't show returned value. * xxd: combination of little endian and cols fails. (Aapo Rantalainen) * Setting HOMEBREW_NO_AUTO_UPDATE is not needed with Homebew version 4. * g'Esc is considered an error. * Options test fails with some window width. * Thu Mar 2 2023 Ondřej Súkup - Updated to version 9.0.1367, fixes the following problems - dropped vim-fix-sh-syntax.patch - fixes boo#1208828 - CVE-2023-1127 * Using null_object results in an internal error. (Ernie Rael) * Compilation error with some compilers. * Too many "else if" statements in handling options. * Cue files are not recognized. * extendnew() not sufficiently tested. * ml_get error when going to another tab. (Daniel J. Perry) * Crash when :def function has :break in skipped block. (Ernie Rael) * Build error with older Mac OS. * Functions for setting options are in random order. * Divide by zero in zero-width window. * Sun Feb 26 2023 Ondřej Súkup - Updated to version 9.0.1357, fixes the following problems * Setting 'formatoptions' with :let doesn't check for errors. * The code for setting options is too complicated. * Scrolling two lines with even line count and 'scrolloff' set. * 'splitkeep' test has failures. * Coverity warns for using a NULL pointer. * Cursor position wrong when splitting window in insert mode. * Some settings use the current codepage instead of 'encoding'. * :messages behavior depends on 'fileformat' of current buffer. * Escaping for completion of map command not properly tested. * Crash when using an unset object variable. * Code style test fails. * PRQL files are not recognized. * Checking the type of a null object causes a crash. * vimscript test fails where using {expr} syntax. * Crash when indexing "any" which is an object. * Build failure with +eval feature. * "gj" and "gk" do not move correctly over a closed fold. * 'colorcolumn' highlight wrong with virtual text above. * Relative line number not updated with virtual text above. * Cursor in wrong position below line with virtual text below ending in multi-byte character. * Error when using "none" for GUI color is confusing. * Completion of map includes simplified ones. * Handling new value of an option has a long "else if" chain. * Illegal memory access when using :ball in Visual mode. * Crash when using buffer-local user command in cmdline window. (Karl Yngve Lervåg) * When redo'ing twice may not get the script ID. * Using tt_member for the class leads to mistakes. * No test for bad use of spaces in help files. * Functions without arguments are not always declared properly. * Yuck files are not recognized. * :defcompile and :disassemble can't find class method. (Ernie Rael) * No test for :disassemble with class function. * Coverity warns for using NULL pointer. * Build error with mzscheme but without GUI. * Check for OSC escape sequence doesn't work. * Too many "else if" statements for handling options. * Starlark files are not recognized. * "gr CTRL-O" stays in Insert mode. (Pierre Ganty) * Un-grammar files are not recognized. * "gr" with a count fails. * CPON files are not recognized. * Dhall files are not recognized. * "ignore" files are outdated. * Too many "else if" statements to handle option values. * "gr CTRL-G" stays in virtual replace mode. (Pierre Ganty) * No error when declaring a class twice. (Ernie Rael) * Cannot cancel "gr" with Esc. * Using null_object results in an internal error. (Ernie Rael) * Fri Feb 17 2023 Petr Vorel - Add patch vim-fix-sh-syntax.patch which fixes broken sh syntax. * Mon Feb 13 2023 Ondřej Súkup - Updated to version 9.0.1307, fixes the following problems * Crash when using search stat in narrow screen. * Using sizeof() and subtract array size is tricky. * Typo in pattern for filetype detection. * "1v" may select block with wrong size. (Evgeni Chasnovski) * FIRRTL files are not recognized. * The code for setting options is too complicated. * Some mappings with Meta and Shift do not work. * Cursor may move with autocmd in Visual mode. * go.work.sum files are not recognized. * Display shows lines scrolled down erroneously. (Yishai Lerner) * Inssufficient testing for what 9.0.1265 fixes. * Cadence files are not recognized. * Ron files are not recognized. * The code for setting options is too complicated. * Compiler warnings for uninitialized variables. (Tony Mechelynck) * Various small problems. * Coverity warns for using a NULL pointer. * With the Kitty key protocl Esc with NumLock cannot be mapped. * FunC files are not recognized. * A newer version of clang can be used for CI. * CTRL-N and -P on cmdline don't trigger CmdlineChanged. * Move language files are not recognized. * :defer may call the wrong method for an object. (Ernie Rael) * The set_num_option() is too long. * The set_bool_option() function is too long. * The option initialization function is too long. * Calling an object method with arguments does not work. (Ernie Rael) * Wrong value for $LC_CTYPE makes the environ test fail. * Inserting a register on the command line does not trigger incsearch or update hlsearch. * Change for triggering incsearch not sufficiently tested. * 'statusline' only supports one "%%=" item. * Virtual text below empty line not displayed. * On a Belgian keyboard CTRL-] does not work. * Motif: scrollbar width/height wrong when maximized. * "$" for 'list' option displayed in wrong position when there are text properties. * Cursor in wrong line with virtual text above. * No regression test for solved problem of #11959. * Setting 'formatoptions' with :let doesn't check for errors. * Wed Feb 1 2023 Ondřej Súkup - Updated to version 9.0.1270, fixes the following problems * The code style has to be checked manually. * MS-Windows console: not flushing termguicolors. * Code in same_leader() can be simplified. * Code is indented more than necessary. * :runtime completion can be further improved. * Cannot have a line break before an object member access. * Cannot access a private object member in a lambda defined inside the class. * Coverity warns for not checking function return value. * Code for :runtime completion is not consistent. * :setglobal cannot use script-local function for "expr" option. * Cursor briefly displayed in a wrong position when pressing Esc in Insert mode after autoindent was used. * Code is indented more than necessary. * Code is indented more than necessary. * Divide by zero with 'smoothscroll' set and a narrow window. * Cannot export an interface. (Ernie Rael) * Cannot export an abstract class. (Ernie Rael) * Cannot use an object method with :defer. (Ernie Rael) * Checking returned value of ga_grow() is inconsistent. * MS-Windows: scrollback cropped off on Vim exit. * Calling a method on an interface does not work. * Changing 'virtualedit' does not have immediate effect. * NetworkManager connection files are not recognized. * Code style is not check in test scripts. * Code style test fails. * Diffmode test fails. * Coverity warns for possible NULL pointer usage. * Elsa files are not recognized. * The did_set_string_option function is too long. * KDL files are not recognized. * Motif: compiler warning for unused argument. * Using an interface method may give a compilation error. * Error for space before ": type" is inconsistent. * The did_set_string_option function is too long. * .clangd and .stylelintrc files don't get a filetype. * Thu Jan 26 2023 Jiri Slaby - drop vim-8.0-ttytype-test.patch as it changes test_options.vim which we remove during %%prep anyway. And this breaks quilt setup. * Mon Jan 23 2023 Ondřej Súkup - Updated to version 9.0.1234, fixes the following problems * Return value of type() for class and object unclear. * Invalid memory access with folding and using "L". * Some Bazel files are not recognized. * No error when class function argument shadows a member. * Cannot map when using the Kitty key protocol. * Compiler warning for comparing pointer with int. * Restoring KeyTyped when building statusline not tested. * Code is indented more than necessary. * Dump file missing from patch. * Abstract class not supported yet. * Crash when using kitty and using a mapping with . * AppVeyor builds with an old Python version. * Assignment with operator doesn't work in object method. * Crash when iterating over list of objects. * Return type of values() is always list. * Expression compiled the wrong way after using an object. * Crash when handling class that extends another class with more than one object members. * Testing with Python on AppVeyor does not work properly. * Error when object type is expected but getting "any". * Code is indented more than necessary. * Getting interface member does not always work. * Compiler complains about declaration after label. * Storing value in interface member does not always work. * Cannot read back what setcellwidths() has done. * Adding a line below the last one does not expand fold. * File left behind after running tests. * Using isalpha() adds dependency on current locale. * Coverity warns for ignoring return value. * Using an object member in a closure doesn't work. * Completion includes functions that don't work. * Handling of FORTIFY_SOURCE flags doesn't match Fedora usage. * Termcap/terminfo entries do not indicate where modifiers might appear. * Code is indented more than necessary. * Cannot use setcellwidths() below 0x100. * Cannot call a :def function with a number for a float argument. * Reading past the end of a line when formatting text. * Fri Jan 13 2023 Ondřej Súkup - Updated to version 9.0.1188, fixes the following problems - refreshed vim-7.4-highlight_fstab.patch * Float constant not recognized as float. * Type error when using "any" type and adding a number to a float. * Leaking allocated type. * Termcap entries for RGB colors are not set automatically. * test_mswin_event() can hang. * Users cannot easily try out a PR. * CI does not use the latest Python version. * Code is indented more than needed. * Compiler may complain about an unused function. * Terminfo entries for bracketed paste are not used. * Sporadic test failures when using a terminal window. * Type of arguments not checked when calling a partial. * Tex filetype detection not sufficiently tested. * Cursor positioning and display problems with 'smoothscroll' and using "zt", "zb" or "zz". * Class member access is not fully tested yet. * Class function not implemented yet. * Virtual text at a column position is truncated at the window edge. (Yegappan Lakshmanan) * Memory leak when using class functions. * Bracketed paste can be enabled when pasted text is not recognized. * No error if function argument shadows class member. * Build failure. * Sporadic Test_range() failure. * Unexpected output when autoloading a script for an interactive operation. * Build failure without the +eval feature. * Code is indented more than needed. * Error message names do not match the items. * Comparing objects uses identity instead of equality. * Missing function argument. * Memory leak when getting class member type from expr. * Some conditions are always false. * Crash when expecting varargs but it is something else. * Cannot create a new object in a compiled function. * Cannot call an object method in a compiled function. * 'cursorcolumn' and 'colorcolumn' wrong after concealing and wrapping line. * Crash and/or memory leak when redefining function after error. * Invalid memory access with bad 'statusline' value. * Reading beyond text. * Invalid memory access with recursive substitute expression. * Cannot access a class member in a compiled function. * Cmdline test fails in the GUI. * Class members may be garbage collected. * :interface is not implemented yet. * Build failure. * Class "implements" argument not implemented. * Build error with some compilers. * Coverity warns for dead code. * Cannot use a class as a type. * Tests fail because of a different error message. * "implements" only handles one interface name. * Code is indented more than necessary. * Extends argument for class not implemented yet. * ASAN error for ufunc_T allocated with wrong size. * Coverity warns for using strcpy(). * Configure does not handle all FORTIFY_SOURCE variants. * Compiler warning for implicit size_t/int conversion. * Evaluating string expression advances function line. * Tests using IPv6 sometimes fail. * Code is indented more than necessary. * EditorConfig files do not have their own filetype. * Code to enable/disable mouse is not from terminfo/termcap. * Some key+modifier tests fail on some AppVeyor images. * Screen is not redrawn after using setcellwidths(). * When 'selection' is "exclusive" then "1v" is one char short. * Compiler warning for unused variable on non-Unix systems. * Smali files are not recognized. * The set_ref_in_item() function is too long. * smithy files are not recognized. * A child class cannot override functions from a base class. * Not all errors around inheritance are tested. * Compiler warnings without the +job feature. * Class inheritance and typing insufficiently tested. * go checksum files are not recognized. * Wed Dec 28 2022 Ondřej Súkup - Updated to version 9.0.1107, fixes the following problems * build fails if the compiler doesn't allow for a declaration right after "case". * ASAN complains about NULL argument. * Can add text property with negative ID before virtual text property. * With the +vartabs feature indent folding may use wrong 'tabstop'. * Leaking memory when defining a user command fails. * The "kitty" terminfo entry is not widespread, resulting in the kitty terminal not working properly. * Using "->" with split lines does not always work. * Some jsonc files are not recognized. * Empty and comment lines in a class cause an error. * Code handling low level MS-Windows events cannot be tested. * Compiler warns for uninitialized variable. * Display wrong in Windows terminal after exiting Vim. * Autocommand test sometimes fails. * Clang warns for unused variable. * unnessary assignment * FHIR Shorthand files are not recognized. * Assignment to non-existing member causes a crash. (Yegappan Lakshmanan) * Search error message doesn't show used pattern. * Using freed memory of object member. (Yegappan Lakshmanan) * Compiler warning when HAS_MESSAGE_WINDOW is not defined. * Using freed memory when declaration fails. (Yegappan Lakshmanan) * Reallocating hashtab when the size didn't change. * Tests are failing. * Code uses too much indent. * Trying to resize a hashtab may cause a problem. * Tue Dec 27 2022 Ludwig Nussel - Replace transitional %%usrmerged macro with regular version check (boo#1206798) * Mon Dec 19 2022 Ondřej Súkup - Updated to version 9.0.1075, fixes the following problems * refreshed vim-7.4-highlight_fstab.patch * Test for mapping with CmdlineChanged fails. * Cannot define a method in a class. * ASAN gives false alarm about array access. * Macro has confusing name and is duplicated. * Setting window height using Python may cause errors. * In a class object members cannot be initialized. * Class method disassemble test fails on MS-Windows. * Matchparen is slow. * With "screenline" in 'culopt' cursorline highlight is wrong. * Crash when opening a very small terminal window. * Using freed memory when assigning to variable twice. * After a failed CTRL-W ] next command splits window. * Using freed memory on exit when EXITFREE is defined. * Default constructor arguments are not optional. * Object member can't get type from initializer. * Coverity warns for using uninitialized memory. * Leaking memory when disassembling an object method. * Conflict between supercollider and scala filetype detection. * String value of class and object do not have useful information. * Build failure with some compilers that can't handle a declaration directly after a "case" statement. * Cannot display 'showcmd' somewhere else. * Some test function names do not match what they are doing. * When using Kitty a shell command may mess up the key protocol state. * Code for making 'shortmess' temporarily empty is repeated. * A shell command switching screens may still have a problem with the kitty keyboard protocol. * Test function name is wrong. * In diff mode virtual text is highlighted incorrectly. (Rick Howe) * No information about whether requesting term codes has an effect. * Diff mode highlight fails for special characters. * Reading beyond array size. * Codecov action version is too specific. * screenpos() column result in fold may be too small. * Using "xterm-kitty" for 'term' causes problems. * Class members are not supported yet. * build fails if the compiler doesn't allow for a declaration right after "case". * Fri Dec 9 2022 Ondřej Súkup - Updated to version 9.0.1040, fixes the following problems * Build errors without the +channel feature. (John Marriott) * ch_log() text can be hard to find in the log file. * The keyboard state response may end up in a shell command. * Build error in tiny version. * 'cursorline' not drawn before virtual text below. * Stray characters displayed when starting the GUI. * GUI: remote_foreground() does not always work. (Ron Aaron) * When using kitty keyboard protocol function keys may not work. (Kovid Goyal) * Build failure with tiny version. * File missing from list of distributed files. * Using feedkeys() does not show up in a channel log. * Popupwin test is more flaky on MacOS. * Callback name argument is changed by setqflist(). * Crash when reading help index with various options set. (Marius Gedminas) * Vim9 script: get E1096 when comment follows return. * Display errors when adding or removing text property type. * Tests for empty prop type name fail. * Padding before virtual text below is highlighted when 'number' and 'nowrap' are set. * If 'keyprotocol' is empty "xterm" still uses modifyOtherKeys. * Coverity warns for dead code. * "gk" may reset skipcol when not needed. * Memory may leak. * With 'smoothscroll' skipcol may be reset unnecessarily. * Classes are not documented or implemented yet. * Command list test fails. * Tiny build fails. * Suspend test sometimes fails on MacOS. * A failed test may leave a swap file behind. * Suspend test still sometimes fails on MacOS. * There is no way to get a list of swap file names. * Test for swapfilelist() fails on MS-Windows. * Test for catch after interrupt is flaky on MS-Windows. * Stray warnings for existing swap files. * ml_get error when using screenpos(). * Tests may get stuck in buffer with swap file. * Suspend test often fails on Mac OS. * Zir files are not recognized. * Without /dev/urandom srand() seed is too predictable. * screenpos() does not count filler lines for diff mode. * 'smoothscroll' and virtual text above don't work together. (Yee Cheng Chin) * Tests call GetSwapFileList() before it is defined. * Test trips over g:name. * Suspend test fails on Mac OS when suspending Vim. * WinScrolled is not triggered when filler lines change. * type of w_last_topfill is wrong. * LGTM is soon shutting down. * Mouse shape test is flaky, especially on Mac OS. * Autoload directory missing from distribution. * Using freed memory with the cmdline popup menu. * Vim9 class is not implemented yet. * Test fails when terminal feature is missing. * Tiny build fails because of conflicting typedef. * Reporting swap file when windows are split. * Object members are not being marked as used, garbage collection may free them. * Undo misbehaves when writing from an insert mode mapping. * lalloc(0) error for a class without members. * Function name does not match what it is used for. * Using a mapping CmdlineChanged may be triggered twice. * Test for mapping with CmdlineChanged fails. * Thu Dec 1 2022 Ondřej Súkup -Updated to version 9.0.0978, fixes the following problems * The first termcap entry of a builtin termcap is not used. * Two conditions are always false. * Coverity warns for not using return value of dict_add(). * Coverity warns for using a NULL pointer. * Using Ruby LDFLAGS may cause build problems. * Build failure with tiny version. (Tony Mechelynck) * Cannot debug the Kitty keyboard protocol with TermDebug. * Oblivion files are not recognized. * Kitty shows "already at oldest change" on startup. * Various code formatting issues. * When using dash it may not be recognize as filetype "sh". * Wrong type for "isunnamed" returned by getreginfo(). * Forked repositories send out useless email. * Still using simplified mappings when using the kitty keyboard protocol. * Crash when typing a letter in a terminal window. (Shane-XB-Qian) * CI failures in sound dummy. * Workflow Description Language files are not recognized. * Pretending to go out of Insert mode when Esc is received has side effects. * 'cursorline' causes virtual text highlight to continue. * Failures in the cursorline test. * CI: Error in Coverity flow is not reported. * Invalid memory access in substitute with function that goes to another file. * 'ttyfast' is set for arbitrary terminals. * Crash when unletting a variable while listing variables. * The pattern "\_s\zs" matches at EOL. * Trying every character position for a match is inefficient. * Eclipse preference files are not recognized. * Part of making search more efficient is missing. * Cannot detect whether modifyOtherKeys is enabled. * Libvterm does not support the XTQMODKEYS request. * Terminal tests fail when using key with modifier. * Tests fail without the terminal feature. * Messages test is flaky. * Error when using the "File Settings / Text Width" menu. * Error when using the "Tools / Spelling / Find More Languages" menu. * Using deletebufline() may jump to another window. * Virtual text below cannot be placed below empty lines. * Function name does not match autocmd event name. * Status line of other window not redrawn when dragging it when 'splitkeep' is set to "screen". * Using one window for executing autocommands is insufficient. * Some compilers don't allow a declaration after a label. * Leaking memory from autocmd windows. * GUI mouse event test is a bit flaky. * Matchparen highlight is not updated when switching buffers. * Coverity warns for uninitialized variable. * Escape sequences not recognized without the termresponse feature. * Build failure on some systems. * Kitty keyboard protocol key not decoded when it has an unsupported modifier, such as NumLock. * Even when Esc is encoded a timeout is used. * Virtual text below an empty line is misplaced when 'number' is set. * Wed Nov 23 2022 Ondřej Súkup - Updated to version 9.0.0924, fixes the following problems * Aws config files are not recognized. * ":!" does not switch to the alternate screen. * CTRL-Z at end of file is always dropped. * Build error. * "!ls" does not work. * Still a build error, tests are failing. * Memory leak with empty shell command. * Crash when using win_move_statusline() in another tab page. * Crash when dragging the statusline with a mapping. * Mouse drag test fails. * Crash when using win_move_separator() in other tab page. * If 'endofline' is set the CTRL-Z may be written in the wrong place. * The key in tmux doesn't work when 'term' is set to "xterm". (Dominique Pellé) * Various typos. * Wrong counts in macro comment. * Compiler warning for redefining HAVE_DUP. * Deprecation warning causes build failure. * Warning for missing return type. * The window title is not redrawn when 'endoffile' changes. * Wrong error when using extend() with funcref. * append() reports failure when not appending anything. * Compiler warnings for unused variables. * Test may fail depending on sequence of events. * Cannot change a slice of a const list. (Takumi KAGIYAMA) * deletebufline() does not always return 1 on failure. * Unicode range for Apple SF symbols is outdated. * VHS tape files are not recognized. * Handling 'statusline' errors is spread out. * Shell command with just space gives strange error. * Using assert_fails() may cause hit-enter prompt. * CI: not totally clear what MS-Windows version is used. * Help item for --log argument is not aligned nicely. * Terminal mouse test is a bit flaky. * Terminal mouse test is still flaky. * Crypt test is skipped if xxd is not found. * No proper test for what 9.0.0846 fixes. * Comment not located above the code it refers to. * "!!sort" in a closed fold sorts too many lines. * Compiler warning for unused variable. * Solution for "!!sort" in closed fold is not optimal. * Default value of 'endoffile' is wrong. * col() and charcol() only work for the current window. * Crash when using "!!" without a previous shell command. * Duplicate arguments are not always detected. * No test for what patch 8.2.2207 fixes. * Wildmenu redrawing code is spread out. * Bogus error when string used after :elseif. * Get E967 when using text property in quickfix window. (Sergey Vlasov) * Using freed memory when clearing augroup at more prompt. * Code is indented more than needed. * Using freed memory when executing mapclear at the more prompt. * Using freed memory when executing unmenu at the more prompt. * Using freed memory when executing delfunc at the more prompt. * Code is indented more than needed. * Using freed memory with :comclear while listing commands. * Coverity warns for dead code. * Unnecessary nesting in makefile. * Preprocessor indenting is off. * Cannot get the currently showing mouse shape. * Using freed memory after SpellFileMissing autocmd uses bwipe. * A silent mapping may cause dots on the command line. * Mouse shape remains in op-pending mode after failed change. * Informational message has an error message number. * Horizontal mouse scroll only works in the GUI. * Cannot easily try out what codes various keys produce. * Keycode check script has a few flaws. * No test for what patch 9.0.0827 fixes. * Virtual text below after match has wrong highlight. * May redraw when not needed, causing slow scrolling. * 'smoothscroll' cursor calculations wrong when 'number' is set. * Virtual text property highlight ignores window background. * File renamed twice in test; missing feature check. * Test for home key fails when 'term' is "tmux". * Clinical Quality Language files are not recognized. * With 'smoothscroll' cursor is one screen line too far down. (Ernie Rael) * The builtin terminals are in one long list. * Cursor moves too far with 'smoothscroll'. * Setting w_leftcol and handling side effects is confusing. * Some mouse scroll code is not in a good place. * Key code checker doesn't check modifyOtherKeys resource. * Various comment and indent flaws. * Virtual text after the line wraps when 'wrap' is off. * Mouse scroll code is not optimal. * Restoring window after WinScrolled may fail. * With 'smoothscroll' cursor may end up in wrong position. * Error message for layout change does not match action. * Setting lines in another buffer may not work well. * With 'smoothscroll' set mouse click position may be wrong. * libvterm with modifyOtherKeys level 2 does not match xterm. * Only a change in the current window triggers the WinScrolled event. * deletebufline() may move marks in the wrong window. * WinScrolled may trigger immediately when defined. * getbufline() is inefficient for getting a single line. * The WinScrolled autocommand event is not enough. * MS-Windows: modifier keys do not work with mouse scroll events. * Build failure with tiny features. * Cannot find an import prefixed with "s:". (Doug Kearns) * Missing defined(PROTO) in #ifdef. * Mermaid files are not recognized. * Second SIGWINCH signal may be ignored. * Mon Oct 24 2022 Ondřej Súkup - Updated to version 9.0.0814, fixes the following problems * Kitty terminal is not recognized. * GUI mouse scrollwheel mappings don't work. * Error if :echowin is preceded by a command modifier * readblob() returns empty when trying to read too much * Test for job writing to buffer fails * sonnet filetype detection has a typo * With 'smoothscroll' typing "0" may not go to the first column * 'langmap' works differently when there are modifiers * Filetype autocmd may cause freed memory access * Crash when trying to divice the largest negative number by -1 * readblob() cannot read from character device. * The modifyOtherKeys flag is set when it should not. * In compiled function ->() on next line not recognized * Clang format configuration files are not recognized. * Order of assert function arguments is reverted. * readblob() always reads the whole file. * At the hit-Enter prompt the End and Home keys may not work. * Dummy buffer ends up in a window * User command does not get number from :tab modifier * Memory leak with empty shell command * ":!" doesn't do anything but does update the previous command. * OpenVPN files are not recognized. * 'scroll' value computed in unexpected location * The libvterm code is outdated. * Quickfix commands may keep memory allocated. * With a Visual block a put command column may go negative. * Indent and option tests fail. * Cannot use 'indentexpr' for Lisp indenting. * Display test for 'listchars' "precedes" fails * Line number not visisble with smoothscroll'', 'nu' and 'rnu' * No autocmd event for changing text in a terminal window * 'scrolloff' does not work well with 'smoothscroll'. * Crash when popup closed in callback * Alloc/free of buffer for each quickfix entry is inefficient * Wrong cursor position when using "gj" and "gk" in a long line. * In script in autoload dir exported variable is not found. * Thu Oct 13 2022 Ondřej Súkup - Updated to version 9.0.0743, fixes the following problems * Virtual text "after" not correct with 'nowrap'. * Quitting/unloading/hiding a terminal buffer does not always work properly. * SubStation Alpha files are not recognized. * Wrong column when calling setcursorcharpos() with zero lnum. * of MenuPopup event is expanded like a file name. * With 'nowrap' two virtual text below not displayed correctly. * Wrong argument for append() gives two error messages. * With 'nowrap' virtual text "after" does not scroll left. * Compiler warning for unused variable in tiny build. * Extra empty line between two virtual text "below" when 'wrap' and 'number' are set. * Too many delete() calls in tests. * Virtual text "above" with padding not displayed correctly. * Virtual text "after" does not show with 'list' set. * Extra empty line below virtual text when 'list' is set. * Closure in compiled function gets same variable in block. * Virtual text "after" wraps to next line even when 'wrap' is off and 'list' is set. * Looping over list of lists and changing the list contents works in Vim9 script, not in a compiled function. * Help in the repository differs from patched version too much. * extend() test fails. * The rightleft and arabic features are disabled. * Startup test fails with right-left feature. * clang-tidy configuration files are not recognized. * No check for white space before and after "=<<". (Doug Kearns) * Use of strftime() is not safe. * Cursor position invalid when scrolling with 'smoothscroll' set. (Ernie Rael) * Breakindent and scrolloff tests fail. * Quickfix listing does not handle very long messages. * Lisp word only recognized when a space follows. * Cannot suppress completion "scanning" messages. * Mouse column not correctly used for popup_setpos. * prop_add_list() gives multiple errors for invalid argument. * Cannot specify an ID for each item with prop_add_list(). (Sergey Vlasov) * Starting cscope on Unix does not quote the arguments correctly. (Gary Johnson) * Sun Oct 9 2022 Ondřej Súkup - Updated to version 9.0.0709, fixes the following problems * Too many delete() calls in tests. * "const" and "final" both make the type a constant. (Daniel Steinberg) * Coverity warns for not checking return value. * Get an error for using const only when executing. * In Vim9 script a numbered function cannot be called. * Too many delete() calls in tests. * Calling a function from an "expr" option has too much overhead. * FEAT_TITLE was removed but is still used. * Evaluating "expr" options has more overhead than needed. * Build error and compiler warnings. * Underline color does not work in terminals that don't send a termresponse. * Syntax of commands in Vim9 script depends on +eval feature. * Popup menu highlight wrong on top of preview popup. (Yegappan Lakshmanan) * Checking for popup in screen_char() is too late, the attribute has already been changed. * Cannot scroll by screen line if a line wraps. * Missing part of the new option code. * Breakindent test fails. * Smoothscroll test fails. * 'smoothscroll' is not copied to a new window on :split. * CTRL-Y does not stop at line 1. (John Marriott) * with 'smoothscroll' set CTRL-E does not work properly when 'foldmethod' is set to "indent". (Yee Cheng Chin) * The 'splitscroll' option is not a good name. * When using powershell input redirection does not work. * No indication when the first line is broken for 'smoothscroll'. * Some tests are failing. * Build fails without the +conceal feature. * 'smoothscroll' not tested with 'number' and "n" in 'cpo'. * BS and DEL do not work properly in an interacive shell. (Gary Johnson) * Breakindent test fails. * passing modifier codes to a shell running in the GUI. (Gary Johnson) * Cannot specify another character to use instead of '@' at the end of the window. * Too many #ifdefs. * Wrong type of comment in SetSyn() function. * Mapping with CTRL keys does not work in the GUI. * Multi-byte "lastline" item in 'fillchars' does not work properly when the window is two columns wide. * Concealed characters do not work correctly. * Tests check for +cmdwin feature which is always present. * Bad redrawing with spell checking, using "C" and "$" in 'cpo'. * Setting 'cmdheight' has no effect if last window was resized. * Spacing-combining characters handled as composing, causing text to take more space than expected. * ml_get error when 'splitkeep' is "screen". (Marius Gedminas) * Too many delete() calls in tests. * No space for command line when there is a tabline. * Negative topline using CTRL-Y with 'smoothscroll' and 'diff'. (Ernie Rael) * Cursor line only partly shows with 'smoothscroll' and 'scrolloff' zero. * First line not scrolled properly with 'smoothscroll' and 'scrolloff' zero and using "k". * Search test screendump is outdated. * Breakindent test accepts wrong result. * Using exclamation marks on :function. * Tests failing with 'smoothscroll', 'number' and "n" in 'cpo'. * Tests failing with 'breakindent', 'number' and "n" in 'cpo'. * "<<<" shows for 'smoothscroll' even when 'showbreak is set. * Crash when popup with deleted timer is closed. (Igbanam Ogbuluijah) * Cannot specify a time for :echowindow. * FORTIFY_SOURCE causes a crash in Vim9 script. * "export def" does not work in a nested block. * Debugger does not display the whole command. * Compiler warning for unused function. * Buffer size for expanding tab not correctly computed. * lalloc(0) error in listchars test. * PoE filter files are not recognized. * browse() first argument cannot be a bool. * No native sound support on Mac OS. * Failing check for dictionary type for const any. * It is unclear if the +rightleft and +arabic features are actively being used. * Cursor in wrong position with Visual substitute. * VisVim is outdated, does not work with current Visual Studio. * Tiny build fails. * There is no real need for a "big" build. * With 'smoothscroll' the cursor position s not adjusted in a long line. * Incomplete testing cursor position after change with 'linebreak' set. * Failing check for argument type for const any. * CI runs "tiny" and "small" builds, which are the same. * Virtual text truncation does not take padding into account. * :help in a narrow window always opens at the top. * With 'smoothscroll' and 'scrolloff' non-zero the cursor position is not properly adjusted in a long line. * :confirm does not work properly for a terminal buffer. * Virtual text "after" not correct with 'nowrap'. * Fri Sep 30 2022 Ondřej Súkup - Updated to version 9.0.0626, fixes the following problems - fix boo#1203924 - CVE-2022-3352 * Error for modifying a const is not detected at compile time. * Leaking argument type array. * Too many delete() calls in tests. * When quitting the cmdline window with CTRL-C it remains visible. * Warning for using uninitialized value in mouse test. * A closure in a nested loop in a :def function does not work. * Build failure. * Various problems with 'nosplitscroll'. * Line number argument for :badd does not work. * Command line cleared when using :redrawstatus in CmdlineChanged autocommand event. * When the channel test fails there is no clue why. * Confusing error for "saveas" command with "nofile" buffer. * Chatito files are not recognized. * Unnecessary scrolling for message of only one line. * Cannot redraw the status lines when editing a command. * May not be able to use a pattern ad the debug prompt. * Terminal test sometimes hangs. * Virtual text highlight starts too early when 'number' is set. * Virtual text "above" highlights gap after it. * When at the command line :redrawstatus does not work well. * Virtual text highlight starts too early with 'nowrap' and 'number' set. * The win_line() function is much too long. * Declaring a loop variable at the start of a block is clumsy. * Compiler warns for unused argument in small version. * Build fails on Appveyor. * more compiler warnings for arguments in small version * Manually deleting temp test files. * Long sign text may overflow buffer. * Appveyor setup contains outdated lines. * Using freed memory when autocmd changes mark. * The win_line() function is much too long. * Edit test is flaky when run under valgrind. * The win_line() function is much too long. * Line number is displayed at virtual text "above". * Closure gets wrong value in for loop with two loop variables. * The do_set() function is much too long. * Manually deleting test temp files. * Long message test can be flaky. * Assigning stack variable to argument confuses Coverity. * Terminal pwd test fails with a very long path name. * Insufficient testing for assert and test functions. * Minor issues with setting a string option. * When a test is slow and CI times out there is no time info. * Supporting Ruby 1.8 makes code complicated. * Looping over empty out_loop[] entries. * reduce() with a compiled lambda could be faster. * Duplicated code in calling a :def function. * Crash when closing a tabpage and buffer is NULL. * Mode message is delayed when :echowin was used. (Maxim Kim) * Crash when using NUL in buffer that uses :source. * No error for "|" after "{" in lamda. * Using freed memory when command follows lambda. * Scrolling with 'nosplitscroll' in callback changing curwin. * Leaking memory with nested functions. * Valgrind reports possibly leaked memory. * Coverity warns for possibly using NULL pointer. * Timer test may get stuck at hit-enter prompt. * Elapsed time since testing started is not visible. * When a test gets stuck it just hangs forever. * HSL playlist files are not recognized. * Timer_info() test fails. * Cscope test causes problems when code for test timeout timer is included (even when commented out). * Nim files are not recognized. * 'completeopt' "longest" is not used for complete(). * Autocmd code is indented more than needed. * Cannot easily get out when using "vim file | grep word". * Insert complete tests leave a mapping behind. * Outdated dependencies go unnoticed. * Timer garbage collect test hangs on Mac M1. * The getchar() function behaves strangely with bracketed paste. * Unused loop variables. * Buffer underflow with unexpected :finally. * Using freed memory when 'tagfunc' wipes out buffer that holds 'complete'. * Adding a character for incsearch fails at end of line. * Only recognizing .m3u8 files is inconsistent. * Cscope test with wrong executable name fails. * When long message test fails the error message is not visible. * Missing change in test. * Unicode tables are outdated. * After exiting Insert mode spelling is not checked in the next line. * Message window popup shows on only one tab page. (Naruhiko Nishino) * Display not cleared when scrolling back in messages, a background color is set and t_ut is empty. * Makefile error message causes a shell error. * Extra newline in messages after a verbose shell message. * Cannot close a tab page with the middle mouse button. * Using negative array index with negative width window. * Latexmkrc files are not recognized. * GYP files are not recognized. * Too much indent. * New TypeScript extensions are not recognized. * With 'nosplitscroll' folds are not handled correctly. * Luacheckrc file is not recognized. * Dump file missing. * system() opens a terminal window when using the GUI and "!" is in 'guioptions'. * With spell checking, deleting a full stop at the end of a line does not update SpellCap at the start of the next line. * Blockedit test fails because of wrong indent. * Global interrupt test fails when run under valgrind. * Tests delete files with a separate delete() call. * Blockedit test passes with wrong result. * Running source tests leaves file behind. * SpellFileMissing autocmd may delete buffer. * Using reduce() on a list from range() is a bit slow. * Spell test fails because error message changed. * Calling function for reduce() has too much overhead. * Too many delete() calls in tests. * matchaddpos() can get slow when adding many matches. * Filetype test leaves file behind. * matchaddpos() can only add up to 8 matches. * Mon Sep 19 2022 Ondřej Súkup - Updated to version 9.0.0500, fixes the following problems - boo#1203508 - CVE-2022-3234 - boo#1203509 - CVE-2022-3235 * On an AZERTY keyboard digit keys get the shift modifier. * Incorrect color for modeless selection with GTK. * A few problems with 'splitscroll'. * Function called at debug prompt is also debugged. * Substitute prompt does not highlight an empty match. * Splitting a line with a text prop "above" moves it to a new line below. * Vim9: block in for loop doesn't behave like a code block. * Loop variable can't be found. * 'scroll' is not always updated. * ASAN warning for integer overflow. * Command line test leaves directory behind. * With virtual text "above" indenting doesn't work well. * Cursor moves when cmdwin is closed when 'splitscroll' is off. * Virtual text wrong after adding line break after line. * Build failure. * Exectution stack underflow without the +eval feature. (Dominique Pellé) * Cursor moves if cmdwin is closed when 'splitscroll' is off. * In a :def function all closures in a loop get the same variables. * No test for what patch 9.0.0469 fixes. * Virtual text "below" doesn't show in list mode. * fullcommand() only works for the current script version. * fullcommand() test failure. * Not using deferred delete in tests. * Varargs does not work for replacement function of substitute(). * Missing dependency may cause crashes on incomplete build. * Test for 'splitscroll' takes too much time. * Valva Date Format files are not recognized. * Cannot use a :def varargs function with substitute(). * In a :def function all closures in a loop get the same variables. * "g0" moves to wrong location with virtual text "above". * Illegal memory access when replacing in virtualedit mode. * In a :def function all closures in a loop get the same variables. * Text scrolled with 'nosplitscroll', autocmd win opened and help window closed. * Using freed memory with combination of closures. * Cursor in wrong position with virtual text "above" and 'showbreak'. * Using "end_lnum" with virtual text causes problems. * Using freed memory with cmdwin and BufEnter autocmd. * No good reason to build without the float feature. * Cmdwin test fails on MS-Windows. * Perl test fails. * Small build misses float function declaraitons. * Closure doesn't work properly in nested loop. * No good reason to keep supporting Windows-XP. * LyRiCs files are not recognized. * Various small issues. * In :def function list created after const is locked. * When quitting the cmdline window with CTRL-C it remains visible. * Tue Sep 13 2022 Ondřej Súkup - Updated to version 9.0.0453, fixes the following problems - boo#1203272 - CVE-2022-3153 - boo#1203194 - CVE-2022-3134 - boo#1203110 - CVE-2022-3099 * Writefile test leaves files behind. * Freeing the wrong string on failure. * Coverity complains about unused value. * Covertity still complains about using return value of getc(). * GUI: when CTRL-D is mapped in Insert mode it gets inserted. (Yasuhiro Matsumoto) * Some code blocks are nested too deep. * repeating a mapping does not use the right script context. * The do_arg_all() function is too long. * Crash when 'tagfunc' closes the window. * Cannot use a partial with :defer. * Using separate delete() call instead of writefile() 'D' flag. * Inverted condition is a bit confusing. * Signals test often fails on FreeBSD. * Cygwin: multibyte characters may be broken in terminal window. * Clang warnings for function prototypes. * :findrepl does not escape '&' and '~' properly. * :defer not tested with exceptions and ":qa!". * Members of funccall_T are inconsistently named. * Using :defer in expression funcref not tested. * GUI test sometimes hangs on CI. * CI uses older clang version. * Javascript module files are not recoginzed. * 'equalalways' may be off when 'laststatus' is zero. * Crash when passing invalid arguments to assert_fails(). * Arguments in a partial not used by a :def function. * Deferred functions not invoked when partial func exits. * matchstr() does match column offset. (Yasuhiro Matsumoto) * GUI test sometimes fails on MS-Windows. * #{g:x} was seen as a curly-braces expression. * Struct member cts_lnum is unused. * Only created files can be cleaned up with one call. * Compiler warning for unused argument. * ASAN reports a memory leak. * matchstr() still does not match column offset when done after a text search. * ml_get error when appending lines in popup window. * Jsonnet files are not recognized. * Manually deleting temp test files. * The :defer command does not check the function argument count and types. * Function went missing. * Not enough testing of the :all command. * "for" and "while" not recognized after :vim9cmd and :legacy. (Emanuele Torre) * gitattributes files are not recognized. * Autocmd test is a bit flaky on MS-Windows. * Failed flaky tests report only start time. * Drupal theme files are not recognized. * Autocmd test uses common file name. * Not all keys are tested for the MS-Windows GUI. * Cannot use repeat() with a blob. * Current mode shows in message window. * Crash when using for loop variable in closure. * Coverity warns for not checking allocation failure. * gitignore files are not recognized. * Compiler warning for uninitialized variable. * CI: running tests in parallel causes flakiness. * No error when a custom completion function returns something else than the expected list. * Cannot put virtual text above a line. * Cursor wrong if inserting before line with virtual text above. * Crash when using mkdir() with "R" flag in compiled function. * Closure in for loop test fails on some systems. * Virtual text "above" doesn't handel line numbers. * Blueprint files are not recognized. * Trying to declare g:variable gives confusing error. * When opening/closing window text moves up/down. * Message window may be positioned too low. * Using :echowin while at the hit-enter prompt causes problems. * SubRip files are not recognized. * There is no easy way to translate a string with a key code into a readable string. * Return value of argument check functions is inconsistent. * Virtual text "above" does not work with 'nowrap'. * Visual highlighting extends into virtual text prop. * On an AZERTY keyboard digit keys get the shift modifier. * Mon Sep 5 2022 Ondřej Súkup - Updated to version 9.0.0381, fixes the following problems - boo#1202962 - CVE-2022-3037 * Using common name in tests leads to flaky tests. * VDM files are not recognized. * Shell command is displayed in message window. * Screen flickers when 'cmdheight' is zero. * When updating the whole screen a popup may not be redrawn. * Clearing screen causes flicker. * Godot shader files are not recognized. * Command line type of CmdlineChange differs from getcmdtype(). * Cannot use the message popup window directly. * Crash when no errors and 'quickfixtextfunc' is set. * Using common name in tests leads to flaky tests. * Some changes for cmdheight=0 are not needed. * items() does not work on a list. (Sergey Vlasov) * OLD_DIGRAPHS is unused. * ":highlight" hangs when 'cmdheight' is zero. * Method tests fail. * Cannot use items() on a string. * Overwrite check may block BufWriteCmd. * Method test fails. * Test does not properly clean up. * Checks for Dictionary argument often give a vague error message. * Tests are flaky because of using a common file name. * Flicker when resetting cmdline_row after updating the screen. * Return value of list_append_list() not always checked. * No check if the return value of XChangeGC() is NULL. * The 'cmdheight' zero support causes too much trouble. * mapset() does not restore mapping properly. * ":wincmd =" equalizes in two directions. * ColorScheme autocommand triggered when colorscheme is not found. (Romain Lafourcade) * Error message for list argument could be clearer. * :horizontal modifier not fully supported. * Filetype of *.sil files not well detected. * :echowindow does not work in a compiled function. * Message window may obscure the command line. * using :echowindow in a timer clears part of message * Missing entry in switch. * Check for uppercase char in autoload name is wrong, it checks the name of the script. * :echowindow sets the in_echowindow flag too early. * 'linebreak' interferes with text property highlight if there is syntax highlighting. * 'breakindent' does not indent non-lists with "breakindentopt=list:-1". * Error message for wrong argument type is not specific. * Crash when invalid line number on :for is ignored. * Removing a listener may result in a memory leak and remove subsequent listerns. * Expanding ":e %%" does not work for remote files. * Common names in test files causes tests to be flaky. * Clang static analyzer gives warnings. * File name used in test is unusual. * Cannot use import->Func() in lambda. (Israel Chauca Fuentes) * Coverity complains about dropping sign of character. * Old Coverity warning for using NULL pointer. * A failing flaky test doesn't mention the time. * Cleaning up afterwards can make a function messy. * Compiler warning for uninitialized variable. * Coverity warns for NULL check and unused return value. * Coverity still complains about dropping sign of character. * The footer feature is unused. * Clang warns for dead assignments. * Argument assignment does not work. * Compiler warning for uninitialized variable. (Tony Mechelynck) * Cleaning up after writefile() is a hassle. * Deleting files in tests is a hassle. * Writefile test leaves files behind. * Tue Aug 30 2022 Andreas Schwab - ignore-flaky-test-failure.patch: Ignore failure of flaky tests - disable-unreliable-tests-arch.patch: Removed * Mon Aug 29 2022 Ondřej Súkup - Updated to version 9.0.0313, fixes the following problems - boo#1202862 - CVE-2022-3016 - boo#1203155 - CVE-2022-2980 - boo#1203152 - CVE-2022-2982 - boo#1202689 - CVE-2022-2946 - boo#1202687 - CVE-2022-2923 - boo#1202599 - CVE-2022-2889 * Using NULL pointer when skipping compiled code. * Using freed memory with multiple line breaks in expression. * job_start() test may fail under valgrind. * Cannot read error message when abort() is called. * Crash when pattern looks below the last line. * Vim9: error message for missing type is not clear. * No error for comma missing in list in :def function. * Expanding "**" may loop forever with directory links. * Test with BufNewFile autocmd is flaky. * Removing multiple text properties takes many calls. * Cannot make difference between the end of :normal and a character in its argument. * 'autoshelldir' does not work with chunked respose. * Popup menu not removed when 'wildmenu' reset while it is visible. * Mac: cannot build if dispatch.h is not available. * Shift-Tab shows matches on cmdline when 'wildmenu' is off. * Build failure without the +wildmenu feature. * Crash when using ":mkspell" with an empty .dic file. * "make install" does not install shared syntax file. (James McCoy) * "make install" still fails. (Wilhelm Payne) * Text properties "below" sort differently on MS-Windows. * Cannot easily get the list of sourced scripts. * Mechanism to prevent recursive screen updating is incomplete. * Using freed memory when 'tagfunc' deletes the buffer. * Cannot add padding to virtual text without highlight. * Duplicate code in finding a script in the execution stack. * No test for what 9.0.0234 fixes. * Slightly inconsistent error messages. * Test output shows up in git. * Cursor in wrong place after virtual text. * A symlink to an autoload script results in two entries in the list of scripts, items expected in one are actually in the other. * Typo in function name. * Build failure without the eval feature. * Compiler warning for uninitialized variables. * "->" in ":scriptnames" output not tested yet. * Crash with mouse click when not initialized. * Using freed memory when using 'quickfixtextfunc' recursively. * bufload() reads a file even if the name is not a file name. (Cyker Way) * Build failure without the +quickfix feature. * Too many #ifdefs. * No good reason why the "gf" command is not in the tiny version. * Compiler warning for unused argument. * Build error without the +eval feature. * getscriptinfo() does not include the version. Cannot select entries by script name. * Some values of 'path' and 'tags' do not work in the tiny version. * Using INIT() in non-header files. * BufReadCmd not triggered when loading a "nofile" buffer. (Maxim Kim) * Konsole termresponse not recognized. * Netrw plugin does not show remote files. * BufEnter not triggered when using ":edit" in "nofile" buffer. * 'buftype' values not sufficiently tested. * Coverity CI: update-alternatives not needed with Ubuntu 20.04. * The +wildignore feature is nearly always available. * The tiny version has the popup menu but not 'wildmenu'. * The builtin termcap list depends on the version. * Build failure without the +eval feature. * A nested timout stops the previous timeout. * Cannot complete "syn list @cluster". * Using static buffer for multiple completion functions. * It is not easy to change the command line from a plugin. * Using freed memory when location list changed in autocmd. * Irix systems no longer exist. * When 'cmdheight' is zero some messages are not displayed. * Invalid memory write. * Compiler warning for variable set but not used. * Test failing. * Test causes another test to fail. * Messages window not hidden when starting a command line. * Crash when 'cmdheight' is 0 and popup_clear() used. * GUI drop files test sometimes fails. * Message in popup is shortened unnecessary. * Cursor position wrong after right aligned virtual text. (Iizuka Masashi) * Compiler warning for size_t to int conversion. * Error messages for setcmdline() could be better. * 'cpoptions' tests are flaky. * The message window popup is delayed after an error message. * CI for Coverity is bothered by deprecation warnings. * It is not easy to get information about a script. * WinScrolled is not triggered when only skipcol changes. * CI lists useless deprecation warnings. * Buffer write message is two lines in message popup window. * :echomsg doesn't work properly with cmdheight=0. * When cmdheight is zero the attention prompt doesn't show. * Invalid memory access when cmdheight is zero. * Output of :messages dissappears when cmdheight is zero. * Test for hit-Enter prompt fails. * Test for cmdheight zero fails. * Using common name in tests leads to flaky tests. * Thu Aug 18 2022 Ondřej Súkup - Updated to version 9.0.0224, fixes the following problems - boo#1202552 - CVE-2022-2874 - boo#1202512 - CVE-2022-2849 - boo#1202511 - CVE-2022-2862 - boo#1202515 - CVE-2022-2845 - boo#1202421 - CVE-2022-2816 - boo#1202420 - CVE-2022-2817 - boo#1202414 - CVE-2022-2819 * indexof() may leak memory. * Cursor in wrong position when inserting after virtual text. (Ben Jackson) * Redraw flags are not named specifically. * Stacktrace not shown when debugging. * The override flag has no effect for virtual text. (Ben Jackson) * Build error with small features. * 'list' mode does not work properly with virtual text. * Invalid memory access when compiling :lockvar. * Invalid memory access when compiling :unlet. * Using freed memory with error in assert argument. * Splitting a line may duplicate virtual text. (Ben Jackson) * Not passing APC_INDENT flag. * Undo earlier test sometimes fails on MS-Windows. * 'shellslash' works differently when sourcing a script again. * Reading before the start of the line. * Cannot make a funcref with "s:func" in a def function in legacy script. * Invalid memory access with for loop over NULL string. * Accessing freed memory if compiling nested function fails. * No good reason why text objects are only in larger builds. * Typo in diffmode test. * Sun Aug 14 2022 Ondřej Súkup - Updated to version 9.0.0203, fixes the following problems * Textprop test with line2byte() fails on MS-Windows. * Quarto files are not recognized. * Extra space after virtual text when 'linebreak' is set. * Virtual text prop highlight continues after truncation. * Virtual text does not show if tehre is a text prop at same position. (Ben Jackson) * Virtual text without highlighting does not show. (Ben Jackson) * Command line height changes when maximizing window height. * Strange effects when using virtual text with "text_align" and non-zero column. (Martin Tournoij) * Invalid memory access for text prop without highlight. * The way 'cmdheight' can be made zero is inconsistent. * Messages test fails; window size incorrect when 'cmdheight' is made smaller. * Possible invalid memory access when 'cmdheight' is zero. (Martin Tournoij) * Search and match highlgith interfere with virtual text highlight. (Ben Jackson) * Cursor displayed in wrong position after removing text prop. (Ben Jackson) * Metafun files are not recogized. * Finding value in list may require a for loop. * Astro files are not detected. * ml_get error when switching buffer in Visual mode. * Cursor position wrong with two right-aligned virtual texts. * cursor in a wrong positoin if 'wrap' is off and using two right aligned text props in one line. * CursorLine highlight overrules virtual text highlight. * Code and help for indexof() is not ideal. * Confusing variable name. * Wed Aug 10 2022 Ondřej Súkup - Updated to version 9.0.0181, fixes the following problems * Comment about tabpage line above the wrong code. * After CTRL-Left-mouse click a mouse scroll also has CTRL. * Debugger test may fail when $CWD is very long. * Not enough characters accepted for 'spellfile'. * Truncating virtual text after a line not implemented. Cursor positioning wrong with Newline in the text. * execute() does not use the "legacy" command modifier. * "delmenu" does not remove autocmmands. Running menu test function alone fails. * Crash when adding and removing virtual text. (Ben Jackson) * Cursor positioned after virtual text in empty line. * Text property cannot override 'cursorline' highlight. * Substitute that joins lines drops text properties. * Missing part of change for "override" flag. * Cursor positioned wrong after two text properties with virtual text and "below" alignment. (Tim Pope) * A "below" aligned text property gets 'showbreak' displayed. * Test for fuzzy completion fails sometimes. * Error for using #{ in an expression is a bit confusing. * A "below" aligned text property does not work with 'nowrap'. * Warning for unused argument in small build. * No fold and sign column for virtual text with "below" align and 'nowrap'. * Text properties wrong after splitting a line. * Text properties with "right" and "after" alignment displayed wrong with 'nowrap'. * Giving E1170 only in an expression is confusing. * 'showbreak' displayed below truncated "after" text prop. * With 'nowrap' "below" property not displayed correctly. * Cannot build with small features. * Some diff mode tests fail. * Warning for uninitialized variable. (Tony Mechelynck) * Text property "below" gets indent if 'breakindent' is set. (Tim Pope) * Text property not adjusted for text inserted with "p". * Using freed memory with put command. * Looking up a text property type by ID is slow. * When using text properties the line text length is computed twice. * Checking for text properties could be a bit more efficient. * Cursor positioned wrong with two virtual text properties close together. (Ben Jackson) * Insufficient testing for line2byte() with text properties. * Various minor code formatting issues. * Quickfix line highlight is overruled by 'cursorline'. * Trying to allocate zero bytes. * Assert fails only on MS-Windows. * No error for using "#{ comment" in a compiled function. * Spell checking for capital not working with trailing space. * Checking character options is duplicated and incomplete. * Cursor position wrong with 'virtualedit' and mouse click after end of the line. (Hermann Mayer) * Cursor position wrong with virtual text before Tab. * Cursor position wrong with wrapping virtual text in empty line. * Stray logfile appears when running tests. * Wed Aug 3 2022 Ondřej Súkup - Updated to version 9.0.0135, fixes the following problems - boo#1202046 - CVE-2022-2571 - boo#1202049 - CVE-2022-2580 - boo#1202050 - CVE-2022-2581 - boo#1202051 - CVE-2022-2598 * Coverity warns for double free. * Some compilers warn for using an uninitialized variable. (Tony Mechelynck) * No test for what patch 8.1.1424 fixes. * When switching window in autocmd the restored cursor position may be wrong. * Star register is changed when deleting and both "unnamed" and "unnamedplus" are in 'clipboard'. * Error in autoload script not reported for 'foldexpr'. * Compiler warning for size_t to int conversion. * Command line completion of user command may have duplicates. (Dani Dickstein) * Cannot interrupt global command from command line. * ModeChanged event not triggered when leaving the cmdline window. * Using "terraform" filetype for .tfvars file is bad. * ":write" fails after ":file name" and then ":edit". * Tabline is not redrawn when entering command line. * MS-Windows: CTRL-[ on Belgian keyboard does not work like Esc. * Pattern for detecting bitbake files is not sufficient. * Fuzzy argument completion doesn't work for shell commands. * No error when assigning bool to a string option with setwinvar(). * Duplicate error number. * Plugins cannot change v:completed_item. * Sway config files are recognized as i3config. * Cursor restored unexpected with nested autocommand. * Conditions are always true. * Flag "new_value_alloced" is always true. * Long quickfix line is truncated for :clist. * missing include file in timer_create configure check. * Scrollback can be wrong after redrawing the command line. * Get hit-enter prompt for system() when '!' is in 'guioptions'. * Invalid memory access in diff mode with "dp" and undo. * Reading past end of line with insert mode completion. * If running configure with cached results -lrt may be missing. * Illegal memory access when pattern starts with illegal byte. * Illegal byte regexp test doesn't fail when fix is reversed. * Condition always has the same value. * Configure check for timer_create may give wrong error. * Writing over the end of a buffer on stack when making list of spell suggestions. * Help tag generation picks up words in code examples. * "nocombine" is missing from synIDattr(). * has() is not strict about parsing the patch version. * The command line takes up space even when not used. * When 'cmdheight' is zero pressing ':' may scroll a window. * Virtual text not displayed if 'signcolumn' is "yes". * Text of removed textprop with text is not freed. * No test for what patch 9.0.0155 fixes. * Tiny chance that creating a backup file fails. * Cannot put virtual text after or below a line. * Breakindent test fails. * Cannot build with small features. * Code has more indent than needed. * Cursor positioned wrong with virtual text after the line. * Expanding file names fails in directory with more than 255 entries. * Unused variable. * Coverity complains about possible double free. * Compiler warning for int/size_t usage. * Cursor position wrong when inserting around virtual text. * Virtual text with Tab is not displayed correctly. * Multi-byte characters in virtual text not handled correctly. * Virtual text after line moves to joined line. (Yegappan Lakshmanan) * No test for text property with column zero. * Tue Jul 26 2022 Ondřej Súkup - Updated to version 9.0.0073, fixes the following problems - CVE-2022-2522 - boo#1201863 - CVE-2022-2345 - boo#1201363 - CVE-2022-2343 - boo#1201356 - CVE-2022-2344 - boo#1201359 * In the quickfix window 'cursorline' overrules QuickFixLine highlighting. * On a Belgian keyboard CTRL-[ does not work. * Spell tests do not always clear the word list. * Spell dump may go beyond end of an array. * 'fillchars' cannot have window-local values. * 'listchars' test fails. * Not all systems have GDK_KEY_dead_circumflex. (Hisashi T Fujinaka) * Use of set_chars_option() is confusing. * A couple of filetype patterns do not have "*" before "/etc". * Missing change for filetype detection. * Insufficient testing for bracket commands. * Typos in comments, wrapping lines. * Reading past end of completion with a long line and 'infercase' set. * Reading past end of completion with duplicate match. * Using freed memory with recursive substitute. * Cursor in wrong column with mouse click after concealed text. * Csv and tsv files are not recognized. * Split else-if is confusing. * Using CTRL-C wih :append may hang Vim. * "zG" may throw an error if invalid character follows. * E1281 not tested with the old regexp engine. * Compiler warning for size_t to int conversion. * Bitbake files are not detected. * Wrong line number reported when :cexpr fails in :def function. * has('patch-xxx') returns true. * Test file has wrong name. * Accessing uninitialized memory when completing long line. * ml_get error with nested autocommand. * Compiler warnings for signed/unsigned char. * Too many type casts for dict_get functions. * Confusing error when using "q:" in command line window. * Cross-compiling doesn't work because of timer_create check. * Switching window uneccarily when getting buffer options. * Cannot show virtual text. * Build fails with tiny features. * Leaking memory when using text prop with inserted text. * Using utfc_ptr2char_len() when length is negative. * Command overlaps with printed text in scrollback. * Compiler warning for uninitialized variable. * Too many files recognized as bsdl. * Mon Jul 4 2022 Ondřej Súkup - Updated to version 9.0.0032, fixes the following problems - fix CVE-2022-2285 - boo#1201134 - fix CVE-2022-2257 - boo#1201154 * Map functionality outside of map.c. * Functions are global while they could be local. * Plural messages not translated properly. * Hare files are not recognized. * Not all Visual Basic files are recognized. * No support for double, dotted and dashed underlines. * Cannot specify the variable name for "xxd -i". * Going past the end of a menu item with only modifier. * Returning 0 for has('patch-9.0.0') is inconsistent. * Reading beyond the end of the line with put command. * Signature files not detected properly. * Reproducing memory access errors can be difficult. * Missing part of the test override change. * With EXITFREE defined terminal menus are not cleared. * Comparing line pointer for 'breakindent' is not reliable. * Accessing memory beyond the end of the line. * Going over the end of the typahead. * Timers test not run where possible. * With some completion reading past end of string. * Invalid memory access when adding word with a control character to the internal spell word list. * Spell test fails. * On Solaris timer_create() exists but does not work. * May access part of typeahead buf that isn't filled. * Accessing beyond allocated memory when using the cmdline window in Ex mode. * Accessing freed memory with diff put. * The command line test is getting quite big. * The bitmaps/vim.ico file is not in the distribution. * Matchfuzzy test depends on path of current directory. * of user command does not have correct verbose value. * In the quickfix window 'cursorline' overrules QuickFixLine highlighting. * Tue Jun 28 2022 Ondřej Súkup - Updated to version 9.0.0000, fixes the following problems - CVE-2022-2304 - boo#1201249 - CVE-2022-2289 - boo#1201139 - CVE-2022-2288 - boo#1201137 - CVE-2022-2287 - boo#1201136 - CVE-2022-2286 - boo#1201135 - CVE-2022-2284 - boo#1201133 - CVE-2022-2264 - boo#1201132 - CVE-2022-2231 - boo#1201150 - CVE-2022-2210 - boo#1201151 - CVE-2022-2207 - boo#1201153 - CVE-2022-2208 - boo#1201152 - CVE-2022-2206 - boo#1201155 * Reading beyond the end of the line with lisp indenting. * search() gets stuck with "c" and skip evaluates to true. * "make uninstall" does not remove colors/lists. * Still mentioning version8, some cosmetic issues. * In diff mode windows may get out of sync. (Gary Johnson) * TSTP and INT signal tests are not run with valgrind. * Fix for CTRL-key combinations causes more problems than it solves. * Accessing invalid memory after changing terminal size. * Might still access invalid memory. * Reading before the start of the line with BS in Replace mode. * Crash when deleting buffers in diff mode. * Invalid memory access after diff buffer manipulations. * Import test fails because 'diffexpr' isn't reset. * Test for DiffUpdated fails. * get(Fn, 'name') on funcref returns special byte code. * Cannot build with Python 3.11. * Nested :source may use NULL pointer. * Dependencies and proto files are outdated. * "make menu" still uses legacy script. * Fri Jun 24 2022 Ondřej Súkup - Updated to version 8.2.5154, fixes the following problems - fixed boo#1200184 - CVE-2022-2175 - boo#1200904 - CVE-2022-2182 - boo#1200903 - CVE-2022-2183 - boo#1200902 * Debugger test fails when run with valgrind. * Cannot build without the +channel feature. (Dominique Pellé) * Various small issues. * TIME_WITH_SYS_TIME is no longer supported by autoconf. * Seachpair timeout test is flaky. * Using "volatile int" in a signal handler might be wrong. * Startup test fails if there is a status bar at the top of the screen. (Ernie Rael) * Some tests fail when using valgrind. Spurious leak reports. * With 'lazyredraw' set completion menu may be displayed wrong. * Exit test causes spurious valgrind reports. * Memory leak when substitute expression nests. * Flaky test always fails on retry. * Invalid memory access when using an expression on the command line. * Cannot build without the +eval feature. (Tony Mechelynck) * Read past the end of the first line with ":0;'{". * Reading beyond the end of the line with lisp indenting. * search() gets stuck with "c" and skip evaluates to true. * "make uninstall" does not remove colors/lists. * Still mentioning version8, some cosmetic issues. * Mon Jun 20 2022 Ondřej Súkup - Updated to version 8.2.5136, fixes the following problems - CVE-2022-2129 - boo#1200701 - CVE-2022-2124 - boo#1200697 - CVE-2022-2125 - boo#1200698 - CVE-2022-2126 - boo#1200700 * Autocmd test still fails on MS-Windows. * When the GUI shows a dialog tests get stuck. * Gcc gives warning for signed/unsigned difference. * CI runs on Windows 2019. * Cannot build with clang on MS-Windows. * Value of cmod_verbose is a bit complicated to use. * Some functions return a different value on failure. * Terminal test fails with some shell commands. * Using "'<,'>" in Ex mode may compare unrelated pointers. * Error message for unknown command may mention the command twice. (Malcolm Rowe) * Terminal test still fails with some shell commands. * Using uninitialized memory when using 'listchars'. * Spelldump test sometimes hangs. * Some terminal tests are not retried. * Memory usage tests are not retried. * MS-Windows with MinGW: $CC may be "cc" instead of "gcc". * Interrupt not caught in test. * Build fails with small features. * Default cmdwin mappings are re-mappable. * Some callers of rettv_list_alloc() check for not OK. (Christ van Willegen) * Retab test disabled because it hangs on MS-Windows. * Mode not updated after CTRL-O CTRL-C in Insert mode. * Icon filetype not recognized from the first line. * No test for --gui-dialog-file. * Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel Dupras) * Time limit on searchpair() does not work properly. * Search timeout is overrun with some patterns. * "limit" option of matchfuzzy() not always respected. * Crash when calling a Lua callback from a :def function. (Bohdan Makohin) * Searching for quotes may go over the end of the line. * Interrupt test sometimes fails. * Lisp indenting my run over the end of the line. * Using invalid index when looking for spell suggestions. * When syntax timeout test fails it does not show the time. * Substitute may overrun destination buffer. * Using assert_true() does not show value on failure. * Syntax highlighting disabled when using synID() in searchpair() skip expression and it times out. (Jaehwang Jung) * Timeout handling is not optimal. * Edit test for mode message fails when using valgrind. * Timeout implementation is not optimal. * :mkview test doesn't test much. * Function has confusing name. * Running configure gives warnings for main() return type. * Mon Jun 13 2022 Ondřej Súkup - Updated to version 8.2.5083, fixes the following problems - CVE-2022-2042 - boo#1200471 - CVE-2022-2000 - boo#1200405 - CVE-2022-1968 - boo#1200270 - CVE-2022-1942 - boo#1200125 * A finished terminal in a popup window does not show a scrollbar. * Confusing error if first argument of popup_create() is wrong. * Scrollbar thumb in scrolled popup not visible. * Cannot close a terminal popup with "NONE" job. * Scrollbar thumb in tall scrolled popup not visible. * Can open a cmdline window from a substitute expression. * Command line test fails. * Can escape a terminal popup window when the job is finished. * vim_regsub() can overwrite the destination. * CurSearch highlight is often wrong. * When using XIM the gui test may fail. * Insufficient tests for autocommands. * Using freed memory when searching for pattern in path. * Check for autocmd_add() event argument is confusing. * CI checkout step title is a bit cryptic. * Cannot have a comment halfway an expression in an autocmd command block. * No good filetype for conf files similar to dosini. * Statusline is not updated when terminal title changes. * The channel log only contains some of the raw terminal output. * Using gettimeofday() for timeout is very inefficient. * input() does not handle composing characters properly. * Autoconf 2.71 produces many obsolete warnings. * Running configure fails. * C89 requires signal handlers to return void. * Coverity warns for dead code. * Error for a command may go over the end of IObuff. * No test for what 8.1.0052 fixes. * Wrong return type for main() in tee.c. * Can specify multispace listchars only for whole line. * Timer_create is not available on every Mac system. (Hisashi T Fujinaka) * Gcc 12.1 warning when building tee. * Unnecessary code. * With some Mac OS version clockid_t is redefined. * Using uninitialized value and freed memory in spell command. * Clang on MS-Windows produces warnings. * Spell test fails on MS-Windows. * Clang gives an out of bounds warning. * Unnecessary code. * Various warnings from clang on MS-Windows. * Substitute test has a one second delay. * DirChanged autocommand may use freed memory. (Shane-XB Qian) * When indenting gets out of hand it is hard to stop. * Retab test fails. * Sun May 29 2022 Ondřej Súkup - Updated to version 8.2.5038, fixes the following problems - CVE-2022-1927 - boo#1200012 - CVE-2022-1897 - boo#1200010 - CVE-2022-1898 - boo#1200011 - CVE-2022-1886 - boo#1199969 - CVE-2022-1851 - boo#1199936 - CVE-2022-1796 - boo#1199747 - CVE-2022-1785 - boo#1199745 - CVE-2022-1771 - boo#1199693 - CVE-2022-1733 - boo#1199655 - CVE-2022-1769 - boo#1199658 - CVE-2022-1735 - boo#1199651 - CVE-2022-1720 - boo#1200732 - CVE-2022-1674 - boo#1199502 - CVE-2022-1621 - boo#1199435 - CVE-2022-1629 - boo#1199436 - CVE-2022-1619 - boo#1199333 - CVE-2022-1620 - boo#1199334 - CVE-2022-1616 - boo#1199331 * Valgrind warning for using uninitialized variable. * Screendump test may fail when using valgrind. * Vim9: misplaced elseif causes invalid memory access. * "P" in Visual mode still changes some registers. * Cannot make 'breakindent' use a specific column. * String interpolation only works in heredoc. * Test fails without the job/channel feature. (Dominique Pellé) * Test fails with the job/channel feature. * Vim9: redir in skipped block seen as assignment. * Channel log does not show invoking a timer callback. * Line number of lambda ignores line continuation. * Inconsistent capitalization in error messages. * Vim help presentation could be better. * Test failures because of changed error messages. * Distributed import files are not installed. * Buffer overflow with invalid command with composing chars. * Expression in command block does not look after NL when command is typed. * Comment inside an expression in lambda ignores the rest of the expression. * Coverity complains about pointer usage. * With latin1 encoding CTRL-W might go before the start of the command line. * Vim9 expression test fails without the job feature. * NULL pointer access when using invalid pattern. * Mouse wheel scrolling is inconsistent. * Cannot get the current cmdline completion type and position. * codecov includes MS-Windows install files. * codecov includes MS-Windows install header file. * Some users do not want a line comment always inserted. * No text formatting for // comment after a statement. * MODE_ enum entries names are too generic. * Imperfect coding. * The mode #defines are not clearly named. * Using execute() to define a lambda doesn't work. (Ernie Rael) * Popup_hide() does not always have effect. * String interpolation in :def function may fail. * Sometimes the cursor is in the wrong position. * Mouse in Insert mode test fails. * Fuzzy expansion of option names is not right. * Conceal character from matchadd() displayed too many times. * Can add invalid bytes with :spellgood. * Spell test fails because of new illegal byte check. * Mouse test fails on MS-Windows. * Test checks for terminal feature unnecessarily. * maparg() may return a string that cannot be reused. * Trailing backslash may cause reading past end of line. * #ifdef for crypt feature around too many lines. * Return type of remove() incorrect when using three arguments. * Various white space and cosmetic mistakes. * Off-by-one error in in statusline item. * Interpolated string expression requires escaping. * Crash with sequence of Perl commands. * Not easy to filter the output of maplist(). * A few more capitalization mistakes in error messages. * String interpolation fails when not evaluating. * With 'foldmethod' "indent" some lines are not included in the fold. (Oleg Koshovetc) * No test for what 8.2.4931 fixes. * Crash when matching buffer with invalid pattern. * matchfuzzypos() with "matchseq" does not have all positions. * Some code is never used. * '[ and '] marks may be wrong after undo. * Error when setting 'filetype' in help file again. * Changing 'switchbuf' may have no effect. * Text properties are wrong after "cc". (Axel Forsman) * Inconsistent use of white space. * Vim9: some code not covered by tests. * Text properties not adjusted when accepting spell suggestion. * Cannot use Perl heredoc in nested :def function. (Virginia Senioria) * Vim9: some code not covered by tests. * Text properties position wrong after shifting text. * Smart indenting done when not enabled. * GUI test will fail if color scheme changes. * With 'smartindent' inserting '}' after completion goes wrong. * Inserting line breaks text property spanning more then one line. * Text property in wrong position after auto-indent. * Reading past end of line with "gf" in Visual block mode. * Text properties in a wrong position after a block change. * A couple conditions are always true. * Using NULL regexp program. * Text properties that cross line boundary are not correctly updated for a deleted line. * Build error with a certain combination of features. * Files show up in git status. * Expanding path with "/**" may overrun end of buffer. * GUI: testing mouse move event depends on screen cell size. * Changing text in Visual mode may cause invalid memory access. * "eval 123" gives an error, "eval 'abc'" does not. * Vim9: interpolated string seen as range. * Vim9: compilation fails when using dict member when skipping. * Vim9: type error for list unpack mentions argument. * ":so" command may read after end of buffer. * Recursive command line loop may cause a crash. * Coverity complains about not restoring a saved value. * Memory access error when substitute expression changes window. * No error if engine selection atom is not at the start. * Accessing freed memory when line is flushed. * When 'shortmess' contains 'A' loading a session may still warn for an existing swap file. (Melker Österberg) * It is not possible to manipulate autocommands. * Colors in terminal window are not 100%% correct. * Colors test fails in the GUI. * Dragging statusline fails for window with winbar. * PVS warns for possible array underrun. * Some github actions are outdated. * After deletion a small fold may be closable. * Textprop in wrong position when replacing multi-byte chars. * Cannot specify a function name for :defcompile. * Memory leak when :defcompile fails. * No test for hwat patch 8.1.0535 fixes. * Compiler warning for possibly uninitialized variable. (Tony Mechelynck) * smart/C/lisp indenting is optional, which makes the code more complex, while it only reduces the executable size a bit. * Tests are using legacy functions. * Still a compiler warning for possibly uninitialized variable. (Tony Mechelynck) * setbufline() may change Visual selection. (Qiming Zhao) * Python: changing hidden buffer can cause the display to be messed up. * Vim9: crash when using multiple funcref(). * Filetype test table is not properly sorted. * Checking translations affects the search pattern history. * deletebufline() may change Visual selection. * Cannot do bitwise shifts. * Right shift on negative number does not work as documented. * Compiler warning for uninitialized variable. (John Marriott) * Asan warns for undefined behavior. * Spell suggestion may use uninitialized memory. (Zdenek Dohnal) * When 'formatoptions' contains "/" wrongly wrapping a long trailing comment. * Fold may not be closeable after appending. * The terminal debugger uses various global variables. * Replacing an autocommand requires several lines. * Cannot select one character inside (). * After text formatting the cursor may be in an invalid position. * Byte offsets are wrong when using text properties. * Hoon and Moonscript files are not recognized. * Access before start of text with a put command. * Gcc 12.1 warns for uninitialized variable. * Vim9: some code is not covered by tests. * Cannot get the first screen column of a character. * Using 'imstatusfunc' and 'imactivatefunc' breaks 'foldopen'. * Build fails with normal features and +terminal. (Dominique Pellé) * 'completefunc'/'omnifunc' error does not end completion. * Substitute overwrites allocated buffer. * Using freed memory with "]d". * Vim9: a few lines not covered by tests. * Error for missing :endif when an exception was thrown. (Dani Dickstein) * Syntax regexp matching can be slow. * "textlock" is always zero. * autocmd_add() can only handle one event and pattern. * Cannot easily run the benchmarks. * Python 3 test fails without the GUI. * Build error with +eval but without +quickfix. Warning for uninitialized variable. * There is no way to get the byte index from a virtual column. * When splitting a window the changelist position moves. * Using two counters for timeout check in NFA engine. * Cursor position may be invalid after "0;" range. * A finished terminal in a popup window does not show a scrollbar. * Fri May 6 2022 Ondřej Súkup - Updated to version 8.2.4877, fixes the following problems - CVE-2022-1420 - boo#1198748 - CVE-2022-1381 - boo#1198596 * Using wrong flag for using bell in the terminal. * Supercollider filetype not recognized. * No filetype override for .sys files. * Cannot use an imported function in a mapping. *