diff --git a/gating.yaml b/gating.yaml index 80852883..3c35f7d3 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,8 +4,8 @@ product_versions: decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} - + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} + #Rawhide --- !Policy product_versions: @@ -13,13 +13,13 @@ product_versions: decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} - + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} + #gating rhel --- !Policy product_versions: - rhel-* decision_context: osci_compose_gate rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional} - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/public.functional} diff --git a/plans.fmf b/plans.fmf deleted file mode 100644 index 0b2564f3..00000000 --- a/plans.fmf +++ /dev/null @@ -1,35 +0,0 @@ -/tier1-internal: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/tier1/internal - -/tier1-public: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/tier1/public - -/tier2-tier3-internal: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/tier2-tier3/internal - -/tier2-tier3-public: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/tier2-tier3/public - -/others-internal: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/others/internal - -/others-public: - plan: - import: - url: https://gitlab.com/redhat/centos-stream/tests/vim.git - name: /plans/others/public \ No newline at end of file diff --git a/plans/public.fmf b/plans/public.fmf new file mode 100644 index 00000000..880a0d4c --- /dev/null +++ b/plans/public.fmf @@ -0,0 +1,6 @@ +summary: Test plan with all Fedora tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/vim.git +execute: + how: tmt diff --git a/plans/tier1-internal.fmf b/plans/tier1-internal.fmf new file mode 100644 index 00000000..1e8030df --- /dev/null +++ b/plans/tier1-internal.fmf @@ -0,0 +1,12 @@ +summary: CI plan, picks internal Tier1 tests, runs in beakerlib. +discover: + - name: rhel + how: fmf + filter: 'tier: 1' + url: https://pkgs.devel.redhat.com/git/tests/vim +execute: + how: tmt +adjust: + enabled: false + when: distro == centos-stream or distro == fedora + because: They don't have access to internal repos. diff --git a/sources b/sources index 14532821..60fb1b97 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vim-9.1-2068.tar.bz2) = f19ae5898f7c388f437fe03af23d956ef66706c2a629a3389622e0b583d9bd831dd4e250badb181fceacb2b52b1f8a6bda4f72fbece122b5f5097153daf774f3 +SHA512 (vim-9.1-1291.tar.bz2) = 66b9f4f81e33f3e9ef61e8e9d792d5f0896833912434c204697b71686a4d21996d1030a4a2549f3d82f7be3f47578fed87f12b9b2b2a4473bf695c164f8851c6 diff --git a/vim-7.4-specsyntax.patch b/vim-7.4-specsyntax.patch index ace7607f..71720a46 100644 --- a/vim-7.4-specsyntax.patch +++ b/vim-7.4-specsyntax.patch @@ -1,7 +1,7 @@ diff -up vim91/runtime/syntax/spec.vim.spec-syntax vim91/runtime/syntax/spec.vim ---- vim91/runtime/syntax/spec.vim.spec-syntax 2025-11-14 07:38:27.000000000 +0100 -+++ vim91/runtime/syntax/spec.vim 2025-11-14 07:52:56.081212607 +0100 -@@ -38,7 +38,7 @@ syn match specNoNumberHilite 'X11\|X11R6 +--- vim91/runtime/syntax/spec.vim.spec-syntax 2024-03-08 07:18:14.000000000 +0100 ++++ vim91/runtime/syntax/spec.vim 2024-03-08 07:37:57.157339625 +0100 +@@ -35,7 +35,7 @@ syn match specNoNumberHilite 'X11\|X11R6 syn match specManpageFile '[a-zA-Z]\.1' "Day, Month and most used license acronyms @@ -10,12 +10,24 @@ diff -up vim91/runtime/syntax/spec.vim.spec-syntax vim91/runtime/syntax/spec.vim syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun syn keyword specMonth contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec syn keyword specMonth contained January February March April May June July August September October November December -@@ -105,7 +105,7 @@ syn case ignore +@@ -58,9 +58,9 @@ syn cluster specListedFiles contains=spe + + "specCommands + syn match specConfigure contained '\./configure' +-syn match specTarCommand contained '\". inoremap u @@ -20,21 +21,23 @@ diff -up vim91/runtime/defaults.vim.copypaste vim91/runtime/defaults.vim " Only do this part when Vim was compiled with the +eval feature. if 1 -diff -up vim91/src/testdir/test_balloon.vim.copypaste vim91/src/testdir/test_balloon.vim ---- vim91/src/testdir/test_balloon.vim.copypaste 2025-07-11 09:16:19.013500976 +0200 -+++ vim91/src/testdir/test_balloon.vim 2025-07-11 09:17:20.168187029 +0200 -@@ -7,6 +7,7 @@ CheckFeature balloon_eval_term - source util/screendump.vim +diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim +index 80d5831..713f580 100644 +--- a/src/testdir/test_balloon.vim ++++ b/src/testdir/test_balloon.vim +@@ -9,6 +9,7 @@ source screendump.vim + CheckScreendump let s:common_script =<< trim [CODE] + set mouse=a call setline(1, ["one one one", "two tXo two", "three three three"]) set balloonevalterm balloonexpr=MyBalloonExpr()..s:trailing balloondelay=100 let s:trailing = '<' " check that script context is set -diff -up vim91/src/testdir/test_popup.vim.copypaste vim91/src/testdir/test_popup.vim ---- vim91/src/testdir/test_popup.vim.copypaste 2025-07-11 08:58:40.000000000 +0200 -+++ vim91/src/testdir/test_popup.vim 2025-07-11 09:16:19.013692144 +0200 -@@ -957,6 +957,7 @@ func Test_mouse_popup_position() +diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim +index d930133..0c74032 100644 +--- a/src/testdir/test_popup.vim ++++ b/src/testdir/test_popup.vim +@@ -945,6 +945,7 @@ func Test_mouse_popup_position() let script =<< trim END set mousemodel=popup_setpos source $VIMRUNTIME/menu.vim @@ -42,10 +45,11 @@ diff -up vim91/src/testdir/test_popup.vim.copypaste vim91/src/testdir/test_popup call setline(1, join(range(20))) func Trigger(col) call test_setmouse(1, a:col) -diff -up vim91/src/testdir/test_popupwin.vim.copypaste vim91/src/testdir/test_popupwin.vim ---- vim91/src/testdir/test_popupwin.vim.copypaste 2025-07-11 08:58:40.000000000 +0200 -+++ vim91/src/testdir/test_popupwin.vim 2025-07-11 09:16:19.013971633 +0200 -@@ -556,6 +556,7 @@ func Test_popup_drag() +diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim +index 64aa654..1a1261c 100644 +--- a/src/testdir/test_popupwin.vim ++++ b/src/testdir/test_popupwin.vim +@@ -558,6 +558,7 @@ func Test_popup_drag() " create a popup that covers the command line let lines =<< trim END call setline(1, range(1, 20)) @@ -53,7 +57,7 @@ diff -up vim91/src/testdir/test_popupwin.vim.copypaste vim91/src/testdir/test_po split vsplit $wincmd w -@@ -623,6 +624,7 @@ func Test_popup_drag_minwidth() +@@ -625,6 +626,7 @@ func Test_popup_drag_minwidth() " create a popup that does not fit let lines =<< trim END @@ -61,7 +65,7 @@ diff -up vim91/src/testdir/test_popupwin.vim.copypaste vim91/src/testdir/test_po call range(40) \ ->map({_,i -> string(i)}) \ ->popup_create({ -@@ -670,6 +672,7 @@ func Test_popup_drag_termwin() +@@ -672,6 +674,7 @@ func Test_popup_drag_termwin() let lines =<< trim END set foldmethod=marker call setline(1, range(100)) @@ -69,7 +73,7 @@ diff -up vim91/src/testdir/test_popupwin.vim.copypaste vim91/src/testdir/test_po for nr in range(7) call setline(nr * 12 + 1, "fold {{{") call setline(nr * 12 + 11, "end }}}") -@@ -722,6 +725,7 @@ func Test_popup_close_with_mouse() +@@ -724,6 +727,7 @@ func Test_popup_close_with_mouse() let lines =<< trim END call setline(1, range(1, 20)) @@ -85,7 +89,7 @@ diff -up vim91/src/testdir/test_popupwin.vim.copypaste vim91/src/testdir/test_po set balloonevalterm set balloonexpr=BalloonExpr() set balloondelay=100 -@@ -2269,6 +2274,7 @@ func Test_popup_scrollbar() +@@ -2255,6 +2260,7 @@ func Test_popup_scrollbar() let lines =<< trim END call setline(1, range(1, 20)) diff --git a/vim-crypto-warning.patch b/vim-crypto-warning.patch index 6f55807f..195d7025 100644 --- a/vim-crypto-warning.patch +++ b/vim-crypto-warning.patch @@ -1,7 +1,7 @@ -diff -up vim91/src/config.h.in.fips-warning vim91/src/config.h.in ---- vim91/src/config.h.in.fips-warning 2025-10-31 08:12:59.598267544 +0100 -+++ vim91/src/config.h.in 2025-10-31 08:14:45.661859595 +0100 -@@ -526,5 +526,14 @@ +diff -up vim90/src/config.h.in.fips-warning vim90/src/config.h.in +--- vim90/src/config.h.in.fips-warning 2023-05-29 09:30:59.000000000 +0200 ++++ vim90/src/config.h.in 2023-05-29 09:34:47.261645612 +0200 +@@ -498,5 +498,14 @@ /* Define if _SC_SIGSTKSZ is available via sysconf() */ #undef HAVE_SYSCONF_SIGSTKSZ @@ -16,10 +16,10 @@ diff -up vim91/src/config.h.in.fips-warning vim91/src/config.h.in + /* Define if you want to load libgpm dynamically */ #undef DYNAMIC_GPM -diff -up vim91/src/configure.ac.fips-warning vim91/src/configure.ac ---- vim91/src/configure.ac.fips-warning 2025-10-31 08:12:59.596711911 +0100 -+++ vim91/src/configure.ac 2025-10-31 08:12:59.598566242 +0100 -@@ -631,6 +631,38 @@ else +diff -up vim90/src/configure.ac.fips-warning vim90/src/configure.ac +--- vim90/src/configure.ac.fips-warning 2023-05-29 09:34:47.257645645 +0200 ++++ vim90/src/configure.ac 2023-05-29 09:34:47.262645604 +0200 +@@ -589,6 +589,38 @@ else AC_SUBST(XDIFF_OBJS_USED) fi @@ -58,10 +58,10 @@ diff -up vim91/src/configure.ac.fips-warning vim91/src/configure.ac dnl Check for Lua feature. AC_MSG_CHECKING(--enable-luainterp argument) AC_ARG_ENABLE(luainterp, -diff -up vim91/src/crypt.c.fips-warning vim91/src/crypt.c ---- vim91/src/crypt.c.fips-warning 2025-10-10 07:16:11.000000000 +0200 -+++ vim91/src/crypt.c 2025-10-31 08:12:59.598872032 +0100 -@@ -806,6 +806,21 @@ crypt_check_method(int method) +diff -up vim90/src/crypt.c.fips-warning vim90/src/crypt.c +--- vim90/src/crypt.c.fips-warning 2023-05-29 09:34:47.263645596 +0200 ++++ vim90/src/crypt.c 2023-05-29 09:51:23.209779115 +0200 +@@ -795,6 +795,21 @@ crypt_check_method(int method) msg_scroll = TRUE; msg(_("Warning: Using a weak encryption method; see :help 'cm'")); } diff --git a/vim-update.sh b/vim-update.sh index fc37e160..61f7965d 100755 --- a/vim-update.sh +++ b/vim-update.sh @@ -1,12 +1,12 @@ #!/bin/bash debug="" #debug="echo " -branches=( "rawhide" "f43" "f42" ) -releases=( "fc44" "fc43" "fc42" ) +branches=( "rawhide" "f42" "f41" "f40" ) +releases=( "fc43" "fc42" "fc41" "fc40" ) # the first bodhi enabled release is the last without \| - all # others need to have \| -regexps=( "fc44" "fc43" "\|fc42" ) -bodhi_enabled=( "0" "1" "1" ) +regexps=( "fc43" "fc42" "\|fc41" "\|fc40" ) +bodhi_enabled=( "0" "1" "1" "1" ) needs_update=() #releases_regexp=fc28\\\|fc27\\\|fc28 diff --git a/vim.spec b/vim.spec index b2c29f97..d703d848 100644 --- a/vim.spec +++ b/vim.spec @@ -1,6 +1,5 @@ %bcond_without gui - %if 0%{?fedora} %bcond_without default_editor %bcond_without gpm @@ -11,23 +10,7 @@ %bcond_with libsodium_crypt %endif - -%define patchlevel 2068 -%define withnetbeans 1 - -%define withhunspell 0 -%define withlua 1 -%define withperl 1 - -# VIm upstream wants to build with FORTIFY_SOURCE=1, -# because higher levels causes crashes of valid code constructs -# and their reimplementation would cost unnecessary maintenance -# https://github.com/vim/vim/pull/3507 -%define _fortify_level 1 - -%define baseversion 9.1 -%define vimdir vim91 - +%define patchlevel 1291 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 @@ -43,15 +26,29 @@ %define desktop_file_utils_version 0.2.93 %endif +%define withnetbeans 1 + +%define withvimspell 0 +%define withhunspell 0 +%define withlua 1 +%define withperl 1 %if 0%{?flatpak} %define withruby 0 %else %define withruby 1 %endif +# VIm upstream wants to build with FORTIFY_SOURCE=1, +# because higher levels causes crashes of valid code constructs +# and their reimplementation would cost unnecessary maintenance +# https://github.com/vim/vim/pull/3507 +%define _fortify_level 1 + +%define baseversion 9.1 +%define vimdir vim91 Summary: The VIM editor -URL: https://www.vim.org/ +URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{patchlevel} Release: 1%{?dist} @@ -80,27 +77,39 @@ Source11: vim-default-editor.fish Source12: view_wrapper Source13: vi_wrapper +%if %{withvimspell} +Source100: vim-spell-files.tar.bz2 +%endif -Patch1: vim-7.0-fixkeys.patch -Patch2: vim-7.4-specsyntax.patch -Patch3: vim-7.3-manpage-typo-668894-675480.patch -Patch4: vim-manpagefixes-948566.patch -Patch5: vim-7.4-globalsyntax.patch + +Patch2000: vim-7.0-fixkeys.patch +Patch2001: vim-7.4-specsyntax.patch + +%if %{withhunspell} +Patch2002: vim-7.0-hunspell.patch +BuildRequires: hunspell-devel +%endif + +Patch3000: vim-7.3-manpage-typo-668894-675480.patch +Patch3001: vim-manpagefixes-948566.patch +Patch3002: vim-7.4-globalsyntax.patch # migrate shebangs in script to /usr/bin/python3 and use python2 when necessary -Patch6: vim-python3-tests.patch +Patch3003: vim-python3-tests.patch # fips warning (Fedora downstream patch) -Patch7: vim-crypto-warning.patch +Patch3004: vim-crypto-warning.patch # don't ever set mouse (Fedora downstream patch) -Patch8: vim-8.0-copy-paste.patch - - -# patch only when hunspell is enabled -Patch10000: vim-7.0-hunspell.patch +Patch3005: vim-8.0-copy-paste.patch # uses autoconf in spec file BuildRequires: autoconf +%if %{desktop_file} +# for /usr/bin/desktop-file-install +BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} +Requires: desktop-file-utils +%endif + # gcc is no longer in buildroot by default BuildRequires: gcc # for translations @@ -111,38 +120,16 @@ BuildRequires: gettext # formats during compilation. BuildRequires: glibc-gconv-extra -# for setting ACL on created files -BuildRequires: libacl-devel - -# uses libtool for linking -BuildRequires: libtool - -# uses make -BuildRequires: make -# screen handling library -BuildRequires: ncurses-devel - -# for building function prototypes -BuildRequires: python3 -BuildRequires: python3-clang - -# for python plugin -BuildRequires: python3-devel - - -%if %{desktop_file} -# for /usr/bin/desktop-file-install -BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} -Requires: desktop-file-utils -%endif - %if %{with gpm} # for mouse support in console BuildRequires: gpm-devel %endif +# for setting ACL on created files +BuildRequires: libacl-devel -%if %{withhunspell} -BuildRequires: hunspell-devel +# selinux support +%if %{WITH_SELINUX} +BuildRequires: libselinux-devel %endif # for xchacha20 encryption @@ -150,11 +137,18 @@ BuildRequires: hunspell-devel BuildRequires: libsodium-devel %endif +# uses libtool for linking +BuildRequires: libtool + # for lua plugin %if "%{withlua}" == "1" BuildRequires: lua-devel %endif +# uses make +BuildRequires: make +# screen handling library +BuildRequires: ncurses-devel # for perl plugin %if "%{withperl}" == "1" BuildRequires: perl-devel @@ -162,6 +156,8 @@ BuildRequires: perl-generators BuildRequires: perl(ExtUtils::Embed) BuildRequires: perl(ExtUtils::ParseXS) %endif +# for python plugin +BuildRequires: python3-devel # for ruby plugin %if "%{withruby}" == "1" @@ -169,11 +165,6 @@ BuildRequires: ruby BuildRequires: ruby-devel %endif -# selinux support -%if %{WITH_SELINUX} -BuildRequires: libselinux-devel -%endif - %description VIM (VIsual editor iMproved) is an updated and improved version of the @@ -181,17 +172,26 @@ vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. - %package common Summary: The common files needed by any version of the VIM editor -# move evim manpage to common - remove the conflict after C11S is branched -Conflicts: %{name}-X11 < 2:9.1.1706-2 +# conflicts in package because of manpage move (bug #1599663) +# conflicts because of defaults.vim (bug #2026651) +# remove after F36 EOL+after release CentOS Stream > 9 +Conflicts: %{name}-minimal < %{epoch}:8.2.3642-2 # shared files between common and minimal Requires: %{name}-data = %{epoch}:%{version}-%{release} Requires: %{name}-filesystem # the hexdump binary was part of the package for long time, ship it with it # still for convenience Requires: xxd +# vim-toml was a separate package but the runtime files have been included +# directly in vim since 8.2.3519. The vim-toml package has been retired in +# Fedora, obsolete it so it doesn't get left on users' systems. Added in F38, +# can be removed in F40. +# https://github.com/cespare/vim-toml/commit/2c8983cc391287e5e26e015c3ab9c38de9f9b759 +# https://github.com/vim/vim/commit/2286304cdbba53ceb52b3ba2ba4a521b0a2f8d0f +Provides: vim-toml = %{epoch}:%{version}-%{release} +Obsoletes: vim-toml < 0^1.717bd87-4 %description common VIM (VIsual editor iMproved) is an updated and improved version of the @@ -204,9 +204,20 @@ order to run. If you are installing vim-enhanced or vim-X11, you'll also need to install the vim-common package. +%package spell +Summary: The dictionaries for spell checking. This package is optional +Requires: vim-common = %{epoch}:%{version}-%{release} + +%description spell +This subpackage contains dictionaries for vim spell checking in +many different languages. %package minimal Summary: A minimal version of the VIM editor +# conflicts in package because of manpage move (bug #1599663) +# conflicts because of defaults.vim (bug #2026651) +# remove after F36 EOL+after release CentOS Stream > 9 +Conflicts: %{name}-common < %{epoch}:8.2.3642-2 Provides: vi Provides: %{_bindir}/vi # shared files between common and minimal @@ -221,7 +232,6 @@ vim-minimal package includes a minimal version of VIM, providing the commands vi, view, ex, rvi, and rview. NOTE: The online help is only available when the vim-common package is installed. - %package enhanced Summary: A version of the VIM editor which includes recent enhancements # vim bundles libvterm, which is used during build - so we need to provide @@ -234,9 +244,6 @@ Provides: %{_bindir}/vim Requires: vim-common = %{epoch}:%{version}-%{release} # required for vimtutor (#395371) Requires: which -Suggests: python3 -Suggests: python3-libs - # suggest python3, python2, lua, ruby and perl packages because of their # embedded functionality in Vim/GVim %if "%{withlua}" == "1" @@ -247,6 +254,9 @@ Suggests: lua-libs Suggests: perl-devel %endif +Suggests: python3 +Suggests: python3-libs + %if "%{withruby}" == "1" Suggests: ruby Suggests: ruby-libs @@ -265,7 +275,6 @@ VIM editor which includes recently added enhancements like interpreters for the Python and Perl scripting languages. You'll also need to install the vim-common package. - %package filesystem Summary: VIM filesystem layout BuildArch: noarch @@ -274,41 +283,9 @@ BuildArch: noarch This package provides some directories which are required by other packages that add vim files, p.e. additional syntax files or filetypes. - -%package data -Summary: Shared data for Vi and Vim -BuildArch: noarch - -%description data -The subpackage is used for shipping files and directories, which need to be -shared between vim-minimal and vim-common packages. - - -%package -n xxd -Summary: A hex dump utility - -%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. - - -%if %{with default_editor} -%package default-editor -Summary: Set vim as the default editor -BuildArch: noarch -Conflicts: system-default-editor -Provides: system-default-editor -Requires: vim-enhanced - -%description default-editor -This subpackage contains files needed to set Vim as the default editor. -%endif - %if %{with gui} %package X11 Summary: The VIM version of the vi editor for the X Window System - GVim -# move evim manpage to common - remove the conflict after C11S is branched -Conflicts: %{name}-common < 2:9.1.1706-2 # devel of libICE, gtk3, libSM, libX11, libXpm and libXt are needed in buildroot # so configure script can have correct macros enabled for GUI (#1603272) # generic gnome toolkit for graphical support @@ -319,6 +296,8 @@ BuildRequires: libICE-devel BuildRequires: libSM-devel # core X11 protocol client library BuildRequires: libX11-devel +# X PixMap library for X11 - for creating images in X PixMap format +BuildRequires: libXpm-devel # X Toolkit Intrinsics library - working with widgets? BuildRequires: libXt-devel # for testing validity of appdata file @@ -331,22 +310,25 @@ Provides: vim(plugins-supported) Provides: %{_bindir}/mergetool Provides: %{_bindir}/gvim +%if 0%{?fedora} >= 40 || 0%{?rhel} > 9 # glib2 in Fedora 40 introduced a new function, which is not used in GVim, but it is present # in compiled gvim binary as symbol when Vim is compiled with glib2-2.79.1 # there does not seem to be a better solution than version based requires on glib2... # https://bugzilla.redhat.com/show_bug.cgi?id=2262371 Requires: glib2 >= 2.79.1 +%endif # GVIM graphics are based on GTK3 Requires: gtk3 # needed for icons (#226526) Requires: hicolor-icon-theme +%if 0%{?fedora} >= 41 +# needed for icons (#2277751) +Requires: gdk-pixbuf2-modules-extra%{?_isa} +%endif # for getting/setting extended attributes - they are pairs (name:value) # from inodes (files, dirs etc.) Requires: libattr >= 2.4 Requires: vim-common = %{epoch}:%{version}-%{release} -Suggests: python3 -Suggests: python3-libs - # suggest python3, python2, lua, ruby and perl packages because of their # embedded functionality in Vim/GVim %if "%{withlua}" == "1" @@ -357,6 +339,9 @@ Suggests: lua-libs Suggests: perl-devel %endif +Suggests: python3 +Suggests: python3-libs + %if "%{withruby}" == "1" Suggests: ruby Suggests: ruby-libs @@ -376,31 +361,72 @@ with graphics and mouse capabilities. You'll also need to install the vim-common package. %endif +%package data +Summary: Shared data for Vi and Vim +BuildArch: noarch +# moved files from filesystem, common and minimal to data +# remove after F36 EOL+after release of CentOS Stream > 9 +Conflicts: %{name}-common < 2:8.2.3642-2 +Conflicts: %{name}-filesystem < 2:8.2.3642-2 +Conflicts: %{name}-minimal < 2:8.2.3642-2 + +%description data +The subpackage is used for shipping files and directories, which need to be +shared between vim-minimal and vim-common packages. + +%if %{with default_editor} +%package default-editor +Summary: Set vim as the default editor +BuildArch: noarch +Conflicts: system-default-editor +Provides: system-default-editor +Requires: vim-enhanced + +%description default-editor +This subpackage contains files needed to set Vim as the default editor. +%endif + +%package -n xxd +Summary: A hex dump utility +# the xxd related file were shipped in vim-common in the past, +# we have to conflict with the old ones +# remove this Conflicts once C10S is released +Conflicts: %{name}-common < 2:9.0.1440-2 + +%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 -b 0 -n %{vimdir} # use %%{__python3} macro for defining shebangs in python3 tests -sed -i -e 's,/usr/bin/python3,%{__python3},' %{PATCH6} +sed -i -e 's,/usr/bin/python3,%{__python3},' %{PATCH3005} # fix rogue dependencies from sample code chmod -x runtime/tools/mve.awk -%patch -P 1 -p1 -b .fixkeys -%patch -P 2 -p1 -b .spec-syntax +%patch -P 2000 -p1 -b .fixkeys +%patch -P 2001 -p1 -b .spec-syntax + +%if %{withhunspell} +%patch -P 2002 -p1 +%endif perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk -%patch -P 3 -p1 -b .mantypo -%patch -P 4 -p1 -b .manpagefixes -%patch -P 5 -p1 -b .globalsyntax -%patch -P 6 -p1 -b .python-tests -%patch -P 7 -p1 -b .fips-warning -%patch -P 8 -p1 -b .copypaste - -%if %{withhunspell} -%patch -P 10000 -p1 +# install spell files +%if %{withvimspell} +%{__tar} xjf %{SOURCE100} %endif +%patch -P 3000 -p1 -b .mantypo +%patch -P 3001 -p1 -b .manpagefixes +%patch -P 3002 -p1 -b .globalsyntax +%patch -P 3003 -p1 -b .python-tests +%patch -P 3004 -p1 -b .fips-warning +%patch -P 3005 -p1 -b .copypaste + %build cd src @@ -444,17 +470,75 @@ perl -pi -e "s/vimrc/virc/" os_unix.h --enable-fips-warning \ --enable-fail-if-missing \ --disable-canberra \ - --without-wayland \ - --enable-year2038 \ --disable-libsodium %make_build cp vim minimal-vim make clean - mv -f os_unix.h.save os_unix.h +%if %{with gui} +# More configure options: +# --enable-xim - enabling X Input Method - international input module for X, +# it is for multibyte languages in Vim with X +# --enable-termtruecolor - use terminal with true colors + +%configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/vimrc\"'" \ + --with-features=huge \ + --enable-python3interp=dynamic \ + --with-python3-stable-abi \ + --disable-tclinterp --with-x=yes \ + --enable-xim --enable-multibyte \ + --with-tlib=ncurses \ + --enable-gtk3-check --enable-gui=gtk3 \ + --enable-fips-warning \ + --with-compiledby="" --enable-cscope \ + --with-modified-by="" \ +%if %{with gpm} + --enable-gpm \ +%else + --disable-gpm \ +%endif + %if "%{withnetbeans}" == "1" + --enable-netbeans \ + %else + --disable-netbeans \ + %endif + %if %{WITH_SELINUX} + --enable-selinux \ + %else + --disable-selinux \ + %endif + %if "%{withperl}" == "1" + --enable-perlinterp=dynamic \ + --with-xsubpp=$(which xsubpp) \ + %else + --disable-perlinterp \ + %endif + %if "%{withruby}" == "1" + --enable-rubyinterp=dynamic \ + %else + --disable-rubyinterp \ + %endif + %if "%{withlua}" == "1" + --enable-luainterp=dynamic \ + %else + --disable-luainterp \ + %endif + %if %{with libsodium_crypt} + --enable-libsodium \ + %else + --disable-libsodium \ + %endif + --enable-fail-if-missing \ + --enable-canberra + +%make_build +cp vim gvim +make clean +%endif + %configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/vimrc\"'" \ --prefix=%{_prefix} --with-features=huge \ --enable-python3interp=dynamic \ @@ -503,79 +587,11 @@ mv -f os_unix.h.save os_unix.h --disable-libsodium \ %endif --enable-fail-if-missing \ - --without-wayland \ - --enable-year2038 \ --disable-canberra %make_build cp vim enhanced-vim - -%if %{with gui} -# More configure options: -# --enable-xim - enabling X Input Method - international input module for X, -# it is for multibyte languages in Vim with X -# --enable-termtruecolor - use terminal with true colors - -%configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/vimrc\"'" \ - --with-features=huge \ - --enable-python3interp=dynamic \ - --with-python3-stable-abi \ - --disable-tclinterp --with-x=yes \ - --enable-xim --enable-multibyte \ - --with-tlib=ncurses \ - --enable-gtk3-check --enable-gui=gtk3 \ - --enable-fips-warning \ - --with-compiledby="" --enable-cscope \ - --with-modified-by="" \ - %if %{with gpm} - --enable-gpm \ - %else - --disable-gpm \ - %endif - %if "%{withnetbeans}" == "1" - --enable-netbeans \ - %else - --disable-netbeans \ - %endif - %if %{WITH_SELINUX} - --enable-selinux \ - %else - --disable-selinux \ - %endif - %if "%{withperl}" == "1" - --enable-perlinterp=dynamic \ - --with-xsubpp=$(which xsubpp) \ - %else - --disable-perlinterp \ - %endif - %if "%{withruby}" == "1" - --enable-rubyinterp=dynamic \ - %else - --disable-rubyinterp \ - %endif - %if "%{withlua}" == "1" - --enable-luainterp=dynamic \ - %else - --disable-luainterp \ - %endif - %if %{with libsodium_crypt} - --enable-libsodium \ - %else - --disable-libsodium \ - %endif - --enable-fail-if-missing \ - --with-wayland \ - --enable-year2038 \ - --enable-socketserver \ - --enable-canberra - -%make_build -cp vim gvim -make clean -%endif - - %install mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_datadir}/%{name}/vimfiles/{after,autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor} @@ -584,15 +600,12 @@ cp -f %{SOURCE7} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec # Those aren't Linux info files but some binary files for Amiga: rm -f README*.info + cd src -# related to the issue with `make depend`, auto/osdef.h -# has to be generated -make auto/osdef.h auto/gui_gtk_gresources.h auto/wayland/wlr-data-control-unstable-v1.h # Adding STRIP=/bin/true, because Vim wants to strip the binaries by himself # and put the stripped files into correct dirs. Build system (koji/brew) # does it for us, so there is no need to do it in Vim %make_install BINDIR=%{_bindir} STRIP=/bin/true - # make install creates vim binary and view symlink, they will be wrappers # so remove them here rm -f %{buildroot}%{_bindir}/{vim,view} @@ -679,12 +692,10 @@ EOF appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml -# do not put gvim.1, gview.1, eview.1, rgvim and rgview here - they already contains the link, -# and changing it here will rewrite original vim.1 - bz#2392178 -for i in gex.1 vimx.1 evim.1; do +for i in gvim.1 gex.1 gview.1 vimx.1; do echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man1/$i done - +echo ".so man1/vimdiff.1" > %{buildroot}/%{_mandir}/man1/gvimdiff.1 echo ".so man1/vimtutor.1" > %{buildroot}/%{_mandir}/man1/gvimtutor.1 %else # Remove files included in X11 subpackage, but built by default: @@ -694,9 +705,9 @@ rm %{buildroot}/%{_datadir}/icons/{hicolor,locolor}/*/apps/gvim.png %endif ( cd %{buildroot} - ln -sf ../..%{_libexecdir}/vi .%{_bindir}/rvi - ln -sf ../..%{_libexecdir}/vi .%{_bindir}/rview - ln -sf ../..%{_libexecdir}/vi .%{_bindir}/ex + ln -sf %{_libexecdir}/vi .%{_bindir}/rvi + ln -sf %{_libexecdir}/vi .%{_bindir}/rview + ln -sf %{_libexecdir}/vi .%{_bindir}/ex ln -sf vim .%{_bindir}/rvim ln -sf vim .%{_bindir}/vimdiff perl -pi -e "s,%{buildroot},," .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vimtutor.1 @@ -709,13 +720,10 @@ rm %{buildroot}/%{_datadir}/icons/{hicolor,locolor}/*/apps/gvim.png ln -sf vim.1.gz .%{_mandir}/man1/vimdiff.1.gz %if %{with gui} - ln -sf gvim ./%{_bindir}/evim - ln -sf gvim ./%{_bindir}/eview ln -sf gvim ./%{_bindir}/gview ln -sf gvim ./%{_bindir}/gex + ln -sf gvim ./%{_bindir}/evim ln -sf gvim ./%{_bindir}/gvimdiff - ln -sf gvim ./%{_bindir}/rgvim - ln -sf gvim ./%{_bindir}/rgview ln -sf gvim ./%{_bindir}/vimx %if "%{desktop_file}" == "1" @@ -745,6 +753,21 @@ mkdir -p %{buildroot}%{_sysconfdir} install -p -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/virc install -p -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/vimrc +# if Vim isn't built for Fedora, use redhat augroup +%if 0%{?rhel} >= 7 +sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/vimrc +sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/virc +%endif + +%if %{with default_editor} +mkdir -p %{buildroot}/%{_sysconfdir}/profile.d +install -p -m644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.sh +install -p -m644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.csh +mkdir -p %{buildroot}/%{_datadir}/fish/vendor_conf.d/ +install -p -m644 %{SOURCE11} %{buildroot}/%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish +mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ +%endif + mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ install -p -m644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/macros.d/ @@ -781,21 +804,6 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags rm %{buildroot}%{_datadir}/%{name}/%{vimdir}/LICENSE rm %{buildroot}%{_datadir}/%{name}/%{vimdir}/README.txt -# if Vim isn't built for Fedora, use redhat augroup -%if 0%{?rhel} >= 7 -sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/vimrc -sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/virc -%endif - -%if %{with default_editor} -mkdir -p %{buildroot}/%{_sysconfdir}/profile.d -install -p -m644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.sh -install -p -m644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.csh -mkdir -p %{buildroot}/%{_datadir}/fish/vendor_conf.d/ -install -p -m644 %{SOURCE11} %{buildroot}/%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish -mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ -%endif - # Refresh documentation helptags %transfiletriggerin common -- %{_datadir}/%{name}/vimfiles/doc @@ -830,8 +838,13 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %{_datadir}/%{name}/%{vimdir}/print %{_datadir}/%{name}/%{vimdir}/syntax %{_datadir}/%{name}/%{vimdir}/tutor + +%if ! %{withvimspell} %{_datadir}/%{name}/%{vimdir}/spell +%endif + %lang(af) %{_datadir}/%{name}/%{vimdir}/lang/af +%lang(am) %{_datadir}/%{name}/%{vimdir}/lang/am %lang(ca) %{_datadir}/%{name}/%{vimdir}/lang/ca %lang(cs) %{_datadir}/%{name}/%{vimdir}/lang/cs %lang(cs.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/cs.cp1250 @@ -844,7 +857,6 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %lang(fr) %{_datadir}/%{name}/%{vimdir}/lang/fr %lang(ga) %{_datadir}/%{name}/%{vimdir}/lang/ga %lang(hu) %{_datadir}/%{name}/%{vimdir}/lang/hu -%lang(hy) %{_datadir}/%{name}/%{vimdir}/lang/hy %lang(it) %{_datadir}/%{name}/%{vimdir}/lang/it %lang(ja) %{_datadir}/%{name}/%{vimdir}/lang/ja %lang(ja.euc-jp) %{_datadir}/%{name}/%{vimdir}/lang/ja.euc-jp @@ -881,13 +893,9 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %{_mandir}/man5/vimrc.* %if %{with gui} -%{_mandir}/man1/eview.* -%{_mandir}/man1/evim.* %{_mandir}/man1/gex.* %{_mandir}/man1/gview.* %{_mandir}/man1/gvim* -%{_mandir}/man1/rgvim.* -%{_mandir}/man1/rgview.* %{_mandir}/man1/vimx.* %endif @@ -900,6 +908,63 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %lang(ru) %{_mandir}/ru/man1/* %lang(tr) %{_mandir}/tr/man1/* +%if %{withvimspell} +%files spell +%dir %{_datadir}/%{name}/%{vimdir}/spell +%{_datadir}/%{name}/vim70/spell/cleanadd.vim +%lang(af) %{_datadir}/%{name}/%{vimdir}/spell/af.* +%lang(am) %{_datadir}/%{name}/%{vimdir}/spell/am.* +%lang(bg) %{_datadir}/%{name}/%{vimdir}/spell/bg.* +%lang(ca) %{_datadir}/%{name}/%{vimdir}/spell/ca.* +%lang(cs) %{_datadir}/%{name}/%{vimdir}/spell/cs.* +%lang(cy) %{_datadir}/%{name}/%{vimdir}/spell/cy.* +%lang(da) %{_datadir}/%{name}/%{vimdir}/spell/da.* +%lang(de) %{_datadir}/%{name}/%{vimdir}/spell/de.* +%lang(el) %{_datadir}/%{name}/%{vimdir}/spell/el.* +%lang(en) %{_datadir}/%{name}/%{vimdir}/spell/en.* +%lang(eo) %{_datadir}/%{name}/%{vimdir}/spell/eo.* +%lang(es) %{_datadir}/%{name}/%{vimdir}/spell/es.* +%lang(fo) %{_datadir}/%{name}/%{vimdir}/spell/fo.* +%lang(fr) %{_datadir}/%{name}/%{vimdir}/spell/fr.* +%lang(ga) %{_datadir}/%{name}/%{vimdir}/spell/ga.* +%lang(gd) %{_datadir}/%{name}/%{vimdir}/spell/gd.* +%lang(gl) %{_datadir}/%{name}/%{vimdir}/spell/gl.* +%lang(he) %{_datadir}/%{name}/%{vimdir}/spell/he.* +%lang(hr) %{_datadir}/%{name}/%{vimdir}/spell/hr.* +%lang(hu) %{_datadir}/%{name}/%{vimdir}/spell/hu.* +%lang(id) %{_datadir}/%{name}/%{vimdir}/spell/id.* +%lang(it) %{_datadir}/%{name}/%{vimdir}/spell/it.* +%lang(ku) %{_datadir}/%{name}/%{vimdir}/spell/ku.* +%lang(la) %{_datadir}/%{name}/%{vimdir}/spell/la.* +%lang(lt) %{_datadir}/%{name}/%{vimdir}/spell/lt.* +%lang(lv) %{_datadir}/%{name}/%{vimdir}/spell/lv.* +%lang(mg) %{_datadir}/%{name}/%{vimdir}/spell/mg.* +%lang(mi) %{_datadir}/%{name}/%{vimdir}/spell/mi.* +%lang(ms) %{_datadir}/%{name}/%{vimdir}/spell/ms.* +%lang(nb) %{_datadir}/%{name}/%{vimdir}/spell/nb.* +%lang(nl) %{_datadir}/%{name}/%{vimdir}/spell/nl.* +%lang(nn) %{_datadir}/%{name}/%{vimdir}/spell/nn.* +%lang(ny) %{_datadir}/%{name}/%{vimdir}/spell/ny.* +%lang(pl) %{_datadir}/%{name}/%{vimdir}/spell/pl.* +%lang(pt) %{_datadir}/%{name}/%{vimdir}/spell/pt.* +%lang(ro) %{_datadir}/%{name}/%{vimdir}/spell/ro.* +%lang(ru) %{_datadir}/%{name}/%{vimdir}/spell/ru.* +%lang(rw) %{_datadir}/%{name}/%{vimdir}/spell/rw.* +%lang(sk) %{_datadir}/%{name}/%{vimdir}/spell/sk.* +%lang(sl) %{_datadir}/%{name}/%{vimdir}/spell/sl.* +%lang(sr) %{_datadir}/%{name}/%{vimdir}/spell/sr.* +%lang(sv) %{_datadir}/%{name}/%{vimdir}/spell/sv.* +%lang(sw) %{_datadir}/%{name}/%{vimdir}/spell/sw.* +%lang(tet) %{_datadir}/%{name}/%{vimdir}/spell/tet.* +%lang(th) %{_datadir}/%{name}/%{vimdir}/spell/th.* +%lang(tl) %{_datadir}/%{name}/%{vimdir}/spell/tl.* +%lang(tn) %{_datadir}/%{name}/%{vimdir}/spell/tn.* +%lang(uk) %{_datadir}/%{name}/%{vimdir}/spell/uk.* +%lang(yi) %{_datadir}/%{name}/%{vimdir}/spell/yi.* +%lang(yi-tr) %{_datadir}/%{name}/%{vimdir}/spell/yi-tr.* +%lang(zu) %{_datadir}/%{name}/%{vimdir}/spell/zu.* +%endif + %files minimal %config(noreplace) %{_sysconfdir}/virc %{_bindir}/ex @@ -960,9 +1025,7 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %{_bindir}/vimtutor %{_bindir}/vimx %{_bindir}/evim -%{_bindir}/eview -%{_bindir}/rgvim -%{_bindir}/rgview +%{_mandir}/man1/evim.* %dir %{_datadir}/icons/hicolor %dir %{_datadir}/icons/hicolor/* %dir %{_datadir}/icons/hicolor/*/apps @@ -995,82 +1058,6 @@ mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ %changelog -* Fri Jan 09 2026 Zdenek Dohnal - 2:9.1.2068-1 -- patchlevel 2068 - -* Fri Dec 19 2025 Zdenek Dohnal - 2:9.1.1999-1 -- patchlevel 1999 - -* Fri Dec 12 2025 Zdenek Dohnal - 2:9.1.1972-1 -- patchlevel 1972 - -* Fri Dec 05 2025 Zdenek Dohnal - 2:9.1.1952-1 -- patchlevel 1952 - -* Fri Nov 14 2025 Zdenek Dohnal - 2:9.1.1914-1 -- patchlevel 1914 - -* Fri Oct 31 2025 Zdenek Dohnal - 2:9.1.1888-1 -- patchlevel 1888 - -* Fri Oct 17 2025 Zdenek Dohnal - 2:9.1.1863-1 -- patchlevel 1863 - -* Fri Oct 10 2025 Zdenek Dohnal - 2:9.1.1845-1 -- patchlevel 1845 - -* Fri Oct 03 2025 Zdenek Dohnal - 2:9.1.1818-1 -- patchlevel 1818 - -* Mon Sep 29 2025 Zdenek Dohnal - 2:9.1.1775-2 -- remove XPM support - GVim icons work without it - -* Fri Sep 19 2025 Zdenek Dohnal - 2:9.1.1775-1 -- patchlevel 1775 - -* Wed Sep 10 2025 Zdenek Dohnal - 2:9.1.1723-2 -- Restore lost --remote-tab... functionality on wayland (fedora#2393716) - -* Mon Sep 01 2025 Zdenek Dohnal - 2:9.1.1723-1 -- patchlevel 1723 - -* Mon Sep 01 2025 Zdenek Dohnal - 2:9.1.1706-2 -- broken /usr/bin/ex symlink in vim-9.1.1706-1.fc42 (fedora#2392249) -- vim-common has broken manpages (fedora#2392178) - -* Fri Aug 29 2025 Zdenek Dohnal - 2:9.1.1706-1 -- patchlevel 1706 - -* Mon Aug 11 2025 Zdenek Dohnal - 2:9.1.1623-1 -- patchlevel 1623 - -* Fri Aug 01 2025 Zdenek Dohnal - 2:9.1.1591-1 -- patchlevel 1591 - -* Fri Jul 25 2025 Fedora Release Engineering - 2:9.1.1552-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 16 2025 Zdenek Dohnal - 2:9.1.1552-1 -- patchlevel 1552 - -* Mon Jul 14 2025 Zdenek Dohnal - 2:9.1.1537-2 -- 2379759 - remove wayland-libs from vim and vi (fedora#2379759) - -* Fri Jul 11 2025 Zdenek Dohnal - 2:9.1.1537-1 -- patchlevel 1537 - -* Fri Jun 27 2025 Zdenek Dohnal - 2:9.1.1484-1 -- patchlevel 1484 - -* Thu Jun 19 2025 Zdenek Dohnal - 2:9.1.1435-2 -- FTBFS with Python 3.14 (fedora#2373314) - -* Fri Jun 06 2025 Zdenek Dohnal - 2:9.1.1435-1 -- patchlevel 1435 - -* Fri May 30 2025 Zdenek Dohnal - 2:9.1.1418-1 -- patchlevel 1418 - * Fri Apr 11 2025 Zdenek Dohnal - 2:9.1.1291-1 - patchlevel 1291 diff --git a/vimrc b/vimrc index 4ef9d92d..4842faf2 100644 --- a/vimrc +++ b/vimrc @@ -54,14 +54,10 @@ if has("autocmd") " In text files, always limit the width of text to 78 characters " autocmd BufRead *.txt set tw=78 " When editing a file, always jump to the last cursor position - " (taken from Vim's defaults.vim) autocmd BufReadPost * - \ let line = line("'\"") - \ | if line >= 1 && line <= line("$") && &filetype !~# 'commit' - \ && index(['xxd', 'gitrebase', 'tutor'], &filetype) == -1 - \ && !&diff - \ | execute "normal! g`\"" - \ | endif + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal! g'\"" | + \ endif " don't write swapfile on most commonly used directories for NFS mounts or USB sticks autocmd BufNewFile,BufReadPre /media/*,/run/media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp " start with spec file template